基于SMBus的智能电池系统
摘要: 本文概要地介绍了智能电池系统,并介绍了一种典型芯片——Max1660的电量计数及电池保护等功能,给出了一个应用实例。
关键词:智能电池 电量计数 SMBus Max1660
现代社会对产品寿命需求和对产品的性能和功能的要求迅速提高。最新的掌上电脑要求把最多的功能压到最少的空间中去,这就驱使电池的设计者不得不考虑在产品设计方面做显著的变化。这包括;使用低压器件,关掉未在使用的子系统,对应用程序进行管理,发展智能电池和电池管理系统等。
新的智能电池的设计需要各种不同甚至相反的领域的知识,在某些应用中甚至是全新领域的知识。这些领域包括关于电池运行的电池化学知识;关于系统各零件相互作用的系统工程知识和使用者怎样操作一个特殊设备的设计知识。因此,一个规范或者说一个标准将必不可少,它可以简化设计,提高系统的可移植性。
智能电池规范
电池的智能化是最近才发展起来的,这就使得智能电池的实现方案多种多样。因而,一些标准开始出现。这些标准一般是由便携电脑制造商推动的。但在一些单电池系统中,例如在蜂窝式移动电话系统中,成本问题限制了电池系统一些操作,使智能电池标准的发展复杂化了。
一线接口 电池包与系统的通讯是一个很重要的需要考虑的因素。这个接口要有尽可能少的信号线以减少电池包的连线数。因而,许多单电池系统采用一线接口(1-wire),例如,蜂窝移动电话。在1-wire接口中,0或1取决于信号线上0的有效周期。这种类型的接口提供了一个异步连接。当前有三种不同的一线接口(1-Wire),它们之间只有轻微的差别。由于其内在特点,一线接口的传输速率很慢。在低成本系统中,这样的速率是可接受的,因为只有极少的信息需要传递给主机。但在多电池系统中,就有更多的信息需要传递给主机,这是就要求有更快的接口速度了。
SMBus接口 1996年,Intel(联合其它公司)推出了一个由PC-I2C变异而来的系统管理总线(SMBus)。它与I2C总线一样有两根通讯线,但是加入了低电平选择并且对器件对总线的控制实践做了严格规定。作为系统管理总线(SMBus)发展的一部分,Intel与其合作伙伴创建了智能电池标准。这个规范在SMBus接口顶层增加了一个协议,定义了一系列的命令以用于电池包、电池充电器、电池选择器和主机之间的通讯。而这些命令和协议并非必需的,可以选用。
基于MAX1660的智能电池应用实例:
MAX1660 是美信公司生产的一种能够精确测量流入充电和流出放电系统电池组的电量计数芯片,它能将电池电量存入内部两个独立的32 位充电和放电计数器。它通过强大的数字比较功能,判断当充电或放电计数器达到主机设定值时,中断主CPU,来完成主机设定得功能。该器件也可以在电流方向发生变化时通知主机,并具备保护电池组短路及过流的功能。MAX1660 提供一个兼容于SMBUSTM系统管理总线的二线串行接口来访问充电放电量计数器和内部寄存器,同时也能够给主机提供一条可用作中断信号的系统管理总线报警线SMBALERT。
1. MAX1660 的引脚及功能
MAX1660 的引脚排列如图1 主要引脚功能如下:
javascript:window.open(this.src);" style="cursor:pointer;"/>
u INT,中断信号漏极开路输出,低电平有效,INT接上拉电阻100k至VL引脚。
u REF,2.00V 精密电压基准输出,REF对AGND 接10nF旁路电容。
u SHDN,关断控制输入,低电平有效。
u CS,电流检测电阻输入。
u ODI,放电过流检测输入。
u OCI,充电过流检测输入。
u VL,3.3V 5mA线性电压输出VL对GND接0.33mF旁路电容。
u BATT,电源输入。
u ODO,高压漏极开路MOSFET栅极驱动输出,ODO控制电池放电信道的开/关。
u OCO,高压漏极开路MOSFET栅极驱动输出,OCO控制电池充电信道的开/关。
u RST,上电复位输出,低电平有效RST接上拉电阻100k至VL引脚。
u SDA,串行数据输入/输出,在SDA和VL 之间接10k电阻。
u SCL,串行时钟输入,在SCL和VL之间接10k电阻。
2.MAX1660的控制、状态与读写时序
MAX1660有一个16位的状态字和一个16位的控制字,主机可通过读状态字来判断电池状态,写控制字来控制电池系统。其状态字的定义如表1,控制字定义为如表2
表1
位名称 | 位 | 上电复位状态 | 说明 |
—— | 8--15 | 1 | 未使用通常返回1。 |
ODSTATUS | 7 | 0 | 过流中断状态位,当放电过流时,此位置位。当软关断、上电复位或控制字CLRINT位置位时,此位清零。 |
OCSTATUS | 6 | 0 | 过流中断状态位,当充电过流时,此位置位。当软关断、上电复位或控制字CLRINT位置位时,此位清零。 |
COMPSTATUS | 5 | 0 | COMPINT中断状态位,当COMPINT中断发生时,此位置位。当软关断、上电复位或控制字CLRINT位置位时,此位清零。 |
COUNTSTATUS | 4 | — | SETCOUNT状态指示位,当控制字SETCOUNT置位时此位置位。当SETCOUNT位清零时,此位清零。 |
SHDNSTATUS | 3 | 0 | 软关断状态指示位,当器件处于软关断模式时返回1,否则返回0 |
CHARGESTATUS | 2 | 0 | 充电状态指示位,充电状态检测时此位置位,放电状态检测时此位清零。 |
DIRCHANGE | 1 | 0 | 当电流方向发生变化时,此位置位。当软关断、上电复位或控制字CLRINT位置位时,此位清零。祥见参考文献1的电流变化检测部分。 |
—— | 0 | 0 | 未使用通常返回1。 |
表2
位名称 | 位 | 上电复位状态 | 说明 |
—— | 11--15 | 1 | 未使用。 |
DIRINTENABLE | 10 | 0 | 电流方向变化允许位。此位置位允许方向变化中断发生,清零则禁止此功。祥见Direction-Change Detection Function section。 |
SOFTSHDN | 9 | 1 | 软关断允许位,此位置位允许软关断,清零恢复正常操作。祥见参考文献1的Shutdown Modes section。 |
CLRCOUNTER | 8 | 1 | 清计数器,写1将放电计数器和充电计数器全都清零。 |
CLRINT | 7 | 0 | 清中断,写1使ODSTATUS, OCSTATUS, COMPSTATUS, 和DIRCHANGE.清零 |
SETCOUNT | 6 | 0 | 计数器选择位,用来选择将哪个计数器的值传输到COUNT寄存器,置1选择充电计数器,清零则选者放电计数器。祥见文献1的Charge and Discharge Counters section。 |
OFFSETMEAS | 5 | 0 | 偏移量测量允许位,置位时使CS端与内部电路断开,短接到AGEND。清零时CS端重新接到内部电路,恢复正常操作。参看文献1的internal Offset Measurementsection。 |
COMPENABLE
|