原文参考:《RSL10_hardware_reference.pdf》
待机模式可用于降低非活动时间的平均功耗,其范围通常为几毫秒到几百毫秒。在这种状态下,逻辑和存储器不计时,而是以降低的功率供电电压以最小化泄漏电流。
ACS(模拟控制系统)、带隙、DC-DC转换器、电荷泵和数字调节器处于活动状态。这个RF块可以通过ACS_VDDRF_CTRL寄存器与其电源断开。降低的电压电平可以在ACS_VDDC_CTRL寄存器的STANDBY_VTRM字段中编程。通过将备用钥匙写入ACS_PWR_MODES_CTRL寄存器进入待机模式(请参阅第5.4.4.2节“ACS_PWR_MODES_CTRL”)启动以下序列:
- 系统时钟停止。
- 所有存储器(闪存、PROM、RAM)都与核心(与门)隔离。
- 关闭ROM和闪存的电源,并将使用过的RAM置于保留模式。
- VDDC和VDDM调节器输出电压被设置为它们的备用电压。
重要事项:对于处于待机状态的RSL10 SoC,48 MHz晶体振荡器、RF块和standby_VTRIM设置会显著增加电池电流(IBAT)。为了最大限度地减少功耗,如果不需要48MHz晶体振荡器和RF块
应当关闭并且应当降低STANDBY_VTRIM设置。
唤醒时(参见第52页第5.4.4.1节“唤醒源”中的源),以下顺序重新启动系统:
- RTC计数器的8个LSB被捕获在寄存器中以记录唤醒时间。此值可以从ACS_WAKEUP_STATE寄存器中的RTC_VALUE位字段(参见第5.4.4.4节“ACS_WAKUP_STATE”见第55页)。
- VDDC和VDDM调节器输出电压被设置为它们的正常电压。
- 存储器重新通电。
- 应用唤醒DELAY(参见ACS_wakeup_CFG寄存器,参见第5.4.4.3节,“ACS_WAKEUP_CFG”)。
- 取消了内存隔离。
- 时钟被启用,系统执行被恢复。
以下是可能发生唤醒事件的来源:
- DC-DC过载
- 基带定时器
- 唤醒垫
- DIO之一[3:0]
重要事项:唤醒引脚不能用作GPIO。
ACS_WAKEUP_FG_DCDC_OVERLOAD_EN启用或禁用DC-DC过载标志的唤醒功能。WAKEUP_ FG_ WAKEUP_PAD_ POL位控制唤醒是否发生在唤醒垫的上升沿上,启用下拉,或在下降沿启用上拉。ACS_WAKEUP_FG_DIO*_POL位(其中*为0到3)控制DIO焊盘0到3上的唤醒极性。位ACS_WAKEUP_FG_DIO*_EN(其中*为0至3)启用或禁用相应DIO键盘上的唤醒功能。
ACS_WAKUP_CFG寄存器中的ACS_WAKEUP_FG_DELAY位控制时钟周期数(2的功率,在1和28之间)。对于ACS_WAKUP_STATE寄存器,ACS_WAKEUP_STATE_WAKEUP_SRC位表示最后一个唤醒,而ACS_wakeup_STATE_RCT_VALUE位包含在上次唤醒事件中捕获的RTC计数器的值。注意:软件可以启用最大睡眠持续时间基带定时器。请参阅RSL10固件有关如何配置此基带计时器的参考。
相关的寄存器名称:
- ACS_PWR_MODES_CTR
- ACS_WAKEUP_CFG
- ACS_WAKEUP_STATE