System Mode Controller
System Mode Controller
系统模式控制器 (SMC) 控制系统的低功耗的进入和退出序列。
它可以在所有低功耗模式下运行。
ARM CPU 有三种主要运行模式:
- Run
- Sleep
- Deep Sleep
WFI 指令用于调用 Sleep 和 Deep Sleep 模式。
FC7300 拥有三个 CM7 核心,MCU 低功耗模式取决于所有核心的运行模式。
当所有核心进入Deep Sleep 模式时,根据 SMC 寄存器的设置进入 STOP 或者 STANBY 模式(可以配置 CPU1 或者 CPU2 为不释放,并实现和 Deep Sleep 同样的功能)。
当至少一个核心没有进入 Deep Sleep 模式时,MCU 会进入 core-related 低功耗模式(CPU1 和 CPU2 不应配置为不释放)。
下表显示了 Flagchip MCU 电源模式与 ARM CPU 模式之间的转换。
SMC 为用户提供多种电源选项。
FC7300 系列支持 2 个电源域 (Power Domains PD),包括 RUN 域 (PD1) 和 AON 或 STANDBY 域 (PD0)。
- 只有位于 PD0 段的引脚才能在 Standby 模式下继续工作。
- PD1 引脚段将被隔离并变回之前的状态。
复位后,用户需要重新配置引脚相关功能。
STANDBY 模式可通过对 PD1 域进行电源门控来最大程度地降低 SoC 功耗。
STOP 模式可在保持所有电源开启的情况下大幅降低功耗。
根据用户应用的需求,有多种低功耗模式可供选择,允许 某些逻辑电路 和/或 内存 的
- 状态保留
- 部分断电
- 完全断电
所有操作模式下均保持 I/O 状态。
使用多个寄存器来配置设备的各种操作模式。
下表描述了设备的可用的电源模式。
功能描述
电源模式转换
下表定义了各种状态转换的触发器。
需要与 HSM(硬件安全模块 Hardware Security Module)子系统进行停止请求和握手确认,
即将
- SCM_SUBSYS_PCC.STOP_REQ 设置为 1'b1,
- SCM_SUBSYS_STATUS.STOP_ACK 变为 1'b1。
之所以进行这样的操作,是因为如果 HSM(硬件安全模块 Hardware Security Module)正在执行一些关键任务,而这时芯片被强制进入 Stop 或 Standby 模式,可能会引发一些未知问题。
低功耗进入/退出序列
Stop 模式进入序列
CPU 执行 WFI 指令后,将进入 Stop 模式。执行该指令后,将发生以下序列:
- CPU 时钟立即关闭(gated off)。
- 向所有非 CPU 总线主机发出进入停止模式的请求。
- 当所有主机已确认它们准备好进入停止模式后,将向所有总线从机发出进入停止模式的请求。
- 在所有从机确认它们已准备好进入停止模式后,系统和总线时钟将被关闭。
Stop 模式退出序列
退出 STOP 模式可通过复位或中断事件来启动。
然后执行以下序列以将系统恢复到运行模式:
- 所有主机和从机的 系统和总线 时钟均被启用。
- CPU 时钟被启用,并且 CPU 开始处理 触发退出停止模式的 复位或中断。
Standby 模式进入序列
CPU 执行 WFI 指令后,将进入 Standby 模式。执行该指令后,将发生以下序列:
- 核心、系统和总线时钟均被关闭。
- PD0 的隔离域已被启用。
- 可选择禁用 FIRC/SIRC,并触发 PMC(Power Management Controller 电源管理控制器)低功耗握手。
- PMC 关闭开关,关闭 PD1 LDO 以禁用 V11,并可选择禁用 V25。
Standby 模式退出序列
退出 Standby 模式可通过复位或中断事件来启动。然后执行以下序列以将系统恢复到运行模式:
- 通过中断/复位事件检测到唤醒。
- 等待
- PMC FPM(Full Performance Mode 完全性能模式)准备就绪
- FIRC(Fast Internal Reference Clock 快速内部参考时钟)启用就绪,
3. 重置 PD1 域的断言。
4. 释放 PD0 域的隔离。
5. 取消断言 PD1 域。
寄存器描述
SMC 基地址 : 4004_5000h
PMCTRL 寄存器控制 Stop 或 Standby 模式的进入。
此寄存器在 POR 时复位,并由触发 POR 的复位类型复位。
Offset : ch
STANDBY_CFG 寄存器允许用户控制在
- 由 OPTION 字段选择的 Standby 模式下
调整功耗。
此寄存器在 POR(Power-on Reset 上电复位)时复位,并由触发 POR 的复位类型复位。
Offset : 10h
评论
发表评论