SLUUCJ0 November 2023 BQ76907
The BQ76907 integrates a programmable timer which can operate in NORMAL, SLEEP, and DEEPSLEEP modes, and supports a time setting from 250 ms to 4 seconds in 250 ms increments, and from 5 seconds up to 243 seconds in 1 second increments. When the timer expires, the 0x64 Alarm Raw Status()[TIMER_ALARM] bit is pulsed and can generate an alarm on 0x62 Alarm Status()[TIMER_ALARM] and the ALERT pin, depending on the masking set by 0x66 Alarm Enable()[TIMER_ALARM].
The timer can also be configured to automatically disable the REGOUT LDO when it is initiated, and to re-enable the LDO when the timer expires or if any alarm in 0x66 Alarm Enable() is asserted. The timer is initiated by sending the 0x0094 PROG_TIMER() subcommand, with parameters described below. The subcommand is accessible in SEALED and FULLACCESS modes.
Bits | Name | Description |
---|---|---|
15:12 | RSVD0 | Reserved, write only 0 to these bits |
11 | REGOUT_ALARM_WK |
0 (default) = Do not re-enable the REGOUT LDO if any bit in 0x62 Alarm Status() asserts while the timer is running. 1 = If [REGOUT_SD]=1 and any bit in 0x62 Alarm Status() asserts while the timer is running, re-enable the REGOUT LDO based on the setting of REGOUT Control(). |
10:9 | REGOUT_SD_DLY |
Delay before REGOUT is disabled when the timer is initiated while REGOUT is powered, and [REGOUT_SD]=1. 0x0 (default) = Zero delay 0x1 = 250-ms delay 0x2 = 1-s delay 0x3 = 4-s delay |
8 | REGOUT_SD |
0 (default) = do not disable the REGOUT LDO when command is sent. 1 = disable the REGOUT LDO when the timer is initiated, after delay of [REGOUT_SD_DLY]. When the timer expires, re-enable the REGOUT LDO based on the setting of REGOUT Control(). |
7:0 | PROG_TMR |
Timer value programmable from 250 ms to 4 seconds in 250 ms increments (settings 1 to 16), and from 5 seconds to 243 seconds in 1 second increments (settings 17 to 255). A setting of zero disables the timer. Whenever this field is written with a non-zero value, it initiates the timer. |
If the timer is running and the 0x0094 PROG_TIMER() subcommand is sent with [PROG_TMR] = 0x00, then the timer is aborted and the REGOUT LDO is re-enabled if it was initially powered and [REGOUT_SD] =1. In this case, however, 0x64 Alarm Raw Status()[TIMER_ALARM] is not pulsed, so an alarm is not generated.
Note that if [REGOUT_SD] =1, then while the timer is running the REGOUT LDO is disabled irrespective of the setting of REGOUT Control().
If the timer is active, the LFO stays powered while the device is in DEEPSLEEP mode, independent of the Settings:Configuration:Power Config[DPSLP_LFO] data memory setting.