SLUUBY1B December 2020 – April 2022 BQ76942
The protection FETs can be controlled in several different ways, depending on system requirements. If FETs will not be used in the system or driven from the device, the Settings:FET:FET Options[FET_CTRL_EN] bit can be cleared, and the charge pump disabled by clearing the Settings:FET:Chg Pump Control[CPEN] bit.
The device includes a FET Test mode for use during manufacturing, in which the device will not enable the FETs unless FET Test subcommands are sent. The device may still enable FETs based on body diode protection in this mode. The device is put into FET Test mode by clearing Settings:Manufacturing:Mfg Status Init[FET_EN]. The 0x0022 FET_ENABLE() subcommand can be used to toggle the [FET_EN] bit setting. The FET Test subcommands are shown below.
Subcommand | Description |
---|---|
0x001C PDSGTEST() | Only functional in FET Test mode, toggles PDSG FET state |
0x001E PCHGTEST() | Only functional in FET Test mode, toggles PCHG FET state |
0x001F CHGTEST() | Only functional in FET Test mode, toggles CHG FET state |
0x0020 DSGTEST() | Only functional in FET Test mode, toggles DSG FET state |
In normal operation, the FETs can be controlled autonomously by the device or manually using FET Control subcommands from the host. The Settings:FET:FET Options[FET_CTRL_EN] must be set for the device to enable the FETs at all. When this is set, the device will generally enable the FETs if there is nothing present which would block them, such as a protection fault or control from the host. Even if the host plans to control the FETs manually, the device may still change FET states based on the device settings, such as if body diode protection is enabled. If the intent is for the device to monitor and provide an interrupt or flag for a protection event, but the device is not to autonomously disable a FET in response to it, the appropriate configuration bit in Settings:Protection:CHG FET Protections A – C and Settings:Protection:DSG FET Protections A – C can be cleared. In this case, the host can monitor the interrupt or flags and decide whether to manually disable the FET.
For the CHG FET turnoff action to occur immediately when a fault is detected, the value of Settings:Protection:CHG FET Protections A should only be set to 0x18 or 0x98. Setting it to other values can cause FET turnoff action to be delayed by up to 250 ms in NORMAL mode or 1 second in SLEEP mode.
For the DSG FET turnoff action to occur immediately when a fault is detected, the value of Settings:Protection:DSG FET Protections A should only be set to 0x80 or 0xE4. Setting it to other values can cause FET turnoff action to be delayed by up to 250 ms in NORMAL mode or 1 second in SLEEP mode.
During normal operation, the host can disable the FETs by asserting the CFETOFF or DFETOFF pins or by sending FET Control subcommands (Table 5-8). When the FET Control subcommands are used to disable a FET, a signal is latched which blocks the FET from being enabled. In order to allow the FET to be re-enabled, it is first necessary to clear any signal blocking it. This can be accomplished by sending the appropriate FET Control subcommand (such as 0x0096 ALL_FETS_ON()) to release a block created by an earlier subcommand. It is also necessary to ensure the CFETOFF or DFETOFF pins are deasserted. The FETs can only be enabled if nothing exists to block them (such as the latched FET Control subcommand signal, or the CFETOFF or DFETOFF signal asserted, or a separate enabled safety fault present).
The FET control subcommands for use during normal operation are shown below.
Subcommand | Description |
---|---|
0x0093 DSG_PDSG_OFF() | Causes the DSG and PDSG FETs to be disabled. This subcommand should not be used if the DDSG pin is being used in DDSG mode. |
0x0094 CHG_PCHG_OFF() | Causes the CHG and PCHG FETs to be disabled. This subcommand should not be used if the DCHG pin is being used in DCHG mode. |
0x0095 ALL_FETS_OFF() | Causes the DSG, PDSG, CHG, and PCHG FETs to be disabled. |
0x0096 ALL_FETS_ON() | Allows all FETs to be enabled if nothing else is blocking them |
0x0097 FET_CONTROL() | An 8-bit field is sent with bits 3:0 matching those in 0x7F FET Status(). When a bit is set using this subcommand, the corresponding FET is blocked from being enabled. This subcommand should not be used if the DDSG or DCHG pins are being used in DDSG or DCHG mode. |
For security purposes, the device can be set to either allow or ignore the host FET Control commands while in SEALED mode using Settings:FET:FET Options[HOST_FET_EN].
The present status of the FET drivers is provided in 0x0057 Manufacturing Status() subcommand, which includes the status bits described below.
Bit | Name | Description |
---|---|---|
7 | OTPW_EN | The OTP is not blocked from being written. |
6 | PF_EN | Permanent Fails are enabled. |
5 | PDSG_TEST | PDSG FET is enabled in FET Test mode. |
4 | FET_EN | FETs are enabled for device operation, otherwise the device is in FET Test mode. |
3 | RSVD | Reserved |
2 | DSG_TEST | DSG FET is enabled in FET Test mode. |
1 | CHG_TEST | CHG FET is enabled in FET Test mode. |
0 | PCHG_TEST | PCHG FET is enabled in FET Test mode. |