血流检测仪的动态电源管理模块设计

发布时间:2012-11-29 阅读量:781 来源: 我爱方案网 作者:

【导读】电源管理是嵌入式便携式产品重要的功能部件,高效的电源管理方法能够有效降低系统功耗,延长系统的待机时间和电池使用寿命,而仅仅通过电路设计优 化已不能有效解决待机时间短、电池使用寿命短等问题,因此需要引入软件算法与硬件电路协同工作解决这些问题。本文提出动态电源管理模型,并应用于已完成的 嵌入式血流参数检测设计中,实践证明,系统空闲时间的功耗得到大幅度降低,待机时间延长。

引 言  

与其他便携式电子产品一样,血流参数检测仪要做到小巧纤薄,坚固耐用,性能可靠,而且待机时间长。因此,系统设计要面对降低功耗及延长电池寿命的艰巨挑战。电源管理模块是系统非常重要的组成部分,它包括电池充电管理、电池电量检测、CPU状态转换、LCD和键盘背光控制。本文将从硬件电路和软件设计两个角度实现这几方面功能。  

大量实践证明,系统处于空闲的时间占整个运行时间的一大部分。电源管理就是为了减少系统在空闲时间的能量消耗,使嵌入式系统的有效能量供给率最大化,从而延长电池的供电时间。为了延长电池的使用时间,在硬件领域,低功耗硬件电路的设计方法得到了广泛应用。然而仅仅利用低功耗硬件电路仍然不够,在系统设计中,提出采用“动态电源管理”概念,即把系统中不在使用的组件关闭或者进入低功耗模式(待机模式)。另外一种更加有效的方法就是动态可变电压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,它们分别为系统各部分供电。  

Vcore为系统内核供电,供电电压为1.8 V;Vio为系统的I/O口供电,供电电压为3.3 V;Backup为系统备份电池供电,电池电压为3 V;Charge为充电电路,电池电压为3.6 V的充电电池;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的背光提供电压。
图2 系统的电源管理框图  
[member]
 

1.2 驱动程序设计  

1.2.1 驱动提供接口
  

系统硬件电源管理模块为系统电源管理功能的实现提供必要的硬件基础,并为驱动程序提供如下编程接口:  
◆ 系统供电方式接口,通过此接口驱动和应用程序,可知道系统此时是由电池供电还是由外接电源供电;  
◆ 电池电量检测接口,通过此接口驱动程序可检测到系统的电量,应用程序由此可实现系统电池电量的显示及电池电量报警等功能;  
◆ 电池充电状态,当系统使用外接电源供电时,可对系统中的电池充电,通过此接口驱动可获取电池的充电状态(正在充电或电池已充满);  
◆ 电池温度检测接口,通过此接口驱动程序可检测到电池的温度,电池温度和电池电量相结合可用来计算电池的使用时间,同时在电池过热(电池有问题)时向用户报警,提醒用户关机或更换电池。  

电源管理驱动部分主要给上层提供如下接口。  

(1) 取得电池电量及系统用电情况  

通过端口ADC1读取电池电压。上限电压为4.2 V,下限电压为3.6 V ,报警电压为3.6 V,强行关机电压为3.4 V。数据电压关系:1024-5 V ;0-0 V。  

电池充电管理由硬件实现,但在电池充电到4.2 V时,延时30 min关闭充电功能(应用层完成)。

控制端口为GPC1,1为外部电源供电,0为电池供电。在系统接有外接电源时,系统由外部电源供电。  

(2) 电池充电控制  

控制端口为GPA9,0为充电,1为关闭充电,当电池电源低于3.8 V时,GPA9设为0,开始充电(应用层完成)。  

5 V电源只用于数据采集,非数据采集状态下关闭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计时,当3 s后,power_down_timer对应的动作power_down_timer_call()发生,从而进入stop模式。  

1.2.3 接口设计与接口函数实现  

(1)数据结构说明  

电源和设备状态由power_status_t的结果表示。  
typedef struct {   
   unsigned long battery_quantity;//电池电量            
                                 //目前只提供电池电压    
   unsigned long device_status;//系统中各设备的运行状态            
                               //Bit0:系统供电方式,0:电池;1:外接电源                             
                              //Bit1:LCD状态,0:正常运行;1:关闭                     
                             //Bit2:LCD背光状态,0:打开;2:关闭   
   unsigned char system_status; //系统运行状态:0为正常模                                              
                                                           //式,1为STOP模式  
} power_status_t  

(2)file_operations的值  

电源管理模块驱动的file_operations具体值为:  
struct file_operations power_44b0_fops={   
   NULL,      //struct module *owner;   
   NULL,      //llseek    
   NULL,      //read    
   NULL,      //write   
   NULL,      //readdir    
   NULL,      //poll    
   power_44b0_ioctl,//ioctl,对上层调用ioctl的实现    
   NULL,      //test_mmap    
   power_44b0_open, //open,打开设备   
   NULL,      //flush    
   power_44b0_release,//release,关闭设备  
};  

(3)power_44b0_ioctl()函数设计  

函数原形: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种操作:  

GET_POWER_STATUS,获得由power_status_t结构表示的电源与设备状态; 

SET_BATTARY_CHARGE_OFF,通过写GPA9寄存器来停止充电;  

SET_BATTARY_CHARGE_ON,写GPA9寄存器来开始充电;  

GET_SYS_STAT,获得当前系统状态;  

START_VOLTAGE_CONVERSION,通道ADC1开始转换电源电压;  

STOP_VOLTAGE_CONVERSION,通道ADC1停止转换电源电压;  

GET_CHARGE_STATUS,取得当前可否充电的状态;  

SYS_ENTER_STOP_MODE,用户程序使系统进入stop模式接口,调用power_down_timer_call()函数来实现; 

SYS_ENTER_IDLE_MODE,用户程序使系统进入idle模式的接口,调用enter_IDLE_mode()函数实现;

SYS_ENTER_SL_IDLE_MODE,用户程序使系统进入sl_idle模式的接口,调用enter_SL_IDLE_mode()函数实现;  

ENABLE_LCD,调用enable_lcd()使LCD工作;  

DISABLE_LCD,调用disable_lcd()使LCD停止工作;  

ENANLE_LED,键盘灯有效工作;  

DISABLE_LED,停止键盘灯工作。  

(4)power_key_44b0_interrupt     

函数原形:static void power_key_44b0_interrupt(int irq, void *dev_id, struct pt_regs *regs) 。  

功能说明:响应关机键,进入stop模式。  

参数说明:中断号,设备id,寄存器结构。  

下面介绍函数的算法描述。  

在正常状态下:  
if (按下开关机键)    
   { 设置开关机键状态为按下;     
     关机计时器开始计时,计时结束时进入stop模式;    
     设置开关机键产生中断方式为上升沿触发中断;   
  }  
else//开关机键抬起    
   { 设置开关机键状态为抬起;    
     使关机定时器失效;     
     设置开关机键产生中断方式为下降沿触发中断;    
    }  
在关机状态下:  
if (按下开关机键)    
   { 设置开关机键状态为按下;     
     开机计时器开始计时,计时结束时进入stop模式;     
     设置开关机键产生中断方式为上升沿触发中断;    
    }  
else//开关机键抬起    
   { 设置开关机键状态为抬起;     
     使开机定时器失效;
    设置开关机键产生中断方式为下降沿触发中断。  
    }
 

2 总结
  

仪器配置2200 mAh的镍氢电池,经过测试,电源管理模块使整个系统的功耗降低了60%。系统在数据采集状态下,由电池的输出电流为220mA左右;如果处于IDLE状态,则电流总消耗为80mA;在STOP状态(关闭ARM和所有设备,维持一个32 768 Hz的时钟),电流可降到10mA。实验表明,利用动态电源管理,可对便携式医疗仪器实现有效电源管理。

相关资讯
英伟达RTX 5090 DD中国特供版规格曝光:核心配置保留,显存降级引关注

据多方可靠消息源(包括知名爆料人Kopite7kimi和MEGAsizeGPU)持续披露,为应对特定市场出口合规要求,英伟达(NVIDIA)正为其下一代旗舰显卡GeForce RTX 5090系列开发专供中国市场的型号,命名为GeForce RTX 5090 DD,旨在取代之前计划的RTX 5090 D型号。最新信息揭示了该型号相较于全球版的主要规格调整与市场定位策略。

新能源车核心器件对比:东芝/纳芯微/川土微隔离器选型策略

随着新能源汽车智能化程度提升,2025年车载电子系统对信号隔离器件提出更严苛要求。在电机控制、BMS等高压场景中,数字隔离器需同时解决安全隔离、抗噪能力及实时通信三大核心需求。东芝电子最新推出的DCM32xx00系列双通道数字隔离器,正是针对这些技术痛点开发的标杆级解决方案。

智能边缘芯动力:嵌入式AI解锁工业、穿戴、车载新场景

当技术创新从实验室迈向市场,“最后一公里”的精准对接成为破局关键。今日,由博闻创意会展打造的华南电子产业旗舰盛会——elexcon深圳国际电子展暨嵌入式展(2025.8.26-28) 全球预约通道正式开启!作为华南唯一覆盖电子全产业链的标杆平台,展会依托深圳雄厚的产业集群禀赋,深度打通电子与嵌入式技术双动脉。在这里,400+前沿技术展商将与30,000+全球专业买家、工程师、决策者零距离互动,共同探索AI智能化与绿色双碳大潮下的技术路线与商业前景。深圳高效的产业链,正通过elexcon这座桥梁,迸发出强大的产业对接动能,加速国产技术融入全球价值链。

中国机器人市场迎爆发期:四年内规模将破千亿,人形机器人成新引擎​

摩根士丹利(Morgan Stanley,简称“大摩”)最新发布的研究报告描绘了中国机器人产业极具活力的增长前景。报告核心结论指出,中国机器人市场正经历前所未有的高速扩张,预计在未来四年内,其整体市场规模将实现翻倍增长,从2024年的约470亿美元跃升至2028年的1080亿美元,年均复合增长率高达23%。这一强劲增势将无可争议地巩固中国在全球机器人领域的绝对领先地位。数据显示,2024年中国已占据全球机器人市场约40%的份额。

2025高端电视市场激增44%,中国双雄蚕食三星份额

全球高端电视市场格局正经历深刻变革。Counterpoint Research最新报告显示,2025年第一季度全球高端电视出货量同比大幅攀升44%,行业收入同步增长35%。中国品牌展现了强大竞争力,特别是TCL和海信表现亮眼,两大品牌出货量均实现三位数同比增长,引领全球市场进入发展新阶段。