微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式系统的低功耗软件设计

嵌入式系统的低功耗软件设计

时间:02-19 来源:3721RD 点击:

部分接口函数详细代码设计

由于通过控制各个模块的时钟频率以及电源开关可以达到省电效果,比如说SD存储器的开关,不用SD存储器的时候就可以关掉,或是不需要高速存取的时候,就可以把SD存储器的频率降低,以求省电。下面以LCD模块的代码为例来说明LCD省电的详细思路。其他模块的代码设计思想与其一致,这里不再赘述。

#define POWER_SAVING_TIME (60*1000) // 间隔时间
#define LCD_CONTROLLER_POWER 0x22400000 //LCD控制寄存器的地址
extern unsigned int System_Time; //全局变量存储系统时间
unsigned int Last_Keystroke_Time; //最后的触发事件的时间
void Sys_SetAlarm(unsigned int T); //设置当前任务时间
void User_Press_A_Key(void) //当有外部事件触发将调用此函数
{ if(*(unsigned int *)(LCD_CONTROLLER_POWER) == 0) {
*(unsigned int *)(LCD_CONTROLLER_POWER) = 1;
}
}
Void User_Input_Task(void) //当有触发事件到来执行该函数
{
static unsigned int previous_key_time;
previous_key_time = Last_Keystroke_Time;
while(1) {
Sys_SetAlarm(POWER_SAVING_TIME);
if(previous_key_time == Last_Keystroke_Time) {
/*一分钟内没有任何外部事件触发,将关闭LCD */
*(unsigned int *)(LCD_CONTROLLER_POWER) = 0;
}
else
previous_key_time = Last_Keystroke_Time;
}
}

省电性能测试总结


图5 整个多媒体芯片系统的转化流程示意图

嵌入式系统目前在多个行业得到广泛应用,低功耗是其性能指标之一。基于功耗实现设计硬件平台后,低功耗实现主要从软件方面来解决。本文基于嵌入式系统特征及其功能实现,采用程序优化技术来降低功耗。经过测试,整合多媒体芯片的无线终端平均功耗下降了50%。其中在正常待机时,电流为400mA左右,而在睡眠时降到了200mA左右;如果应用深度睡眠(关闭SC6600、QCP1880和所有设备,维持一个32kHz的时钟)电流甚至可以降到10~20mA,完全满足长时间待机。实验表明,利用本软件构架,可以对无线终端实行之有效的省电管理。现已用于诸多无线移动多媒体终端项目(智能电话等),效果理想。由于限于篇幅,不再赘述。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top