资源描述:
《双模终端电源管理研究与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、双模终端电源管理研究与实现摘要:本文讨论了WindowsCE双模终端的电源管理的架构,详细分析和阐述了双模终端休眠和唤醒功能实现方法与流程,并给岀了测试结果,这対于实际开发工作具有重要的参考价值.关键词:电源管理,恢入式系统,Xscale架构,脉宽调制,双模双待终端PowerManagementresearchandrealizationfordouble-moduleterminalAbstract:first,Thisarticleintroducedtheframeofdouble-modulete
2、rminalPowerManagementbasedonWindowsCE,Thisarticleintroducedtherealizationmethodandtestresultforsuspendfunctionandwake-upfunction,thishasveryimportantvalueforpracticaldevelopment.Keywords:powermanagement,Embeddedsystem,Xscalearchitecture,PWM,double-module&
3、amp;double-waitingterminal1.前言随着系统集成技术的不断发展,恢入式系统的功能日益强大,应用也tl益广泛.如今恢入式系统己经融入人们的生活中,随处町见,如卫星、个人数字助理PDA、音乐手机、MP3等.尽管在很多嵌入式系统上使川的是可充电电池,而且电池技术的发展也提高了嵌入式系统上町储蓄的电能,但是,在人们对嵌入式系统的功能要求越来越高的情况下,嵌入式系统的电能越来越显得紧张.而电源竹理技术的好坏,即终端的待机时间氏短也被广大消费者作为衡量终端质最的一个重要标准,因此,TD-SCD
4、MA&CDMA2000双模双待终端也把终端的能耗问题纳入急需解决的重要问题,成为整个TD-SCDMA&CDMA2000双模双待终端研发的关键.本文讨论了WindowsCE双模终端的电源管理的架构,详细分析和阐述了双模终端休眠和唤醒功能实现方法与流程,并给出了测试结果,这对于实际开发工作具有重要的参考价值.2.WindowsCE中电源管理架构电源管理器直接或间接地打应用程序和驱动程序交互.电源管理器与驱动程序主要通过驱动程序接口进行交互,与应用程序通过API和提醒接口进行交互.Windows
5、CE操作系统中电源管理的架构如下图1所示.图1WindowsCE屮电源管理架构图电源管理器(Pm.dll)负责管理设备的电源状态,提高操作系统的整体电源效率,电源管理器按分层结构实现,包含MDD层和PDD层,电源管理器直接为Device.exe链接,它支持3个接口:(1)驱动程序接口:被需要进行电源管理的设备驱动程序使用.(2)应用程序接口:被需要利用电源管理的应用程序使用.(3)提酮接口:被需要接受电源管理事件提醍的丿应用程序使用.4.系统休眠和唤醒功能实现思路4.1系统休眠和唤醒功能休眠(SUSPEN
6、D)是微处理器PXA272功耗最低的一种工作模式,是电源管理最关键的功能.在该模式卜•,大部分设备器件都处于断电停止工作状态,只有个别部件仍处于活动状态•系统进入SUSPEND模式时,PXA272依次关闭片内活动部件,使外部电源引脚无效,从而关闭系统的大部分供电逻辑.通过32.768kHz的振荡器部件,供SUSPEND状态机临视预先设定的唤醒事件•若预先设定的唤醒事件发生时,系统将执行唤醉操作.为了能够唤醒处于挂起的状态机,使英恢复正常工作,系统在进入SUSPEND状态前必须完成两步操作:1)要设置好系统
7、的唤醒源,一般使用GPIOO,也可以设定为其他外部唤醒源;唤醒源的设定是在pmgr.c中的PmgrInitSlccpParam()B数中,此函数的功能是设定和保存默认睡眠参数值.此艾件位于WINCE500PLATFORMCAYMANKernelHALARM屮.下面是相关寄存器的设置:pSlpParams->PWER=0x1;〃设定由RTC警告(GPIOO)唤醒;pSlpParams->PRER=Ou;〃关闭由GPIOO的上升沿检测唤醒;pSlpParams->PFER=lu;〃
8、使能由GPIOO的下降沿检测唤醒;pSlpParams->PKWR=Ou;//关闭illGPIOO的高电位唤醒;2)软件在系统挂起前会将工作现场的状态信息保存在SDRAM中,所以,须将SDRAM置为口刷新状态,以保证其屮存储的内容在系统挂起时不会丢失,从而在唤酮系统时能够顺利地恢复其工作现场.唤醒处于挂起的状态机实际是系统复位的过程,软件可通过RCSR寄存器的状态位判断该复位是否山挂起方式产生.PXA272检测到预先设置