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.

UCD3138ALLCEVM150: Power management forum

Part Number: UCD3138ALLCEVM150
Other Parts Discussed in Thread: UCD3138ACCEVM149, UCD3138


I am using UCD3138ACCEVM149 and I am using UCD3138ACCEVM150, ready to drive a LLC circuit, In the firmware of LLC, what are the meanings of the following statements?

#DEFINE   PSON ((MiscAnalogRegs.GLBIOREAD.all & (CONTROL_GLBIO_BIT_MASK | MASK_PSON)) && enable_turn_on)

  • It's a bit complicated, but there are many similar things in the code.  Let me walk you through how to figure these things out for yourself.  I found a lot by just doing a global search for PSON in the code.  

    For example:

    inline Uint8 pmbus_write_restore_default_all(void)
    /*Setting the enable_turn_on flag to 0 will force the PSON #define to
    a 0 state. This subsequently will force the power supply into the
    idle state until the restore default_all command completes.

    After enable_turn_on goes high the power supply will start up at the next
    valid PSON.*/
    enable_turn_on = 0;

    To understand more about enable_turn_on, you could do a global search on it and see where else it is modified.  

    In handle_idle_state, PSON is used with the Vin threshold to decide when to start the power supply:

    else if (PSON && ABOVE_VIN_ON_LIMIT )
    LoopMuxRegs.SAMPTRIGCTRL.bit.FE0_TRIG_DPWM0_EN = 1;

    In the other running states, it is used to decide if the power supply should be turned off:

    //Check to see if PSON is still valid. If no go to idle.

    In other PSON locations, you will see where the mask is defined and used to enable a specific GLBIO pin for sensing the PSON request, which is a signal from the host or from a switch or a jumper.  

    So basically the PSON allow an external pin state and an internal firmware state to both turn off the power supply.  Both must be high to make it go on.  

    It is also helpful to study the UCD3138 Technical Reference Manual.  I recommend scanning it for some familiarity, and then searching it for things like GLBIO when they come up in the code.