SLUUCG7 April 2024 BQ76922
The BQ76922 device integrates short circuit in discharge protection (SCD) using a dedicated comparator that monitors the differential voltage across the SRN - SRP pins and triggers an SCD alert or fault when the voltage exceeds a programmable threshold VSCD. The VSCD threshold is programmable as 10mV, 20mV, 40 mV, 60mV, 80mV, 100mV, 125mV, 150mV, 175mV, 200mV, 250mV, 300mV, 350mV, 400mV, 450mV, and 500mV, and is set by the Protections:SCD:Threshold configuration register. The SCD protection is enabled using the Settings:Protection:Enabled Protections A:[SCD] configuration bit.
The SCD circuitry triggers an alert signal when a short circuit event is first detected, then will trigger a fault after a programmable detection delay, SCD_DLY, which can be set to fastest, or 15µs to 450µs in steps of 15µs. The fastest setting can result in detection of a short circuit with only comparator delay, which may be < 1µs depending on the overdrive of the threshold. The delay is set by the Protections:SCD:Delay configuration register.
When an SCD fault is triggered, the device will turn off the DSG FET if configured for autonomous FET control in Settings:Protection:DSG FET Protections A. The CHG FET may also be disabled autonomously based on setting in Settings:Protection:CHG FET Protections A. The device will recover (if configured for autonomous recovery) after a programmable delay given by Protections:SCD:Recovery Time.
The BQ76922 device also includes a Short Circuit in Discharge Latch (SCDL) protection, which can create a fault and Permanent Fail (PF) if multiple SCD failures occur within a programmable time window. Whenever an SCD fault is triggered, the SCDL latch counter is incremented. After the device recovers, it will decrement the SCDL counter after a programmable time of Protections:SCDL:Counter Dec Delay if no further SCD faults are detected. If the SCDL counter reaches a programmable latch limit given by Protections:SCDL:Latch Limit, it will trigger an SCDL fault and can also trigger an SCDL PF.
The SCDL protection is enabled using the Settings:Protection:Enabled Protections C:[SCDL] configuration bit. If the SCDL protection fault is triggered, the device will begin recovery if the load detect feature (see Section 5.2.18) is enabled and detects the load is removed, or if charging current is detected, or after a programmable time, or the host sends a 0x009C SCDL_RECOVER() subcommand. In order to recover based on charging current, the Settings:Protection:Protection Configuration[SCDL_CURR_RECOV] must be set, the device must be in series FET configuration, and the CHG FET must be enabled. The device will begin recovery from SCDL if a current is detected greater than or equal to Protections:SCDL:Recovery Threshold for Protections:SCDL:Recovery Time duration. If recovery is preferred based only on time, then the recovery based on charging current can be used, with the current threshold set to a small discharge current. Note that "beginning recovery" means the SCDL counter will begin decrementing every Protections:SCDL:Counter Dec Delay interval if no new SCD faults occur.
Short Circuit in Discharge Protection Operation provides further details.
Status | Condition | Action |
---|---|---|
Normal | VSRN – VSRP ≤ setting selected by Protections:SCD:Threshold | Safety Alert A()[SCD] = 0 PF Alert B()[SCDL] = 0 if SCDL counter = 0 PF Alert B()[SCDL] = 1 if SCDL counter > 0 Decrement SCDL counter by one after each Protections:SCDL:Counter Dec Delay period if SCDL counter > 0 |
Alert | VSRN – VSRP > setting selected by Protections:SCD:Threshold | Safety Alert A()[SCD] = 1 |
Trip | VSRN – VSRP > setting selected by Protections:SCD:Threshold for Protections:SCD:Delay duration |
Safety Alert A()[SCD] = 0 Safety Status A()[SCD] = 1 Alarm Raw Status()[XDSG] = 1 if autonomous FET control is enabled Alarm Raw Status()[XCHG] = 1 depending on setting Increment SCDL counter |
Recovery | Safety Status A()[SCD] = 1 and VSRN – VSRP ≤ setting selected by Protections:SCD:Threshold for Protections:SCD:Recovery Time duration |
Safety Status A()[SCD] = 0 Alarm Raw Status()[XDSG] = 0 if autonomous FET control is enabled Alarm Raw Status()[XCHG] = 0 depending on setting |
Latch Alert | SCDL counter > 0 | Safety Alert C()[SCDL] = 1 PF Alert B()[SCDL] = 1 |
Latch Trip | SCDL counter ≥ Protections:SCDL:Latch Limit | Safety Status C()[SCDL] = 1 PF Status B()[SCDL] = 1 PF Alert B()[SCDL] = 0 Safety Alert C()[SCDL] = 0 Alarm Raw Status()[XDSG] = 1 if autonomous FET control is enabled Alarm Raw Status()[XCHG] = 1 depending on setting |
Latch Reset (based on Load Detect) | Safety Status C()[SCDL] = 1 and load is detected removed using the Load Detect function | Decrement SCDL counter by one after each Protections:SCDL:Counter Dec Delay period if SCDL counter > 0 Safety Status C()[SCDL] = 0 if SCDL counter < Protections:SCDL:Latch Limit Alarm Raw Status()[XDSG] = 0 and Alarm Raw Status()[XCHG] = 0 if Safety Status A()[SCD] = 0 and autonomous FET control is enabled |
Latch Reset (based on charging current and time) | Safety Status C()[SCDL] = 1 and CC1 Current ≥ Protections:SCDL:Recovery Threshold for Protections:SCDL:Recovery Time duration, if Settings:Protection:Protection Configuration[SCDL_CURR_RECOV] = 1 | Decrement SCDL counter by one after each Protections:SCDL:Counter Dec Delay period if SCDL counter > 0 Safety Status C()[SCDL] = 0 if SCDL counter < Protections:SCDL:Latch Limit Alarm Raw Status()[XDSG] = 0 and Alarm Raw Status()[XCHG] = 0 if Safety Status A()[SCD] = 0 and autonomous FET control is enabled |
Latch Reset (host-command) | Safety Status C()[SCDL] = 1 and host sends 0x009C SCDL_RECOVER() | Decrement SCDL counter by one after each Protections:SCDL:Counter Dec Delay period if SCDL counter > 0 Safety Status C()[SCDL] = 0 if SCDL counter < Protections:SCDL:Latch Limit Alarm Raw Status()[XDSG] = 0 and Alarm Raw Status()[XCHG] = 0 if Safety Status A()[SCD] = 0 and autonomous FET control is enabled |