This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UCD3138A: Operating sequence during the program flash update

Part Number: UCD3138A
Other Parts Discussed in Thread: UCD3138

Hello Team,

Could you let me know the UCD3138A operating sequence during program flash update - how DPWM would operate?

Customer switches mode from Program mode to ROM mode using backdoor and download a new F/W while UCD3138A is under its normal operation. And during the test, they found the FETs were dead (they implement buck with push-pull). They suspect that there appears DPWM overlaps during F/W update. Per I know, DPWM operation would halt when the mode switches from Program to ROM mode. Could you please let me know the exact operating sequence during software reset & F/W update?

<sniu028d>

Thanks,

  • Hi, Ella,

    When UCD3138 is switched by Program mode to ROM mode, the sequence to turn off DPWMs is controlled by the firmware. For example, in the firmware, Push-Pull can be turned off first, then buck is turned off. I guess the problem is caused the operation two power stages are turned off simultaneously.

    Thanks,
    Sean

  • Hi Sean,

    Thank you for your fast comment.

    1. The DPWM turn-off sequence depends on the F/W which is coded by customer. Is my understanding correct?

    2.Then I believe I could also find the this turn-off sequence code somewhere in the UCD3138AEVM code examples. Could you advise in which source code they would be?

    Customer is going to proceed the further test tomorrow with register setting as below, to turn off UCD (DPWM) before the mode switch. 

    MiscAnalogRegs.GLBIOEN.all |= 0xFF; // Enable UCD Fault
    
    Address: FFF7F018 -> 0xFF
    LoopMuxRegs.GLBEN.all &= 0xFFF0; // Reconfirm by disable all DPWMs
    
    Address: 00020050 -> 0xFFF0
    
    

    But I believe : 

    3. The registers (FFF7F018 and 00020050) cannot be accessed thru PMBus (in other words, in Program mode)

    4. It does not seem that turning off UCD is a fundamental solution. From your comment, turning off all DPWMs (both for Buck and Push-pull) may cause the issue. Could you please advise the right turn-off sequence so that customer can try modify their code? I cannot come up how turning off buck and push-pull at the same time can cause the stress on FET to the level of damage. (To be specific, both primary and secondary FETs of Push-pull were damaged.)

    Thank you for your help again.

  • Hi, Ella,

    I copied the code here.. 0xD9 is executed to clear the checksum, then  go to ROM from program mode. All DPWMs are turned off at the same time by GLBIOEN = 0xFF  before going back to ROM. In your case, you can change the sequence to turn off DPWMs.

    int pmbus_write_rom_mode(void)
    {
    MiscAnalogRegs.GLBIOEN.all |= 0xFF; // set all outputs to 0, including PWMs
    clear_integrity_word(); // Call a SWI to clear the integrity word.
    watchdog_reset();
    return 0; // Note: This line is never reached.
    }

    Regards,
    Sean

  • Hi, Ella,

    I think the first three questions are related, an it was answered in previous reply.

    Regarding to the last one, I am not sure which way works better.  In other scenarios,  what is normal sequence to turn off  both converters? Your customer can use the same way to turn off them.

    Regards,
    Sean

  • Many thanks Sean for your quick help!

    I provide customer with the code for DPWM turn-off at the same time. I haven't heard back from customer yet.