华为海思 MCU 内核有多种低功耗模式,其唤醒方式主要有以下几种:
- GPIO 唤醒:在 Hi3861/Hi3861L 芯片中,超深睡模式下可指定唤醒 IO,对应 IO 为高电平会将系统从超深睡模式中唤醒,重新启动进入非低功耗模式。一般来说,通过配置相关的 GPIO 寄存器,将特定的 GPIO 引脚设置为唤醒源,当该引脚出现预设的电平变化(如上升沿或下降沿)时,就可以触发 MCU 从低功耗模式唤醒。
- SDIO 唤醒:对于支持 SDIO 接口的海思 MCU,如 Hi3861/Hi3861L,SDIO 可作为深睡唤醒源。当 SDIO 总线上有数据传输、命令发送或者特定的信号变化时,能够唤醒处于低功耗模式的 MCU,使其恢复到正常工作状态,以处理相关的 SDIO 事务。
- 系统 tick(RTC)唤醒:海思 MCU 通常集成了实时时钟(RTC)功能,RTC 可以设置定时中断。在低功耗模式下,当 RTC 定时时间到达,产生中断信号,就可以唤醒 MCU。例如,Hi3861/Hi3861L 的深睡模式可以通过系统 tick(RTC)唤醒,系统休眠时间采用 tickless 机制,避免每个系统 tick 都被唤醒,而是根据设定的时间间隔进行唤醒。
- 外部中断唤醒:外部设备可以通过向 MCU 的外部中断引脚发送信号来唤醒 MCU。例如,当有按键按下、传感器触发等外部事件发生时,对应的外部中断引脚会产生电平变化,从而触发中断,将 MCU 从低功耗模式中唤醒,以处理相应的事件。
- Wi-Fi 相关唤醒:在一些支持 Wi-Fi 功能的海思 MCU 中,与 Wi-Fi 相关的事件也可以唤醒低功耗模式下的芯片。比如,当接收到特定的 Wi-Fi 数据包、Beacon 帧或者与接入点(AP)的连接状态发生变化时,可能会触发唤醒机制,使 MCU 醒来处理 Wi-Fi 相关的事务。
不同的海思 MCU 芯片可能会根据其功能和应用场景的不同,支持不同的唤醒方式,或者在唤醒的具体配置和实现上有所差异。