In our BMS, we have connected fault pin of MC33771C with microcontroller as shown in the snippet of schematic attached.
The FAULT pin is always active, even when the faults are masked using FAULT_MASKx registers and the fault registers are cleared.
I've also attached screenshot of Logic Analyzer capture.
0x1FFF270202FB message is a write register for FAULT_MASK1 register. We're masking all the faults in all FAULT_MASKx registers.
0x0040A40261CA message is a read response for FAULT1_STATUS register and from the data we can see I2C_ERR_FLT is set. But that bit has been masked already. In FAULT2_STATUS and FAULT3_STATUS no bits are set.
We need support in knowing what could be the reason for the FAULT pin being active always even when the faults are masked.
Because of this, we are not able to put the AFE into sleep and use fault pin(for OV/UV/OT/UT faults) to wake the pack controller MCU.
Due to a POR, or a com time out reset, the device, in INIT mode will keep the fault pin activated
- until it switches in IDLE mode after 60s
- or until the SW enumerates it and disables the FAULT pin with the following instructions:
Mask all fault events:
FAULT_MASK1, FAULT_MASK2 and FAULT_MASK3 filled with 0xFFFF
and clear all faults:
FAULT1_STATUS, FAULT2_STATUS and FAULT3_STATUS filled with 0x0000
@ErikaC I2C_ERR_FLT bit in FAULT1_STATUS register is set always even after clearing and masking the faults using FAULT_MASKx register and WAKEUP_MASKx register. All cell voltages and temperatures are within range. Still Fault pin remains high.
There are many reasons why the fault pin is active, most of them are overvoltage or overtemperature, please confirm if you have checked this. I will forward your question to our specialist to confirm what could be the reason why the fault pin is always active even if the faults are masked.
They told me that you have to check the SW configuration if you correctly clear all fault registers, set the correct fault masks.
Have you tried with other MC33771C, I mean to rule out a functional fault.