SPMU383 April 2026 BQ27Z846
The device has two independent overcurrent in discharge protections that can be set to current and delay thresholds to accommodate different load behaviors. Additionally, this protection feature can be enabled to create a PF by setting the [OCDL] bit in Enabled PF C register.
| Status | Condition | Action |
|---|---|---|
| Normal | Current() > OCD1:Threshold | SafetyAlert()[OCD1] = 0 SafetyAlert()[OCDL] = 0 PFAlert()[SOCDL] = 0 Decrement OCDL1 counter by one after each OCD:Counter Dec Delay period, if OCDL1 counter > 0 |
| Normal | Current() > OCD2:Threshold | SafetyAlert()[OCD2] = 0 SafetyAlert()[OCDL] = 0 PFAlert()[SOCDL] = 0 Decrement OCDL2 counter by one after each OCD:Counter Dec Delay period if OCDL2 counter > 0 |
| Alert | Current() ≤ OCD1:Threshold | SafetyAlert()[OCD1] = 1 BatteryStatus()[TDA] = 1 |
| Alert | Current() ≤ OCD2:Threshold | SafetyAlert()[OCD2] = 1 BatteryStatus()[TDA] = 1 |
| Trip | Current() ≤ OCD1:Threshold for OCD1:Delay duration | SafetyAlert()[OCD1] = 0 SafetyStatus()[OCD1] = 1 BatteryStatus()[TDA] = 0 OperationStatus()[XDSG] = 1 Increment OCDL1 counter |
| Trip | Current() ≤ OCD2:Threshold for OCD2:Delay duration | SafetyAlert()[OCD2] = 0 SafetyStatus()[OCD2] = 1 BatteryStatus()[TDA] = 0 OperationStatus()[XDSG] = 1 Increment OCDL2 counter |
| Recovery | SafetyStatus()[OCD1] = 1 AND Current() ≥ OCD:Recovery Threshold for OCD:Recovery Delay time | SafetyStatus()[OCD1] = 0 BatteryStatus()[TDA] = 0 OperationStatus()[XDSG] = 0 |
| Recovery | SafetyStatus()[OCD2] = 1 AND Current() ≥ OCD:Recovery Threshold for OCD:Recovery Delay time | SafetyStatus()[OCD2] = 0 BatteryStatus()[TDA] = 0 OperationStatus()[XDSG] = 0 |
| Latch Alert | OCDL counter > 0 | SafetyAlert()[OCDL] = 1 if SafetyEnable[OCDL] is set. PFAlert()[SOCDL] = 1 if PFEnable()[AOCDL] is set. |
| Latch Trip | OCDL counter ≥ OCD:Latch limit | SafetyStatus()[OCDL] = 1 if SafetyEnable[OCDL] is set. PFStatus()[SOCDL] = 1 if PFEnable()[SCOV] is set. SafetyAlert()[OCDL] = PFAlert()[SOCDL] = 0 |
| Latch Reset | SafetyStatus()[OCDL] = 1 for OCD:Reset time | SafetyStatus()[OCDL] = 0 Reset OCDL counter. OperationStatus[XDSG] = 0 if SafetyStatus()[OCD1] = 0 and SafetyStatus()[OCD2] = 0 |