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: About GUI fusing issue

Part Number: UCD3138A

Dear TI,

I have a problen about GUI, as datesheet said "The GUI scans addresses 1 through 127 for an attached device. It does this by reading a special
manufacturer command, DEVICE_ID, on each address"

When I connect 3 pcs UCD3138A(they already download FW and have different addresses) through PMBUS, they share one port , connecting  a USB to I2C on PC to  running the Fusion GUI Adapter,

Q1, I want to update FW for this 3 pcs, How GUI can distinguish their addresses and update FW respectively?

 

Q2,  If the 3 pcs UCD3138A have not download FW, they stay in ROM having  address 11, Can GUI download a FW to 3 pcs at the same time? 

 

Best wishes

LEI

  •  Hello LEI,

    A1, The standard bootloader is in ROM, so even when you already have a FW downloaded, you still need to use ROM for firmware download.

    Therefore even when Flash FW is running, we need to first send a command (Usually command code 0xD9) to hand the control to ROM and only then send other commands for the download itself. If you follow the recommendation not to use address 11 when you are in Flash mode, you can send the command 0xD9 only to one device at a time. Then download firmware to that device only. And only after you finished downloading to that device and put is back to Flash mode (Usually command code 0xF0), you can do the same with your other two device, one at a time.

    A2, You can not download the firmware to 3 pcs that are connected on the same I2C bus. If all 3 in ROM and no firmware downloaded, the only way to reliably download firmware will be to disconnect power to 2 out of 3 devices, and program the 3rd one.

    If this does not meet your requirements. You may consider using a Flash bootloader program that has the ability to set a different PMBus address to each device.

    Please let us know if you have any other questions.

    Regards,

  • Hi Mr.Bolurian,

    So, using GUI to update FW, I should download one chip at a time, and each chip should have it's own port,  3 pcs UCD3138A could not  share one port ?

    If they share one port, 3 pcs has already download FW, Using one GUI on PC  can't identify them at same time?

    As you said when download firmware to one device only. I should disconnect other 2 pcs PMBUS line? after update FW and put it back to FLASH mode for NO.1 pcs, Iconnect NO.2 pcs. the 2 pcs conected

    together on the PMBUS line, When I click Firmware download button, both 2 pcs go back to RAM ? right?  so GUI  can't  update FW for  NO.2 pcs ? Unless they are not Shared PMBUS ?

    Best Wishes

    LEI

  • One USB port can be used to program many (100+) UCD3138As.

    As you know I2C or PMBus is a multi-drop communication bus with each device having it's own address.
    The issueis that when in ROM mode, all UCD3138As are having the same address(11 decimal).
    Therefore if all connected to the same bus, you will not be able to communicate with all of those reliably.

    But even in ROM mode, no need to disconnect the rest of the devices from the bus lines. It is enough to just power up one unit at a time.
    The rest that are not powered up, but still connected will not participate in communication and therefore will not interfere.

    Please also note, the standard GUI is not the only tool that we can provide you with.


    We have a manufacturing tools to support  firmware download and much more:

    www.ti.com/.../slua654.pdf

    www.ti.com/.../fusion-production-gui


    We also have ways to communicate with more than one USB adapter at a time and have different address for each adaptor.

    Please let me know what do you exactly need and what are the requirements, so I can direct you better.

    Regards,

  • Hi Mr. Bolurian,

    We did some test useing the GUI. Test codition: Connected two chips on the same PMBUS line to GUI.

    Test result under two situation;

    1. Both chips run in FLASH mode, one address is 0x20, another is ox21.The GUI can recognized them by poping a select device window. click different address to successfully update FW for each chip.

    2. One chip run in FLASH mode, address is 0x20, the secind one stay in ROM (I think the address is ox11).but the GUI can recognized the address 0x20, and update FW successfully for this chip.

    When upadt FW, the chip go back to ROM, the address change to 0x11,is same with the second chip, according to you said.no firmware downloaded on the same bus if 2 chips in ROM.

    so I can not understand why the GUI can update FW for the first chip?

     

    Best Wishe 

  • Well, you are right.
    It works in a noise free system most of the time, but will not be always reliable.

    For example imagine that the PEC (Packet Error Checking) will not match on one of the two device (due to any noise or interference); when the second device received the message just fine.
    The second device will ACK the message, when the first tries to NACK the message in order to signal to the master that it did not receive the message properly.
    Since one device ACKed, the master will not notice the NACK (ACK wins) and will not re-transmit the same command once again for the first device. Therefore the first device will not have the same Flash content and the firmware download will fail.

  • Thankyou very much!