电源管理软件设计可分为:操作系统层和应用层。
(1)操作系统层
电源管理的功能执行层,它管理系统中的各个部件(包括处理器和所有外设),并对具体的电源管理动作进行封装。操作系统层的电源管理有3方面内容。
①处理器电源管理:执行由处理器完成的电源管理任务。包括以下3方面:
◆DVS。动态核电压和频率调整,以及系统总线的频率调整。
◆模式管理。系统运行模式管理,实现系统运行模式的切换,如休眠唤醒、空闲忙碌等功能。
◆RTC。系统时钟和RTC时钟的维护等。
②电池管理:监测电池电量,响应电池状态的变化(充放电)。
③设备电源管理:包括系统中的所有设备。在系统睡眠唤醒时,每一个设备都需要配合系统的动作进行休眠唤醒。如果设备在系统要休眠时处于忙碌状态,它可以拒绝系统的休眠要求,从而阻止整个系统进入休眠。
(2)应用层
最上层,实现系统的电源管理策略。电源管理策略与操作系统层进行交互,从操作系统层获得系统的状态信息,根据系统状态采取相应措施,并将自己的决定通知操作系统,调用相应功能接口执行电源管理。
为了降低策略实现的复杂度,增强策略调整的灵活性,电源管理策略主要在应用层,利用QTopia的事件管理和定时器功能来实现。电源管理应用程序位于系统的最上端,直接与用户进行交互,用户可以在这些应用程序中对电源管理策略进行配置。这些应用程序包括电池管理程序、背光调整程序、超时时间设定程序、开关机程序等。本文只介绍电池管理程序的实现。
3.2.2 电池管理程序实现
锂离子电池检测与充电保护电路芯片采用DS2760。CPU通过DS2760的DQ引脚读取内部寄存器的数据,获得电池的运行状态,以便上层的应用程序对电池进行管理。底层驱动程序主要实现设备的注册等功能。上层应用程序主要包括ds2760.c和Qtopia图形界面程序light-and-power。ds2760.c主要完成电池电压、电流的读写。例如读电压由函数Read_Voltage完成,代码如下:
light_and_power程序完成图形界面的电源管理应用于。程序流程如图7所示。
4 系统功耗测试
系统功耗的高低代表系统运行时间和待机时间的长短,反映电源管理系统性能的高低。为了评估手持终端整体功耗以及各个主要模块的功耗,需要对系统在不同负载情况下的电池输出电流进行测量。表1是系统正常模式、在不同模块配置下的锂离子电池供电电流值实测数据。内部电池供电为负值。
结论:正常情况下,如果所有模块都开启,手持终端整体功耗电流约为0.496 A,基本满足设计的要求。LCD、GPS、GPRS三个部分约占总功耗的52.6%。
结 语
本文以实现功耗低、体积小、性能稳定的嵌入式手持终端电源管理系统为目标,设计了基于S3C2440A的嵌入式手持终端电源管理系统,对于其他嵌入式手持终端电源管理系统的设计具有一定的参考价值。