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.

UCD3138LLC FAULT3 function

Other Parts Discussed in Thread: UCD3138

UCD3138LLC FAULT3 function is enable in 64pin package type

However, in 40pin package type, how can I change this function from FAULT3 to FAULT2, or have other better solutions are suggetd?

Can I use a resistor to connect 3.3VDD - FAULT2 to disable this function but not change the firmware (this pin is always pull high).

  • And how can I disable FAULT3 function?

  • In the LLC code, it looks like Fault 3 is used for the on/off signal.  It's certainly not obvious how it gets used.  If you start in the standard interrupt, you will see this:

    else if (PSON && ABOVE_VIN_ON_LIMIT )

    PSON is defined here:

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

    the relevant element is MASK_PSON, which is this:

    #define MASK_PSON (FAULT3_GLBIO_BIT_MASK )//(1 << 29)

    So if you want to move the on/off function of Fault3 to fault 2, change the 3 to a 2 in the #define above.  You can read about the GLBIOREAD register in the UCD3138 Technical Reference Manual. and the specific bits in the datasheet for whatever device you are using.  They change a little bit from device to device.  I believe it is bit 11 for Fault 2.  

    The LLC schematic says that the Fault 2 pin is used for enabling external OVP, but I don't see any code that turns it on.  If it is getting turned on, you will need to find that code and remove it.  I suspect that it is not being enabled at all.  

  • 1. Does only #define MASK_PSON (FAULT3_GLBIO_BIT_MASK )//(1 << 29) need to be modify?

    =>#define MASK_PSON (FAULT2_GLBIO_BIT_MASK )//(1 << 29)  ?

    2. And how can I disable ON/OFF(PSON) function?

  • 1. If you want to move the function of Fault3 to Fault2, that should be all you need to do.  

    The easiest way to disable PSON entirely is to just redefine PSON to be a 1, meaning a true.  So instead of this:

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

    just put this:

    #define PSON (1)

    That's assuming that you want to eliminate all three elements of PSON - Fault 3, the PMBus control line, and the enable_turn_on variable.

    Looking at the code, the function of the enable turn on seems to be to shut the power supply off while you do a restore default all, so that shouldn't be an issue since you're probably not doing a restore default all.  

  • =>#define MASK_PSON (FAULT2_GLBIO_BIT_MASK )//(1 << 29)  ?

    =>#define MASK_PSON (FAULT2_GLBIO_BIT_MASK )//(1 << 11)  ?

  • You're highlighting the comments.  The one with 11 is correct, the on with 29 is not correct.  In the greater scheme of things, they are pretty confusing.  The code is clearer than the comment.  I'd just leave the comment out entirely.