电源管理状态就是全速工作状态与消耗电力最低的休眠状态。所以电源管理的重要任务就是适时地在全速工作状态和休眠状态间切换,从而达到节省电力的目的。具体的设计思路是在系统初始化时生成一个内核守护线程,该线程每隔一按时间检查一次系统状态,假如系统持续处于空闲状态的时间大于预设值,就调用汇编指令使系统进入休眠,直至用户操作将其唤醒。
1.唤醒
当用户试图唤醒系统时,ARM要从Sleep状态恢复到正常工作状态,要经过一个苏醒的过程,该过程初期的动作与正常的Reset过程相同。
加入这些代码之后就可以正常将系统由睡眠状态唤醒了。
2.切换到睡眠状态
重要功能是保存栈地址,清除数据缓存,将内存置为自我刷新状态等。当所有步骤按顺序完成后,执行:
将系统切换进睡眠状态。
3.电压的采集
电压采集是一个简单的程序,可以使系统跟踪当前的电压情况。
数据采集任务Vo_Sampling_Task()中用OSTimeDly()函数实现4个节拍延时,即每隔4×0.5=2ms任务执行一次,这就保证了20ms采样10个点的取样速率。