唤醒源及唤醒原因
唤醒源
在不同低功耗模式下,可用于唤醒系统的唤醒源如下表所示:
唤醒源 |
Sleep CG |
Sleep PG |
Deep-Sleep |
限制 |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
仅 KM0 可通过 IPC 唤醒 KM4 |
Basic Timer4~7 |
√ |
√ |
X |
|
PMC Timer |
√ |
√ |
X |
仅内部使用 |
UART0~2 |
√ |
√ |
X |
当使用 UART 作为唤醒源时:
|
LOGUART |
√ |
√ |
X |
当使用 LOGUART 作为唤醒源时:
|
GPIO |
√ |
√ |
X |
|
I2C |
√ |
√ |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
SDIO |
√ |
√ |
X |
|
Key-Scan |
√ |
√ |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
在不同低功耗模式下,可用于唤醒系统的唤醒源如下表所示:
唤醒源 |
Sleep CG |
Sleep PG |
Deep-Sleep |
限制 |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
在不同低功耗模式下,可用于唤醒系统的唤醒源如下表所示:
唤醒源 |
Sleep CG |
Sleep PG |
Deep-Sleep |
限制 |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
在不同低功耗模式下,可用于唤醒系统的唤醒源如下表所示:
唤醒源 |
Sleep CG |
Sleep PG |
Deep-Sleep |
限制 |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
在不同低功耗模式下,可用于唤醒系统的唤醒源如下表所示:
唤醒源 |
Sleep CG |
Sleep PG |
Deep-Sleep |
限制 |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
在不同低功耗模式下,可用于唤醒系统的唤醒源如下表所示:
唤醒源 |
Sleep CG |
Sleep PG |
Deep-Sleep |
限制 |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
UART |
√ |
√ |
X |
当使用 UART 作为唤醒源时:
|
IPC |
√ |
√ |
X |
IPC 只能唤醒 CA32 和 KM4,不能唤醒 KM0 |
USB |
√ |
X |
X |
|
SPI |
√ |
X |
X |
当使用 SPI 作为唤醒源,禁止关闭 SOC 域的时钟和电源 |
VAD |
√ |
√ |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
RTC |
√ |
√ |
√ |
|
GPIO |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
当使用 LOGUART 作为唤醒源时:
|
Basic Timer |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
AON_TIMER |
√ |
√ |
√ |
SYSON 电源管理控制器(SYSON PMC)用于控制 LP 的时钟和电源,之后 LP 控制 NP 和 AP 的时钟和电源。
当系统进入睡眠时,CPU 可以选择进入 CG 或 PG 模式,此时 SYSON PMC 保持全功能运行,当有唤醒源触发时负责唤醒 LP。
唤醒原因 API
备注
唤醒时,相应的外设中断会被触发;清除中断时,唤醒原因中的对应位也会被清除。因此,在中断被清除之后,将无法获得唤醒原因。
SOCPS_AONWakeReason
项目 |
描述 |
|---|---|
功能 |
获取从深睡眠唤醒的原因 |
参数 |
无 |
返回值 |
|
WAK_STATUS0
以下寄存器可用于获取唤醒原因。
寄存器 |
参数 |
|---|---|
WAK_STATUS0 |
|
SOCPS_AONWakeReason
项目 |
描述 |
|---|---|
简介 |
获取深度睡眠唤醒原因 |
参数 |
无 |
返回值 |
Bit[0]: CHIP_EN 短按 Bit[1]: CHIP_EN 长按 Bit[2]: BOR Bit[3]: AON 定时器 Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
如下寄存器可用于获取唤醒原因。
寄存器 |
参数 |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
项目 |
描述 |
|---|---|
简介 |
获取深度睡眠唤醒原因 |
参数 |
无 |
返回值 |
Bit[0]: CHIP_EN 短按 Bit[1]: CHIP_EN 长按 Bit[2]: BOR Bit[3]: AON 定时器 Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
如下寄存器可用于获取唤醒原因。
寄存器 |
参数 |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
项目 |
描述 |
|---|---|
简介 |
获取深度睡眠唤醒原因 |
参数 |
无 |
返回值 |
Bit[0]: CHIP_EN 短按 Bit[1]: CHIP_EN 长按 Bit[2]: BOR Bit[3]: AON 定时器 Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
如下寄存器可用于获取唤醒原因。
寄存器 |
参数 |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
项目 |
描述 |
|---|---|
简介 |
获取深度睡眠唤醒原因 |
参数 |
无 |
返回值 |
Bit[0]: CHIP_EN 短按 Bit[1]: CHIP_EN 长按 Bit[2]: BOR Bit[3]: AON 定时器 Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
如下寄存器可用于获取唤醒原因。
寄存器 |
参数 |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
项目 |
描述 |
|---|---|
简介 |
获取从深睡眠唤醒原因 |
参数 |
无 |
返回值 |
Bit[0]: CHIP_EN 短按 Bit[1]: CHIP_EN 长按 Bit[2]: BOR Bit[3]: AON Timer Bit[7:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0
以下寄存器可用于获取唤醒原因。
寄存器 |
参数 |
|---|---|
WAK_STATUS0 |
|
WAK_STATUS1 |
|