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.

UCD3138128A: UCD3138128A PMBUS time out

Part Number: UCD3138128A

Hi,

I got the issue about PMBus time out.

As I knew , I use CLK_LOW_TIMEOUT , but the timeout is 35ms and over spec by customer.

I want to refer to low logic on GPIO , but i can not find the GPIO like  PMBUS-CLK under below table.

if i use PMBusRegs.PMBST.bit.SCL_RAW , the PMBUS will be disconnected some time. What can I do ?

 

Buff = PMBusRegs.PMBST.bit.SCL_RAW ;

 If (!Buff) mToggle_EPOW();

  • It's not a good idea to use the clk pin anyway to determine clock low timeout.  You may poll and miss the clock going high, especially if there is lots of clock stretching.

    It's better to look to see if the PMBus is busy.  What we have done in the past for different clock low specifications is as follows:

    Set up a timer in the standard interrupt which will count up until the desired timeout.

    Clear the time if the any of the following things happen in the PMBus function:

    1. The function is in idle mode and the UNIT_BUSY bit is not set.

    2. Any activity on the PMBus function - receiving bytes, data request, command received, etc. 

    This is the best way we have found to deal with this. 

    If you do get a timeout, reset the PMBus interface hardware, and set the PMBus state back to idle.