ZHCU946 March 2022 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , LP8764-Q1 , TDA4VM , TDA4VM-Q1 , TPS6594-Q1
如Topic Link Label6.3.6 所示,MCU 已断电,因此必须在进入保持状态前配置从保持状态到仅 MCU 或运行状态的转换。与仅 MCU 状态类似,必须为两个 PMIC 设置 I2C_7 触发条件。此外,在进入保持状态前,必须设置 LP876411B4 GPIO2 (H_DDR_RET_1V1)。本例中使用 TPS65941213 上的 GPIO4 将器件从保持状态唤醒并进入运行状态。
Write 0x48:0x85:0x80:0x7F // I2C_7 is high
Write 0x4C:0x85:0x80:0x7F
Write 0x48:0x34:0xC0;0x3F // Set GPIO4 to WKUP1 (goes to ACTIVE state)
Write 0x48:0x64:0x08:0xF7 // clear interrupt of gpio4, write to clear
Write 0x48:0x4F:0x00:0xF7 // unmask interrupt for GPIO4 falling edge
Write 0x4C:0x3D:0x02:0xFD // set PMICB:GPIO2, H_DDR_RET_1V1
Write 0x48:0x86:0x00:0xFC // trigger the TO_RETENTION power sequence
After the GPIO4 has gone low and the PMICs have returned to the ACTIVE state
Write 0x48:0x86:0x03:0xFC // Set NSLEEPx bits for ACTIVE state
Write 0x48:0x64:0x08:0xF7 // clear interrupt of gpio4
Write 0x4C:0x3D:0x00:0xFD // clear PMICB:GPIO2, DDR_RET
本例中使用 TPS65941213 RTC 计时器将器件从保持状态唤醒并进入运行状态。
Write 0x48:0x85:0x80:0x7F // I2C_7 is high
Write 0x4C:0x85:0x80:0x7F
Write 0x48:0xC3:0x01;0xFE // Enable Crystal
Write 0x48:0xC5:0x05:0xF8 // minute timer, enable TIMER interrupts
Write 0x48:0xC2:0x01:0xFE // start timer, if the timer values are non-zero clear before starting
Write 0x4C:0x3D:0x02:0xFD // set PMICB:GPIO2, H_DDR_RET_1V1
Write 0x48:0x86:0x00:0xFC // trigger the TO_RETENTION power sequence
After the RTC Timer interrupt has occurred and the PMICs have returned to the ACTIVE state
Write 0x48:0x86:0x03:0xFC // Set NSLEEPx bits for ACTIVE state
Write 0x48:0xC5:0x00:0xFB // disable timer interrupt, clear bit 2
Write 0x48:0xC4:0x00:0xDF // clear timer interrupt, clear bit 5
Write 0x4C:0x3D:0x00:0xFD // clear PMICB:GPIO2, DDR_RET