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.

UCD90120A: Configuration: During which writes must the rails be disabled?

Part Number: UCD90120A

In the Fusion GUI software, under Device, Export, tab "PMBus", I can export a script of write (and other) commands to write the configuration.

I wrote a parser to process that script.
In the exported csv script, the first 3 writes disable all rails.
Also I noticed that, even if I comment them out, the command F6h SEQ_CONFIG also has the effect that the selected rail shuts down.

I have a very small MCU in my system which can directly talk to the UCD via I2C, and which is not depentant on any rail controlled by the UCD.
The MCU cannot buffer all the bytes that need to be written for a complete configuration of the UCD.
A bigger CPU has no access to the I2C bus of the UCD, but can talk to the MCU.
I was thinking of buffering parts of what needs to  be written - namely only those commands which really require the rails to be off (or force the rails to be off, llike SEQ_CONFIG apparently does).
So I could configure most of the UCD from the running CPU (tunneling via MCU), and then, at the end, I buffer those "delicate" commands in the MCU, and when it writes them, the CPU system reboots because  it shuts down the rails and reactivates them, but all is good in the end.

Would that work that way?
Which of the parts of the config sequence work without rails being / needing to be disabled?

Edit: I found the mention of the rails being deasserted by the F6h command in the reference in a note, and have not seen this anywhere else.
I am still wondering whether the order of how things are done in the PMBus write script exported by Fusion is important in some parts, or I can reorder things at will, such that I will put the rail-deactivating commands at the very end of  things, instead of relatively close to the beginning of the file. And I haven't seen anything yet about whether this shutting off of all rails at the very beginning of the exported script is necessary for any of the commands.


  • Hi Steve 

    We will reply to you next Monday.

    Thanks

    Qian

  • Hello

    Instead of using pmbus write script, please use data flash script file.

    The pmbus write script file modified the operation memory on the fly which may cause IO under undesired state

    Data flash script file accesses flash directly therefore IOS are always under controlled state

    Regards

    Yihe

  • But how is this flash script written into flash?
    I see no indication so far in the command reference for this to work via I2C?
    The only command that writes flash seems to be STORE_DEFAULT_ALL.

  • I have found a document 8524 called "Configuration Programming of UCD Devices".

    There is the section "6.4.2 Microcontroller Writes Data Flash"
    It mentions that the direct-to-fllash method works only for certain UCD devices, not for my 90120A, while retaining normal function during update. The 90120A is among those which need to be in "ROM mode" for that, and the document explicitly mentions that that mode is not suited for configuring the device from a controller which is powered by one of the rails. (I could still use the "buffer the few 'nasty' commands in the microcontroller on another rail)

    The doc also has a section "6.4.4 Microcontroller Writes Partial Configuration via PMBus".
    I guess that's what I need to do. And omit all the rail-disabling and SEQ_CONFIG (unlikely to be needed in the field) commands, as well as all those which do not differ from a previous PMBus script export to the current one.
    That section explicitly says that TI (Fusion) does not provide a means to produce a PMBus script which only has the necessary parts to update.
    I guess I'll write a script for that then.

  • Hi

    direct to flash method works for UCD90120a and it is the preferred way to program the device.

    We do not recommend using pmbus write script as mentioned in the data sheet.

    Regards

    Yihe

  • Ah! Thanks. That little, innocuous "a" at the end makes all the difference ;)