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.

TPS53667: Cannot write VOUT_COMMAND register

Part Number: TPS53667

Our customer cannot write VOUT_COMMAND register.
Their VBOOT setting is 0x5F. After start up, output voltage is 0.72V. This is expected operation.

When they write 0x51 to VOUT_COMMAND register for changing output voltage to 0.65V, the register value is not changed. It is kept 0x5F.

WRITE_PROTECT register value is 0x00.

Is there any cause that we cannot change VOUT_COMMAND register value?

As the same, they cannot write VOUT_MAX register. However it seems like that there is some register which they can write.
We are confirming the register which they can write.

Best Regards,
Kohei Sasaki

 

  • Hi Kohei,

    Is the issue only with the VOUT_COMMAND register or are there other problems with the PMBus lines? I just want to make sure the layout or schematic isn't the issue here.

    Also, are they using the Fusion GUI or their own system controller? If it's the GUI I would recommend updating to the latest version if they haven't already as there are usually a good number of bug fixes in each revision. That would obviously be the easiest fix to this issue.

    Thanks,

    Carmen

     

  • Carmen-san,

    They are using their host controller for PMBus communication, so they have not used FUSION GUI.
    At additionally examination, we found the COM_FAIL bit is set 1 by writing to VOUT_COMMAND.

    Do you have any idea about this cause?
    I asked them to take communication waveform.
    Is the any special communication protocol required for writing to VOUT_COMMAND?
    For example, Write Byte protocol is ignored, it must be Write Word protocol on datasheet P.45 etc...


    Best Regards,
    Kohei Sasaki
  • Hi Kohei,

    While we wait for the waveforms and schematics to look over there are a few things they can do to help narrow down what's happening and find root cause.

    1) Double check the VOUT_MAX register settings. If VOUT is > VOUT_MAX the command won't work and the output voltage register won't change.

    2) Disconnect the PMBus lines from the controller and patch the USB to GPIO cable for the GUI. If the GUI without issue then the problem is with either the controller code or PMBus lines.

    Thanks,

    Carmen
  • Carmrn-san,

    Our customer could changed VOUT_COMMAND register value.
    They had done Write Byte protocol. They could change by Write Word protocol.

    So I would like to ask you about communication protocol.
    Must it be used Write Word protocol for communication to W/R Word type register? Is Write Byte access ignored?

    Best Regards,
    Kohei Sasaki 

  • Hey Kohei,

    Glad to hear they found the problem!

    To answer your question about the protocol, yes, Write_Word must be used for Word Registers. Sending too few bytes in a transaction will cause the controller to ignore the data it receives. 

    Things would get especially messed up if the customer was sending Write_Byte instead of Write_Word and using the PEC options. In that case the controller would interpret the PEC byte as the second data byte and try to load incorrect settings. In some cases the wrong data could be thrown out but not always. The correct Word/Byte command should always be used.

    Thanks,

    Carmen