SLUUBD4A April 2016 – November 2022 BQ27220
The Battery Trip Point (BTP) feature provides the function to dynamically update capacity-based interrupt thresholds using the BTPDischargeSet() and BTPChargeSet() commands. Two thresholds are supported: one for crossings in the discharge direction (RemainingCapacity() < BTPDischargeSet()), and the other used for the charge direction (RemainingCapacity() > BTPChargeSet()). When a given threshold is breached in the correct current direction, the OperationStatus[BTPINT] flag will set to 1 and an interrupt triggered on GPOUT. Afterwards, writing a new threshold value to either BTPDischargeSet() or BTPChargeSet() will clear the OperationStatus[BTPINT] flag and de-assert the interrupt. The feature is enabled via the Settings:Configuration:IO Config[BTP_EN] bit and the polarity of the interrupt configured using Settings:Configuration:IO Config[BTP_POL] where setting to 1 selects active-high and clearing to 0 yields active-low assertion behavior on GPOUT. It should be further noted that the logic governing trigger of BTP interrupts is dependent on both threshold crossings AND current direction. More specifically, OperationStatus[BTPINT] is set to 1 and a BTP pin interrupt triggered when:
At power-on reset, initialization values for BTPDischargeSet() and BTPChargeSet() are sourced from Settings:BTP:Init Discharge Set and Settings:BTP:Init Charge Set, respectively.
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
---|---|---|---|---|---|---|---|---|
RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | BtpIntPol | BTpIntEn | |
Default | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0x00 |
RSVD = | Reserved |
BtpIntPol = | BTP Interrupt Polarity |
1 = | Active High |
0 = | Active Low |
BtpIntEn = | BTP Interrupt Enable |
1 = | BTP Interrupts enabled |
0 = | BTP Interrupts disabled |
Note: If BTP Interrupts is enabled, then the GPOUT pin is dedicated solely to BTP interrupts. |