0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

便携式医疗仪器的电源管理模块设计

电子设计 作者:电子设计 2018-10-10 09:02 次阅读

引 言

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

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。实验表明,利用动态电源管理,可对便携式医疗仪器实现有效电源管理。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源管理
    +关注

    关注

    112

    文章

    6015

    浏览量

    141107
  • 操作系统
    +关注

    关注

    37

    文章

    6288

    浏览量

    121887
  • 医疗
    +关注

    关注

    8

    文章

    1726

    浏览量

    58142
收藏 人收藏

    评论

    相关推荐

    如何使用和操作220V便携式UPS储能电源

    如何使用和操作220V便携式UPS储能电源便携式UPS储能电源是一种十分有用的设备,可为用户提供稳定的电力供应,无论是户外野营,还是家庭备用电源
    的头像 发表于 01-10 11:11 485次阅读

    迅为IMX6UL核心板在便携式医疗设备中的应用方案

    迅为IMX6UL核心板在便携式医疗设备中的应用方案
    的头像 发表于 12-11 14:59 262次阅读
    迅为IMX6UL核心板在<b class='flag-5'>便携式</b><b class='flag-5'>医疗</b>设备中的应用方案

    便携式储能电源有哪些充电方式?

    便携式储能电源是一种可移动的电力储存设备,可以为各种电子设备提供电力支持。便携式储能电源通常具有多种充电方式,以下将介绍其中的几种常见充电方式。 1.直流充电方式:直流充电是
    的头像 发表于 12-08 09:06 1865次阅读
    <b class='flag-5'>便携式</b>储能<b class='flag-5'>电源</b>有哪些充电方式?

    户外便携式储能电源怎么用

    户外旅行或露营活动中,便携式储能电源是一款非常实用且方便的设备。它可以为我们提供可靠的电力支持,为各种电子设备充电。但是,对于一些新手用户来说,可能并不清楚如何正确使用户外便携式储能电源
    的头像 发表于 12-07 15:31 718次阅读

    便携式电源系统的电池认证

    电子发烧友网站提供《便携式电源系统的电池认证.pdf》资料免费下载
    发表于 11-17 09:42 0次下载
    <b class='flag-5'>便携式</b><b class='flag-5'>电源</b>系统的电池认证

    电源管理策略推动便携式设计发展

    电子发烧友网站提供《电源管理策略推动便携式设计发展.pdf》资料免费下载
    发表于 11-16 15:00 0次下载
    <b class='flag-5'>电源</b><b class='flag-5'>管理</b>策略推动<b class='flag-5'>便携式</b>设计发展

    恩智浦i.MX8MM核心板在便携式医疗设备产品中的应用

    恩智浦i.MX8MM核心板在便携式医疗设备产品中的应用-迅为电子
    的头像 发表于 11-15 14:37 228次阅读
    恩智浦i.MX8MM核心板在<b class='flag-5'>便携式</b><b class='flag-5'>医疗</b>设备产品中的应用

    便携式医疗监控系统面临的设计挑战

    电子发烧友网站提供《便携式医疗监控系统面临的设计挑战.doc》资料免费下载
    发表于 11-10 09:48 0次下载
    <b class='flag-5'>便携式</b><b class='flag-5'>医疗</b>监控系统面临的设计挑战

    【精选推荐】便携式ECG方案介绍

    模拟供电。 TLV61220:静态电流只有5.5uA,在典型工作条件下效率高达95%,能够满足便携式ECG长时间使用的需求。 图7 TLV61220应用实例及效率曲线 双极性电源供电: 一般来讲
    发表于 10-27 11:43

    便携式ECG方案介绍

    模拟供电。 TLV61220:静态电流只有5.5uA,在典型工作条件下效率高达95%,能够满足便携式ECG长时间使用的需求。 图7 TLV61220应用实例及效率曲线 双极性电源供电: 一般来讲
    发表于 10-27 11:35

    一种超低功耗便携式高斯计的设计方案

    引言高斯计是用于测量磁场的仪器,在采矿、冶金、磁性材料生产等领域有着广泛的应用。目前国内的便携式高斯计产品存在一个重大缺点——电池寿命短,通常为20一50 h.正常使用情况下,几天时间就需要更换电池
    发表于 10-10 06:52

    SHIKUES时科高效电源管理,助力便携医疗设备

    SHIKUES时科高效电源管理,助力便携医疗设备
    的头像 发表于 10-08 16:52 391次阅读
    SHIKUES时科高效<b class='flag-5'>电源</b><b class='flag-5'>管理</b>,助力<b class='flag-5'>便携</b><b class='flag-5'>医疗</b>设备

    采用LM358N设计的便携式太阳能充电器电路

    便携式太阳能充电器电路电子项目是使用一些常见的电子部件设计的。 如您所见,便携式太阳能充电器电路基于一个LM358N运算放大器和一个晶体管。 该稳压器提供恒定的 2.4 伏直流电,可用于为需要
    发表于 09-11 17:20

    制作便携式扬声器的方法,DIY制作便携式扬声器的教程

      你们都见过便携式扬声器现在变得流行,但其中大多数都非常昂贵,所以我将向您展示如何用最少的零件制作自己的便携式扬声器。制作和测试只需要 1小时,并且可以在任何常用的 USB 充电器上运行。所以
    发表于 07-31 16:18

    光积电便携式储能电源:为移动设备带来无限动力

    在现代移动生活中,移动设备成为了我们生活中不可或缺的一部分。然而,频繁的使用和长时间的待机往往使得移动设备的电池寿命成为一个限制因素。为了解决这一问题,便携式储能电源应运而生,为移动设备带来
    的头像 发表于 07-18 17:55 421次阅读
    光积电<b class='flag-5'>便携式</b>储能<b class='flag-5'>电源</b>:为移动设备带来无限动力