电池管理及监控设计

最新更新时间:2013-03-16来源: EDN关键字:电池管理  监控设计 手机看文章 扫描二维码
随时随地手机看文章

  1. 前言

  随着信息技术的飞速发展,移动终端设备如手机、PDA、掌上电脑等产品正越来越多地得到广泛使用。加上目前移动终端设备的处理器性能不断提高、无线应用程序不断增加、图形功能越来越先进。功能上的增加,导致了移动终端产品的功耗越来越大;因此,对电池的提出了更高的性能要求,尤其体现在电池的管理方面,其中包括电池的充电管理和电池的监控,这是嵌入式产品开发中必须考虑的问题。

  2. 电池管理芯片介绍

  2.1. 电池充电管理芯片bq24032A

  电池管理芯片bq24032A支持USB充电和AC充电方式。通过bq24032A对电池进行充电。此芯片提供整个系统的电源输出。其中电池管理芯片bq24032A 的VBAT接于电池监控芯片bq26220的VBAT引脚。PSEL为电源选择端口,可以用于选择由那种输入电源作为主输入电源(USB或AC)。如果主输入电源不可用,系统将自动采用第二种输入电源进行输入,电池输入作为最后的选择,当USB或AC电源不存在时才选择使用电池作为供电源。PSEL被设置为低时,USB被选择为主输入[1]。下图1为电池管理芯片bq24032A及其外围电路图:

  
图1 电池管理芯片bq24032A及其外围电路图

  2.2. 电池监控芯片bq26220

  bq26220芯片是先进的电池设备监控模块,它可精确地测量充电和放电电流,并支持所有管理电池容量的必要功能,这个芯片可用于手持电话、PDA、和另外的便携式产品中。bq26220芯片和主控制器一起执行电池的管理功能,主控制器负责将bq26220的数据传送到终端用户电源管理系统中和接收相应的数据。这个模块提供64比特通用闪存,8比特的ID ROM,和32比特的RAM存储空间。这些非易失的存储空间能够保存电池的监控信息或关键的电池参数。

  其中,BAT为电池电压检测输入端口,这个引脚被用于检测和测量电池的电压值。HDQ为单线HDQ接口,是一个单线串行通信接口,它是双向输入的,负责将寄存器的信息传递给主控制器,并接收主控制器的信息到寄存器中,电池监控芯片bq26220 的HDQ端口接于PXA272处理器的GPIO119端口[2]。下图2为bq26220芯片原理模块图:

  
图2 bq26220芯片原理模块图

  3. 电池驱动模型和驱动初始化过程

  Windows CE中包含的样本设备驱动程序分为两种类型:单片驱动程序(Monolithic device driver)和分层驱动程序(Layered Device driver)。采用分层开发模式可以降低开发难度,缩短开发周期,在电池驱动开发中使用分层驱动开发模式。

  分层驱动程序由两个独立的层组成:上层是模型设备驱动程序(MDD),下层是依赖平台的驱动程序(PDD)。设备驱动程序服务器提供的接口(DDSI)是在PDD中实现的函数集,并由MDD调用。由于微软提供了所有与MDD模块相关的源代码,所以对这部分不用做任何改动,只需将自己的PDD模块与MDD模块链结成一个公用库即可[3]。MDD通过IoCTLS调用PDD中的特定函数来访问硬件的具体特性。

  Windows CE电池驱动要求的MDD函数包括:

  Init、Deinit、Open、Close、Read、Write、Seek、PowerDown、PowerUp、IOControl。

  Windows CE电池驱动要求的PDD函数包括:

  BatteryPDDInitialize、BatteryPDDDeinitialize、BatteryPDDGetStatus、BatteryPDDGetLevels、BatteryPDDSupportsChangeNotification、BatteryPDDPowerHandler、 BatteryPDDResume。

  电池驱动初始化过程

  在系统上电自检成功后,上层调用电池驱动入口函数,进行电池驱动初始化工作:

  (1)判断是否已经进行中断事件初始化,如果没有初始化,则进行下面的操作,如果已经进行了一次初始化,则关闭事件句柄。

  (2)初始化电池全局变量。

  (3)如果中断事件成功,则调用ResumeThreadProc创建电池线程。在线程的主调函数中,设置电池线程的优先级,然后在循环中等待中断事件。

  (4)调用PDD层的初始化函数BatteryPDDInitialize;在PDD层中,为GPIO寄存器和电源管理寄存器开辟两段虚拟内存。

  (5)初始化AC97的寄存器。

  (6)初始化存放电池电量值的环形缓冲区。

       (7)调用BatteryAPIGetSystemPowerStatusEx2函数更新电池电量结构体PSYSTEM POWERSTATUS_ EX2中的数据。

  4. BatteryAPIGetSystemPowerStatusEx函数

  BatteryAPIGetSystemPowerStatusEx函数主要获取系统电源状态值。在执行过程中是通过调用BatteryAPIGetSystemPowerStatusEx2函数来完成的。而BatteryAPIGetSystemPowerStatusEx2函数调用 BatteryPDDGetStatus函数以获取电池状态信息,BatteryPDDGetStatus函数通过调用GetMainBatteryVoltage获取主电池电压值,通过调用GetPowerDevStatus获取电池设备状态,并获取剩余电量的比例值。下图3为BatteryAPIGetSystemPowerStatusEx函数调用关系图:

  
图3 BatteryAPIGetSystemPowerStatusEx函数调用关系图

  5. CalcMainBatteryVoltage获取电池电压值

  Bq26220通过BAT端口检测电池电源,并

且通过寄存器BATH-BATL传递给上层。这个BATH(地址=0x72——从第0比特到第2比特)和BATL低比特寄存器(地址=0x71——从第0比特到第7比特)包含电池电压经过ADC转换后的结果。这个电压以11比特、2.44mV为步长、并带有LSB的二进制形式表达出来。BATH寄存器的第3比特代表MSB,BATL的第0比特代表LSB。最大电压测量范围为5V。

  BATH寄存器的第3比特到第7比特存储电压ADC后的偏移量信息,这个最重要的信息比特是在4比特(第3比特到第7比特)偏移数据后的标记比特。

  LSB获取修正因子,以μV为单位,主控制器负责通LSB 获取修正因子和偏移量来测量ADC后的电压值。下面是计算公式:

  正确的=VBAT×(2.44+LSB修正因子)-偏移量

  计算举例如下:

  例如:如果真实的LSB=+2.45mV,偏移量=+80mV

  计算正确的VBAT:

  LSB修正因子=+10μV=0.001 mV

  偏移量=+10 ×8mV=80 mV

  正确的=VBAT×(2.44+0.01)-80

  程序具体实现流程如下图4:

  
图4 CalcMainBatteryVoltage函数流程图

  6. 电池电量计算方法

  原来电池电量百分比显示的其实是电压百分比。可是硬件方面测试发现,电池电量和电池电压并非成简单的线性关系,因此需要分区间进行百分比的转换校正。常温下,我们设备获得的电池电压和电量曲线大致如下(图5):

  
图5 电池电压和电量的关系图

  在驱动程序中创建了一个为16个字长度的环形缓冲区,采样点数增加为16个,这样可以增加对采样结果的可靠性。电池电压采样值even_samp为16个采样值的和去掉一个最大值和一个最小值后再取平均值。

  在我们的移动终端设备中,电池的最大电压为559(4.10V),最小电压为455(3.30V),以图5中的两条虚线作为区间的分界线,可分为4.10V~3.80V,3.80V~3.60V,3.60V~3.30V这三个区间,对电池电压值进行分区间的处理,三个区间上的曲线斜率近似为:

  4.1V~3.80V:Kl=(100-70)/(4.10-3.80)
       3.80V~3.60V:K2=(70-20)/(3.80—3.60)
       3.60V~3.30V:K3=20/(3.60-3.30)
       4.10V~3.30V:K=100/(4.10-3.30)

  在进行电池电量百分比的转换时,当我们获得在559~455区间内的采样值后,首先获得原来的百分比值voltage_percent= (even_samp-455) * l00/(559-455)。然后针对不同的区间进行相应的调整,得到的电量百分比分别为:

       4.10V~3.80V:voltage_ercent+=(4.10-even_samp * 7.5/1024)×(K-K1)
       3.80V~3.60V:voltage_percent+=(3.80-even_samp * 7.5/1024)×(K-K2) 
       3.60V~3.30V:voltage_percent-=(even_samp-3.30V * 7.5/1024)×(K-K3)

  通过对以上三个区间的分别处理,这样就获得了相对正确的电池电量[4]。

  7. 小结

  本文介绍了在Windows CE系统中,基于电池充电管理芯片bq24032A和电池监控芯片bq26220芯片的电池驱动的实现。主要介绍了电池电压的获取和电池电量的计算方法。对电池管理提供了很好的借鉴。

  参考文献: 
       [1] TI公司关于电池管理芯片bq24032A的资料
       [2] TI公司关于电池监控芯片bq26220的资料
       [3] 傅曦.Windows CE 嵌入式开发入门——基于Xscale架构[M] 北京.人民邮电出版社,2006 :227-230.
     

;  [4] 杨明.军用手持仪器剩余电置的实时预测D].电子质量.2005.

关键字:电池管理  监控设计 编辑:探路者 引用地址:电池管理及监控设计

上一篇:高线性度SiGe下变频混频器
下一篇:节约电池电能的监控电路

推荐阅读最新更新时间:2023-10-17 15:15

基于ZigBee的医院监控系统设计
传统医院监控系统采用有线网络监视,通过RS-485或其他有线方式连接到主机上。这样的监控系统必须在医院病房及走廊上进行线路布置,且监控节点需固定在某个位置上,不能带出病房,在系统出现故障时维护困难。 如今医院监控系统正利用无线通讯方式的及时性和移动性,结合医疗管理系统建立无线监控系统,使对病房的监控(包括病人体温监控及病人的呼叫监控)处于计算机网络系统管理之下,从而及时应答病人请求。 目前主要流行的无线通讯技术包含了IrDA红外线技术,蓝牙技术和ZigBee技术等。IrDA红外线技术属于半双工通讯方式,使用上不便且失误率较高。而蓝牙技术成本较高,网络容量有限,不适于网络节点数较多的医院监控系统。而ZigBee作为新型无线组
[单片机]
基于ZigBee的医院<font color='red'>监控</font>系统<font color='red'>设计</font>
基于网络的温湿度监控传输系统的设计
本文通过比较和方案论证,确定了一种新型的基于网络的温湿度监控系统,即将所采集的一个或多个温湿度传感器测量结果通过Intemet以网页的形式动态发布,同时,任意一台上位机都可以根据管理员的授权通过网络对温湿度控制装置下达指令,对任一节点进行控制。对于这种方案,能接入Intemet的任何一台PC机可以实现对各个传感器工作状态的监控与管理,实现了无距离限制的测控网络,非常方便灵活。 1 系统总体结构 该系统总体结构如图1所示,各个温湿度测试控制模块都带有网络接口,通过路由器与中心服务器相连。中心服务器包括IIS信息服务器系统和SQL数据库服务器,前者负责与处于联机状态的温湿度测试节点通信获取温湿度测量结果,然后通过Intemet以网
[模拟电子]
基于网络的温湿度<font color='red'>监控</font>传输系统的<font color='red'>设计</font>
基于单片机的应用于视频监控的矩阵切换器设计
1 引言 在重大事件、零售场、交通控制等方面,都需要进行视频监控。视频监控系统中存在多点分布与集中监控的矛盾,不适合采用一对一的监视。一对一的监视即一部摄像机对应一台监视器,这样监控室体积庞大,投资高。一般采用一对多的监控,即一台监视器对应多台摄像机,用足够少的监视设备实现多点监控,这样视频切换控制设备在监控系统中具有极其重要的地位。在视频切换控制中,矩阵切换应用十分广泛。 2 视频矩阵切换原理 视频矩阵切换控制将多路输入信号任意选择一路或多路分别输出给一路或多路显示设备,用于规模较大的监控系统中。它可以选择性地观察图像,指定在某台监视器上输出显示。 在
[单片机]
基于单片机的应用于视频<font color='red'>监控</font>的矩阵切换器<font color='red'>设计</font>
基于Zigbee的智能车运行状态实时监控系统设计
0 引言 智能车又称轮式机器人,是集传感器、计算机、自动控制、通信以及机械等技术于一身的综合系统。在智能车的设计和制作过程中,控制算法调试是一个极其重要而又关键的环节,面临着许多急需解决的问题:智能车能否按照事先设计的思路运行;控制策略是否符合实际需求;运行中出现问题时,智能车的各项实时参数是什么。针对这些问题,许多学者提出了基于仿真的解决方案。有学者提出基于参数化的机械系统几何模型,使用拉格朗日方法建立系统动力学方程,来对虚拟机械系统进行动力学分析。但由于车辆机械结构的复杂性,这种建模和仿真方式过于繁琐,影响了仿真和研究的效率。清华大学针对全国大学生智能车竞赛开发的PlaSTid仿真平台,其动力学模型虽然较为简单,但该模型是
[嵌入式]
基于STM32和CAN总线的电动车电池管理系统设计
  随着电池能源的广泛应用,石油资源的枯竭和环境污染,电动汽车以其节能环保的优势引起越来越多的重视,在电动汽车的研究和发展上,车载电池及其管理系统的研究与制造占据着重要位置。电动汽车动力电池在应用中的主要问题表现在:生产过程中,电池的工艺,技术以及成组技术还不能保证其初始性能具有良好的一致性;使用过程中,对过充电、过放电、过温度、过电流等非常敏感,这类情况的发生会明显缩短电池寿命,甚至会导致电池报废。电池组是几十个甚至上百个单体电池串联,单体电池之间存在不一致性,随着连续的充放电循环,电池间的不一致性加剧,电池组的可用容量受容量最小的单体电池制约。对于这些情况,电池的初始性能必须要依靠企业生产工艺的优化,生产过程关键参数的控制来改
[电源管理]
基于STM32和CAN总线的电动车<font color='red'>电池管理</font>系统<font color='red'>设计</font>
基于GPRS无线数据交换的挖掘机监控系统设计
简介:设计了一种用于挖掘机状态监测系统中的基于GPRS的无线数据交换系统,介绍了系统原理和设计方案,并详细阐述了监测终端的硬件设计和系统的软件设计。硬件系统采用AVR单片机作为数据传输的控制中心,GPRs模块采用内置的TCP/IP传输协议,既保证了数据传输的实时性和可靠性,而且经济实用。 O 引言 近年来,挖掘机进入了机电一体化时代,监控部件沿着智能化、集成化和网络化的方向发展,先进的监控设备是实现机电一体化的基础和平台。而GPRS(General Packet Radio service通用分组无线业务)具有传输速率高、实时在线、覆盖范围广等特点,不仅可以满足挖掘机监控系统数据传输实时性的要求,而且节约成本、可靠性高、实现灵
[单片机]
基于GPRS无线数据交换的挖掘机<font color='red'>监控</font>系统<font color='red'>设计</font>
一种智能家庭监控系统的设计
摘要:介绍了一种基于MCU控制的智能家庭监控系统的硬件电路及软件设计。MCU通过UART与TC35i生行通信,并控制TC35iNGSM网络模块收发SMS短消息,从而实现家庭安全监控与报警、家用电器自动化控制等功能。 关键词:智能家庭系统;GSM模块;TC35i 0 引言 智能家庭系统,也被称为智能家居系统(Intelligent Home System),是一种开放的、使用了多项高新技术的智能化、人本化的集成系统,它把宽带互联网、家电设备、家居自动化和家庭安全防护防盗有机地结合到一起。GSM(Global System for Mobile Communications,全球移动通信系统)是基于时分多址技术的移动通信
[工业控制]
一种智能家庭<font color='red'>监控</font>系统的<font color='red'>设计</font>
基于GSM网络的火灾报警网络监控器的设计
  前言   火灾报警网络监控器是火灾报警系统与城市火灾报警网络监控中心的一个中间设备,它完成火灾报警系统和城市火灾报警网络监控中心之间的信息转发。城市火灾报警网络监控中心只有通过火灾报警网络监控器才能将整个城市的火灾报警系统连成一个火灾报警监控网络,达到快速掌握城市火警动态的目的。城市火灾报警网络的组成如图1所示。      传统的城市火灾报警网络一般是基于PTSN网络(公用电话网)通过DTMF信号进行通讯的。火灾报警网络监控器利用modem芯片发送和接收DTMF信号,网络监控中心利用语音卡等设备发送和接收DTMF信号,利用PTSN网络实现的城市火灾报警网络实现低成本,通讯可靠性高的特点,所以得到了广泛的应用。
[安防电子]
基于GSM网络的火灾报警网络<font color='red'>监控</font>器的<font color='red'>设计</font>
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved