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

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

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

引 言  

与其他便携式电子产品一样,血流参数检测仪要做到小巧纤薄,坚固耐用,性能可靠,而且待机时间长。因此,系统设计要面对降低功耗及延长电池寿命的艰巨挑战。电源管理模块是系统非常重要的组成部分,它包括电池充电管理、电池电量检测、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。实验表明,利用动态电源管理,可对便携式医疗仪器实现有效电源管理。

相关资讯
中国AI产业突破封锁的韧性发展路径及未来展望

在全球科技博弈背景下,美国对华AI芯片出口限制政策持续升级。腾讯总裁刘炽平在2025年第一季度财报会上明确表示,腾讯已具备应对供应链风险的充足储备与技术创新能力,标志着中国AI产业正加速走向自主化发展道路。本文结合产业动态与政策趋势,剖析中国AI产业的战略转型与突破路径。

重塑全球供应链格局:ASM International战略布局应对贸易壁垒

在全球半导体产业链加速重构的背景下,荷兰半导体设备巨头ASM International(以下简称“ASM”)近期通过一系列战略调整引发行业关注。2025年5月15日,该公司宣布将通过转嫁关税成本、加速美国本土化生产及优化全球供应链,应对地缘政治风险与贸易壁垒。面对美国近期加征的“对等关税”政策(涵盖钢铁、汽车等商品,未来可能扩展至半导体领域),ASM展现出显著的供应链韧性:其亚利桑那州工厂即将投产,新加坡基地产能同步扩充三倍,形成“多区域制造网络”以分散风险。与此同时,中国市场成为其增长引擎——2025年中国区销售额或突破预期上限,占比达总营收的20%,凸显其在差异化竞争中的技术优势。这一系列举措不仅反映了半导体设备行业对关税政策的快速响应,更揭示了全球产业链从“效率优先”向“安全韧性”转型的深层逻辑。

国产芯片架构演进之路:从指令集适配到生态重构

在全球半导体产业长期被x86与ARM架构垄断的背景下,国产芯片厂商的生态自主化已成为关乎技术主权与产业安全的核心议题。北京君正集成电路股份有限公司作为中国嵌入式处理器领域的先行者,通过二十余年的技术迭代,探索出一条从指令集适配到生态重构的独特路径——早期依托MIPS架构实现技术积累,逐步向开源开放的RISC-V生态迁移,并创新性采用混合架构设计平衡技术过渡期的生态兼容性。这一转型不仅打破了国产芯片“被动跟随”的固有范式,更在智能安防、工业控制、AIoT等新兴领域实现了从“技术替代”到“生态定义”的跨越。据行业数据显示,其基于RISC-V内核的T系列芯片已占据计算芯片市场80%的份额,成为推动国产架构产业化落地的标杆。本文通过解析北京君正的架构演进逻辑,为国产半导体产业突破生态壁垒提供可复用的方法论。

性能飙升27%!高通骁龙7 Gen4如何改写中端芯片格局?

5月15日,高通技术公司正式推出第四代骁龙7移动平台(骁龙7 Gen 4),以台积电4nm制程打造,性能迎来全方位升级。该平台采用创新的“1+4+3”八核架构,CPU性能较前代提升27%,GPU渲染效率提升30%,并首次支持终端侧运行Stable Diffusion等生成式AI模型,NPU算力增幅达65%。在影像领域,其搭载的三重12bit ISP支持2亿像素拍摄与4K HDR视频录制,配合Wi-Fi 7与XPAN无缝连接技术,重新定义中高端设备的创作边界。荣耀与vivo宣布首发搭载该平台的机型,预计本月上市,标志着生成式AI技术向主流市场加速渗透。

破局高端芯片!小米自研玄戒O1即将发布,性能参数首曝光

5月15日晚间,小米集团CEO雷军通过个人微博账号正式宣布,由旗下半导体设计公司自主研发的玄戒O1手机SoC芯片已完成研发验证,计划于本月下旬面向全球发布。据雷军透露,该芯片将采用业界领先的4nm制程工艺,核心性能指标已接近国际旗舰水平。