海思
Hi3751
android 待机开发指南
STR主要依赖 DDR 不掉电,可以保存待机前数据,来迅速唤醒恢复;又在待机时将DDR 置于自刷新模式将整机维持在功耗较低的状态。 DDR 的刷新操作分为两种,自动刷(Auto Refresh,简称 AR)与自刷新(Self Refresh,简称 SR)。自刷新主要用于休眠模式低功耗状态下的数据保存,当 DDR 进入自刷新状态,可以用极低的功耗将数据保持。
在自刷新方式下,DDR 禁止时钟使能
信号 CKE 之外的所有的内部时钟和输入缓冲。刷新地址和刷新时间全部由器件内部产生,以此来降低功耗。一旦进入自刷新方式有通过 CKE 变低才能激活,其他的任何输入都将不起作用,也即自刷新状态下,DDR只能维持数据不丢失,但不支持读写操作。
DDR 自刷新待机需要
操作系统支持 Suspend to RAM 功能,在这种模式下,操作系统会将所有
用户态进程冻结,各个驱动
模块在待机前将信息保存在内存中并关闭模块功能,最后 CPU 会将上下文(CPU 自身的寄存器)保存在内存中并启动
MCU,整个系统进入到低功耗状态。
在收到唤醒指令后,MCU 会将 CPU 启动并恢复上下文,随后各个驱动模块和用户态进程还原到待机前的状态,整个系统完成待机唤醒。
数据保存的示意图如图 1-1 所示,待机唤醒的详细流程,见第 1.4 详细流程节。

优缺点
和传统的下电待机相比,STR 的优缺点表现如表 1-1 所示。
表1-1 待机优缺点比较

真待机概念
真待机也被称为下电待机,当用户发出待机指令后,系统进入真待机流程,CPU、DDR 等下电,只保持 MCU 运行等待用户唤醒指令,系统进入最低功耗状态。当用户发送唤醒指令(遥控器、按键板等唤醒)后,CPU 重新上电启动(相当于冷启动),恢复到正常系统用户界面
真待机原理
真待机时,硬件系统常电区和掉电区如图 2-1 所示
