导言
与其他便携式电子产品相同,血流参数检测仪要做到细巧纤薄,坚固耐用,功用牢靠,而且待机时刻长。电源办理便是为了削减体系在闲暇时刻的能量消耗,使嵌入式体系的有用能量供应率最大化,然后延伸电池的供电时刻。为了延伸电池的运用时刻,在硬件范畴,低功耗硬件电路的规划办法得到了广泛运用。但是只是运用低功耗硬件电路依然不行,在体系规划中,提出选用“动态电源办理”概念,即把体系中不在运用的组件封闭或许进入低功耗形式(待机形式)。别的一种愈加有用的办法便是动态可变电压DVS和动态可变频率DFS,即在运转时动态地调理CPU频率或许电压。这样能够在满意瞬时功用的前提下,使得有用能量供应率最大化。
1 体系规划
整个仪器规划选用S3C44B0芯片和uClinux操作体系。S3C44B0芯片是业界运用较多、功耗较低、成本低的中档产品。它供给五种作业状况:NORMAL、SLOW、IDLE、STOP和SL_IDLE[1]。体系正常作业在NORMAL状况,当用户无操作时段大于某一阈值时,则进入IDLE状况,用户按假关机键进入STOP状况,这时体系功耗很低。为了便于办理,运用层对电源办理状况进行了细划,引进电源办理的六个状况:数据收集状况、正常作业状况、预备状况、歇息状况、IDLE状况和STOP状况。其间,IDLE状况和STOP状况与芯片供给的内容相同,由运用程序担任状况的搬迁。整个仪器功耗最大的组件是背光(EL背光和键盘LED)、LCD和传感器驱动,其次才是CPU,电源办理状况搬迁如图1所示。
图1 体系的电源办理状况搬迁
1.1 电源办理模型
图2是电源办理的原理框图,其间包括6个模块:Vcore,Vio,Backup,Charge,Vdriver和Vlcd,它们分别为体系各部分供电。
图2 体系的电源办理框图
Vcore为体系内核供电,供电电压为1.8 V;Vio为体系的I/O口供电,供电电压为3.3V;Backup为体系备份电池供电,电池电压为3 V;Charge为充电电路,电池电压为3.6V的充电电池;Vdriver为传感器供电电路,电压为±5 V;Vlcd为LCD模块供电,供电电压为3.3V和200VCA。
电池充电的电路原理为:当CPU检测到有外接电源时,CPU运用ADC检测电池二端的电压,并判别是否需求充电;当电池两头电压低于设定值时,翻开Charge电路给电池充电,并检测充电电流,以确保电池安全有用的充电,充电至设定值时中止充电;当无外接电源时,电池为整个体系供电,CPU检测电池电压,当低于某一设定电压时,决议报警仍是关机,以维护电池。
Vcore和Vio分别为体系的内核和I/O口供电,一起Vio也为存储器供电。Backup电池为体系的备份电池。
Vdriver为传感器供给±5 V的电压,并确保电流为25±1 mA。
Vlcd为LCD模块供给二组电压,其间3.3 V为LCD显现供给电压,200VAC为LCD的背光供给电压。
.
1.2.1 驱动供给接口
体系硬件电源办理模块为体系电源办理功用的完结供给必要的硬件根底,并为驱动程序供给如下编程接口:
◆ 体系供电方法接口,通过此接口驱动和运用程序,可知道体系此刻是由电池供电仍是由外接电源供电;
◆ 电池电量检测接口,通过此接口驱动程序可检测到体系的电量,运用程序由此可完结体系电池电量的显现及电池电量报警等功用;
◆ 电池充电状况,当体系运用外接电源供电时,可对体系中的电池充电,通过此接口驱动可获取电池的充电状况(正在充电或电池已充溢);
◆ 电池温度检测接口,通过此接口驱动程序可检测到电池的温度,电池温度和电池电量相结合可用来核算电池的运用时刻,一起在电池过热(电池有问题)时向用户报警,提示用户关机或替换电池。
电源办理驱动部分首要给上层供给如下接口。
(1)获得电池电量及体系用电状况
通过端口ADC1读取电池电压。上限电压为4.2 V,下限电压为3.6 V ,报警电压为3.6 V,强行关机电压为3.4V。数据电压联系:1024-5 V ;0-0 V。
电池充电办理由硬件完结,但在电池充电到4.2 V时,延时30min封闭充电功用(运用层完结)。
操控端口为GPC1,1为外部电源供电,0为电池供电。在体系接有外接电源时,体系由外部电源供电。
(2)电池充电操控
操控端口为GPA9,0为充电,1为封闭充电,当电池电源低于3.8 V时,GPA9设为0,开端充电(运用层完结)。
5V电源只用于数据收集,非数据收集状况下封闭5 V电源(在ADC中完结)。操控端口是GPC2,0为翻开,1为封闭。
(3)假关机
关机状况下,只封闭键盘灯和液晶屏,但体系仍处于正常运转状况。封闭键盘灯、液晶屏以及其他外设的作业由上层软件完结。
1.2.2 程序流程
uClinux启动时调用module_init(Power_44b0_init)函数,然后power_44b0_init被调用,进行相关的初始化:
◆ power0_44b0_reg_init()初始化硬件寄存器;
◆ power_44b0_device_register()注册power_44b0_fops以及中止处理函数power_key_44b0_interrupt(),而且初始化定时器power_down_timer;
◆ 用户程序通过power_44b0_open()函数翻开/dev/power设备,通过power_44b0_release()函数开释/dev/power设备,通过power_44b0_ioctl()函数完结对设备的各种操作;
◆ 关机进入stop形式,通过中止处理函数power_key_44b0_interrupt()处理关机键对应的中止,按下关机键后用power_down_timer计时,当3s后,power_down_timer对应的动作power_down_timer_call()产生,然后进入stop形式。
1.2.3 接口规划与接口函数完结
(1)数据结构阐明
电源和设备状况由power_status_t的成果标明。
(2)file_operations的值
电源办理模块驱动的file_operations详细值为:
.函数原形:static int power_44b0_ioctl (struct inode *inode, struct file *filp,unsigned int cmd, unsigned int arg)。
功用阐明:设备ioctl的操作函数。
参数阐明:inode,文件指针,履行操作类型,依据操作类型指定不同参数。
回来值:0标明成功,不然回来ENOTTY。
判别cmd的值,依据cmd的不同值进行不同的操作,电源设备的ioctl首要完结以下14种操作:
(4)power_key_44b0_interrupt
函数原形:static void power_key_44b0_interrupt(int irq, void *dev_id, struct pt_regs *regs) 。
功用阐明:呼应关机键,进入stop形式。
参数阐明:中止号,设备id,寄存器结构。
下面介绍函数的算法描绘。
在正常状况下:
2 总结
仪器装备2200mAh的镍氢电池,通过测验,电源办理模块使整个体系的功耗降低了60%。试验标明,运用动态电源办理,可对便携式医疗仪器完结有用电源办理。
.