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.

UCD90320: The data is longer than 32 bytes

Part Number: UCD90320

Tool/software:

Hi team,

My customer need to send a data to UCD90320 which is longer than 32 bytes.

BlockWrite, 0x11, 0xEA, 0x250000000000000000000000000000000005

But it will face the error. Questions are

1. Will this command cover the origin data?

2. How to send the command if it is longer than 32 bytes?

3. If it can, how to do it? How to separate it?

4. If it can't, please suggest a method/

Thanks,

Leo

  • Hi Leo,

    What register are you trying to write to, and what error are you seeing?

    PMBus allows for 256 bytes for block transaction, but all data must be sent in one transaction. Attempting to separate data into multiple transactions is expected to cause a NACK.

    Regards,

    Troy Johnson

  • Hi Troy,

    The i2c controller is I801.
    The controller has a 32-byte transmission limit per transaction.

    So we have some questions in following:
    1. What does the red-marked line do?
    2. Can we safely bypass this line?
    3. What risks/side effect should we expect?

    Pause,1000,"Pausing 1,000.00 ms for LOGGED_COMMON_PEAKS flash write"
    BlockWrite,0x11,0xEA,0x250000000000000000000000000000000000000000000000000000000000000000000000000005
    Pause,1000,"Pausing 1,000.00 ms for LOGGED_FAULTS flash write"
    BlockWrite,0x11,0xB5,0x1500000000000000000000000000000000000000000012

    Thanks for your reply.

  • Hi,

    From reading the red marked line, it appears to be writing to register EAh (LOGGED_FAULTS). Skipping this line means the logged faults, if there are any, will not be cleared.

    For more info on this command, you can refer to the UCD90320 PMBUS Command Reference: https://www.ti.com/lit/ug/slvuaw9c/slvuaw9c 

    Regards,

    Troy Johnson