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.

UCD3138A64: unable to get UCD3138A64 into program mode

Part Number: UCD3138A64
Other Parts Discussed in Thread: , UCD3138

Dear Support,

I've got an UCD3138A64OEVM-662 eval board with UCD3138A64 and I'm trying to make it work with no success. Please, help me.

I am able to build Lab1 from the UCD3138 training projects. I have selected the build for UCD3138A64 and obtained an x0 file in the directory for this chip.

I have downloaded Fusion Digital Power Studio and there in the the Start menu, under Device GUIs, I have UCD3xxx Device GUI. In the status bar the GUI app introduces itself as "Fusion Digital Power Studio v3.0.8 [2016-08-23]".

I have the USB-to-GPIO adapter, which seems to be working well. On the eval board I have the jumper J22 put on, and after connecting everything to my laptop the "EVM PWR" LED lights on. I also have switched jumpers on J56 and J57 to connects pins 2 and 3.

With this configuration the UCD3xxx Device GUI is able to detect a device in ROM mode, showing its type, ROM version and package.

Next, I can start "Firmware Download" in Flash tab, opening the window to download the firmware, where I choose the radio button to stay in ROM mode. This produces the following log:

Timestamp    Message
2017-05-30 12:19:21    USB Adapter v1.0.10 [PEC; 400 kHz] Found (Adapter #1)
2017-05-30 12:19:21    Looking for device in ROM mode ...
2017-05-30 12:19:21    Reading Dev ID Register  ...
2017-05-30 12:19:21    ROM v1 IC v6 detected
2017-05-30 12:19:21    Ready to download firmware
2017-05-30 12:20:21    
2017-05-30 12:20:21    Firmware download options:
2017-05-30 12:20:21       File: C:\traininglabs-1.0\Training-labs\Training_labs_source_code\Lab_01\UCD3138A64\Lab_1_UCD3138A64.x0
2017-05-30 12:20:21       Download program flash: Download
2017-05-30 12:20:21       Download data flash: Download
2017-05-30 12:20:21       Send to program mode when done: False
2017-05-30 12:20:21    
2017-05-30 12:20:21    Starting download to block 0 ...
2017-05-30 12:20:21    Parsing firmware file ...
2017-05-30 12:20:21    Firmware is in Tektronix Extended format
2017-05-30 12:20:22    Mass erasing program flash block 0
2017-05-30 12:20:22    Downloading program flash ...
2017-05-30 12:20:27    Mass erasing data flash
2017-05-30 12:20:27    Downloading data flash ...
2017-05-30 12:20:28    Verifying program flash ...
2017-05-30 12:20:28    Having ROM calculate checksum for program flash 0x40000 through 0x47FF7 ...
2017-05-30 12:20:29    Program Flash checksum match between GUI calculation and Rom calculation (0x1D8BEE3F47EE)
2017-05-30 12:20:29    Verifying data flash ...
2017-05-30 12:20:29    Reading data flash ...
2017-05-30 12:20:29    Data Flash verified!
2017-05-30 12:20:30    Download completed without error; 8,5 sec elapsed
2017-05-30 12:20:30    Sending ROM execute flash command (SendByte 0xF0 to 11)
2017-05-30 12:20:30    Executing program ...
2017-05-30 12:20:32    Scanning for programs that respond to a DEVICE_ID read ...
2017-05-30 12:20:32    Looking for device in program mode ...
2017-05-30 12:20:33    No PMBus devices responded to a DEVICE_ID request
2017-05-30 12:20:33    Checking if ROM is still present ...
2017-05-30 12:20:33    Reading Dev ID Register  ...
2017-05-30 12:20:33    ROM v1 IC v6 detected

As it can be seen, there is no device that would respond to DEVICE_ID request. This can be confirmed from the UCD3xxx Device GUI by scanning for DEVICE_ID.

Please, help me with this problem. Can this be an issue with Code Composer, with the adapter, the eval, the application or the chip itselfs? My bet is that some software is guilty in this case. What else can I try to check it?

Best regards,

Adam

  • Hello Adam,

    After you click "Scan for device in ROM mode" you can click "Command ROM to execute its program".

    Amiel

  • Hi Amiel,

    yes, I did that, it had the same effect as scanning for DEVICE_ID: no devices found.

    Because the device responds being in ROM mode and allows to write its flash with verification, I assume that the device is operational.
    I also think that the problem is due to something very fundamental (in other words, a "stupid error"), but what could this be?
    Maybe there is a difference in handling PMBUS? Am I using wrong software?

    Best regards,
    Adam
  • Adam, have you connected the Fault 3 pin to ground?  There's a backdoor checksum clear and reset that will occur if Fault 3 floats high:

     //---------------------------------------------------------------------------
     // IMPORTANT: READ BELOW, OR CODE MAY NOT EXECUTE CORRECTLY
     //---------------------------------------------------------------------------
     // tie pin FAULT3 to ground for normal operation
     // tie pin FAULT3 to 3.3V to clear checksum
     if(GioRegs.FAULTIN.bit.FLT3_IN == 1)
     {
      clear_integrity_word();
     }

    I miss this sometimes myself. 

  • YES! Thanks, Ian, that was it!
    The funny thing is that actually I remember about this backdoor... but that's not enough to realize that putting this jumper on is necessary.
    Best regards,
    Adam