新闻中心

EEPW首页>医疗电子>设计应用> 医用动态电源管理模块设计方案

医用动态电源管理模块设计方案

作者: 时间:2011-09-16 来源:网络 收藏
1.2 驱动程序设计

本文引用地址://m.amcfsurvey.com/article/199720.htm

  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具体值为:



评论


相关推荐

技术专区

关闭