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.

TMS320F280025C: PMBus_getStatus() not update module state after first execute

Part Number: TMS320F280025C

Tool/software:

Hi, Experts:

I'm using PMBus communication stack library, I found that when master first call the slave address, the PMBus will fail to communication and go into ASSERT function.

And than after second call, the function will work correctlly (maybe because the PMBus timeout recovery?)

Digging in the pmbus ISR, I found when the firat call, the PMBusStackObject_setModuleStatus() function can not update the status correctly, and cause moduleStatus state machine error than go into error handler.

The ASSERT hs happened in file ID. 3 (pmbus_stack_handler_target_idle.c), line 485.

The following picture shows the breakpoint apply on my code, and shows the function is not updating the status of register view.

Here is the waveform of above code executed, including SDA, SCL and GPIO5. When GPIO5 is on, it means it is executing PMBusStackObject_setModuleStatus().

The first call is always failed.

Is there any workaroung or explanation?

Thanks!