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.

UCD3138HSFBEVM-029: Issue when adding some GPIO changes for debug in code

Part Number: UCD3138HSFBEVM-029

Hi.

I am patching the original firmware of the UCD3138HSFBEVM-029 to fit our needs.

In order to analyze the timings, I have re used the leds to put a logic analyzer on.

So I have added some "MiscAnalogRegs.GLBIOVAL.all &= ~MASK_PGOOD" and "MiscAnalogRegs.GLBIOVAL.all |= MASK_PGOOD" around the code I want to monitor.

Typically in "standard_interrupt()" and "fast_interrupt()".

It works but depending on the lines added, I very often loose the connectivity with the PM_BUS Disappointed

Is it a real issue time ?

fast_interrupt() is triggered every 20us for about 3us and lines "MiscAnalogRegs.GLBIOVAL.all &=" might add a few us. So doesn't seem critical.

standard_interrupt() is called every 100us. I changed the code to set it every 150us to let more time for executing the pmbus_handler in the main() but I still have some issues .

Thanks

  • Hello,

    Bascially, this is because the pmbus handler does not get called in time. Have you verified that the interrupt can actually be executed every 20us or 100us?  How about execution time of the background tasks? is that possible that some other tasks in background take too much time?

    Best Regards,

    Xuemei

  • Hi.

    I made some additionnal tests.

    It appears that there is an issue in the firmware UCD3138HSFBEVM-029

    On boot time, DPMS2 is not initialized. With the default value CPU spends almost all its time in FIRQ....

    With initial version, there is still enough time to execute PMBUS handler but when adding some additionnal GPIO changes, it is dead.

    I add a call to init_dpms2() in the main at boot, and FIRQ is executed every 20us at boot time 

    => it works fine.

    So you were right, it was a lack of time for PMBUS_handler.

    Thanks

    Chris