关键词:DS2762; 锂电池监测; 单片机
1 主要特点
为了满足当前移动性和轻便性的要求,设计便携式产品时通常采用电池供电。而使用电池供电时,电池的当前状态往往是用户所关心的问题之一,当前的智能电话、数码相机等都需要实时显示电池的当前状态。通过MAXIM公司的DS2762即可实时监测电池的电压、电流、充放电状况及剩余电量等参数,并可以把这些数据储存起来,提供给单片机作相应处理。
DS2762芯片是MAXIM公司推出的新一代智能锂电池监测芯片,该芯片集数据采集、信息储存、安全保护于一身,而且功能强大、硬件接线简单。其主要特性如下:
●仅用一根双向数据线即可实现与单片机的通讯。
●内含温度传感器,可免去在电池块内装设热敏电阻。
●片内模数转换器可进行电池电压监测,以用于判定电池充电和放电的结束。
●通过片内电流累加器可实时记录电流流入、流出的总量。
●具有两种电流感应模式?一是片内25mΩ电阻感应方式,二是可由片外用户选择的电阻感应方式。
●具有两种电源模式:即工作方式和睡眠方式。在正常工作模式,DS2762可实时监测电流、电压、温度和剩余电量等参数,而在睡眠模式,DS2762将停止对这些参数的监测。
2 引脚功能
DS2762的引脚排列如图1所示,各引脚的功能如下:
CC:充电保护控制脚;
PLS:用户端电压正极;
DC:放电保护控制脚;
SNS:感应电阻连接端;
DQ:数据输入、输出端口;
IS1,IS2:感应输入端;
PS:电源模式选择端;
VSS:接地;
PIO:可编程I/O端:可根据需要控制用户定义的外围电路;
VDD:电池正极输入?
Vin:感应电压输入。
3 DS2762的存储结构
DS2762内含EEPROM、可锁存EEPROM、SRAM和其它一些功能寄存器,表1是DS2762的内部存储器结构。其中EEPROM是非易失性存储器,具有掉电保护功能,可用于储存电池的重要信息;处于锁存状态时,也可用可锁存EEPROM储存其它一些固定信息;SRAM一般用于储存一些不重要的临时数据。采集到的数据先存到RAM,然后进入EEPROM;实际上,EEPROM中的信息也可复制到RAM,这两者是镜像关系。
表1 DS2762的内部存储器结构表
地 址 | 内 容 | 读写状况 |
00H | 保护寄存器 | 可读写 |
01H | 状态寄存器 | 只读 |
02H-06H | 保留 | |
07H | EEPROM寄存器 | 可读写 |
08H | 特殊寄存器 | 可读写 |
09H-0BH | 保留 | |
0CH | 电压寄存器的最高有效位 | 只读 |
0DH | 电压寄存器的最低有效位 | 只读 |
0EH | 电流寄存器的最高有效位 | 只读 |
0FH | 电流寄存器的最低有效位 | 只读 |
10H | 电流累加寄存器的最高有效位 | 可读写 |
11H | 电流累加寄存器的最低有效位 | 可读写 |
12-17H | 保留 | |
18H | 温度寄存器的最高有效位 | 只读 |
19H | 温度寄存器的最低有效位 | 只读 |
1AH-1FH | 保留 | |
20H-2FH | EEPROM,块0 | 锁存时只读,未锁存时可读写 |
30H-3FH | EEPROM,块1 | 锁存时只读,未锁存时可读写 |
40H-4FH | 保留 | |
80H-8FH | SRAM | 可读写 |
90H-FFH | 保留 |
DS2762的操作命令有两类:一类是地址命令,包括读地址、地址匹配、跳过、SWAP等。另一类是功能命令,包括读数据、写数据、复制数据、取消数据和锁存等。
4 应用
以DS2762为核心设计的智能锂电池监测系统的硬件结构如图2所示。本系统采用片内电阻感应方式。
本电池监测系统由DS2762锂电池监测芯片、51单片机和液晶显示模块组成。DS2762主要完成对电池当前状态的监测,包括当前电池的充、放电状态、电压、电流、温度和剩余电量等参数的监测,同时它还能自动采集这些数据,并将其放在存储器中。场效应管FET1、FET2等构成了DS2762的充、放电保护回路,可用于实现过压、欠压、充电过流以及短路保护等功能。
通过8051单片机可以按照用户需要对电池的相应参数进行读取和处理,然后送往液晶显示模块进行显示。由于存放这些参数的EEPROM具有非易失性,所以本系统同时具有掉电保护功能。图2电路中的单片机是整个系统的控制处理中心,由于大量的工作均可由单片机来完成,因而明显地降低了该系统的硬件复杂度。
液晶显示模块可用来显示用户需要了解的电池当前状态信息,以便用户可根据这些信息作出相应的处理。实际上,该液晶显示模块只接受单片机的控制和访问。
由于DS2762与单片机进行数据通讯时仅用一根数据线,因此,必须严格按照芯片的读写时序要求来编写程序,这样才能保证数据的正确读写。下面介绍利用DS2762芯片来对电池的工作方式和电压、电流、温度、剩余电量等参数进行监测的具体实现方法。
(1) 电池工作方式的监测
要确定电池在使用中处于何种工作方式,可利用DS2762中电流寄存器的值来进行判断。单片机每88ms监测一次电压,并将IS1和IS2两端的压差(Vis=Vis1-Vis2)转换成电流存入电流寄存器。若Vis为正值,说明电池正在充电;若Vis为负值,说明电池正在放电,也就是仪器正由锂电池供电。其软件流程图见图3所示。
(2) 电池电压和温度的测量
由于DS2762芯片内部集成有A/D转换器和数字温度传感器,因此,要获得电池的电压、温度等参数,只需通过单片机对DS2762发出采集电压、温度的控制命令,并待其采样完毕后自动将电压、温度的测量值存入相对应的寄存器,最后再由单片机读取寄存器的内容即可。
(3) 剩余电量的监测
电池的剩余电量是用户所需要的重要信息之一,它可利用电流累加寄存器中的值来求得。电流累加寄存器的值是由DS2762实时自动测量电池电流后得到的,因而无须对其进行控制。通常在电池充电时,该值增加,电池放电时,该值减少。这样,通过单片机读取此值即可获得剩余电量。剩余电量监测的流程图见图4所示。
在单片机对DS2762进行任意存储命令操作时,每个命令发出之前都必须按照DS2762的复位时序要求先发出复位信号且等待DS2762的应答(以示DS2762准备接受或发送数据),然后再发出一个ROM命令以用于选择总线上要访问的DS2762。在本文的程序流程图中,此过程已在“DS2762的初始化”程序中所包含。
一般情况下,在读取电流累加寄存器的值时,为防止读取错误,要先检查DS2762是否正在修改寄存器的内容。这一点可通过判断EEPROM寄存器的EEC位来实现。
5 结束语
本文介绍的基于DS2762芯片的智能锂电池监测系统是便携式仪器的一部分。本系统功能强大、操作方便,能够与其它系统协同工作。随着各种便携式电子产品的广泛应用,电池实时监测已成为系统设计的一种必不可少的功能,因此,本文所介绍的系统具有较强的实用性。