中颖SH366000介绍和使用全解
特性
- 实现2/3/4串锂电池的充放电管理及安全保护
- 兼容SMBus v1.1和SBData1.1规范
- 库仑积分法和开路电压法相结合,确定电池剩余容量
- 根据当前温度和电流,结合内嵌模型动态计算放电截止电压
- 具有自学习功能,通过一次完整的充放电过程即可获取实际最大容量
- 提供过载及短路保护,实现过压/低压/过温/低温时电池组的保护
- 提供二级安全保护
- 提供电池平衡功能,延长电池使用寿命
- 支持4-,5-LED输出,显示绝对或相对剩余电量百分比
- 低功耗系统设计
- 预充电功能(在电池电压比较低或温度比较低时,只允许小电流充电,防止电池受到冲击损坏)
引脚
参考原理图
功能描述
工作状态判断
SH366000每秒通过检测PRES引脚电平来判断电池组是否接入应用系统。当检测到电池组接入应用系统时,SH366000进入正常操作状态,在1秒内打开充电MOSFET和放电MOSFET;当检测到电池组脱离应用系统时,关闭所有充放电MOSFET。
参数测量
SH366000通过采样电阻来计算电流值,通过库仑积分获取剩余电量,并每秒更新一次剩余电量RemCap。
SH366000每秒测量一次温度、各串Cell电压及电池组电压。通过PackConfig中Bit4-3可配置电池组结构为2串、3串或4串电芯。
电量计量
SH366000电量计量流程如Figure 3所示,由充放电放电、电子负载补偿、带温度补偿的自放电三部分组成。
RemainCapacity() (RemCap)表示电池组当前可用电量。依据BatteryMode()中的Bit15设置有mAh和10mWh两种表示方式。SH366000在EDV2,EDV1,EDV0三个EDV电压和VOC25,VOC50,VOC75三个可编程中间校准电压处均可进行容量调整。
FullChargeCapacity() (FCC) 是电池实际最大容量,可通过一次Learning循环 (完全放电,完全充电,完全放电)进行更新,新的FCC不会小于目前FCC-256mAh或大于目前FCC+512mAh。
DischargeCountRegister() (DCR)为放电计数器,用于更新FCC。DCR只在放电时计数,由放电计数、电子负载补充、自放电补偿三部分组成。SH366000放电开始时DCR=FCC-RC,在电池电压降至EDV2时终止DCR的计数,并更新当前FCC。
放电截止电压(EDV)
SH366000通过EDV2,EDV1,EDV0三个电压点进行容量和电压的统一。通过配置GasGaugeConfig,可设置SH366000依据电压最低的Cell电压或整个电池组的电压进行EDV调整、采用固定EDV电压或动态CEDV电压作为当前EDV电压、以及是否采用固定EDV0电压等。
若SH366000电压先降到EDV点而RemCap未到阈值时,调整RemCap到当前EDV所对应的容量;若RemCap到EDV所对应阈值而电压未到EDV时,在电压降至EDV之前RemCap不再减少。
当放电电流超过Overload时,暂停EDV的判断和计算;电流恢复正常后重新开始EDV判断和计算。EDV0对应容量为0%,EDV1对应容量为3%,EDV2对应容量为BatteryLow%,可根据需求设定。
有效放电及自学习(Learning)
SH366000通过一次Learning过程(放空、满充、放空)来更新FCC。放电起始时剩余电量应大于FCC-NearFull,并对DCR赋值 DCR=FCC-RemCap。当电池电压降至EDV2时终止DCR计数。FCC更新为DCR计数值和EDV2对应剩余容量之和:FCC(最新)= DCR(最终) +FCC x BatteryLow%。
放电中满足如下条件时为有效放电,置位VDQ。任一条件不满足时为无效放电,清除VDQ:
1)自放电和电子负载补偿总计不超过256mAh
2)温度始终低于自学习温度阈值LearningLowTemp
3)电压达到EDV2,且SH366000检测到EDV2时电压不低于EDV2-256mV
4)无中间校准发生
5)当到达EDV2或BatteryLow时,放电电流大于3C/32
6)当到达EDV2或BatteryLow时,无过载现象(放电电流大于Overlaod)出现
7)没有充电状态出现
自放电补偿
SH366000可对电池进行自放电补偿,补偿速度由SelfDischargeRate(缺省为0.2%/Day)设定:
电子负载补偿
SH366000可对自身系统进行电子负载补偿,参数由ElectronicsLoad设定。
中间校准
SH366000可进行中间校准,根据电池组的开路电压调整电池剩余电量。当温度在19℃~31℃之间,电流在-64~0mA之间的时间超过20秒时,执行中间校准。SH366000可通过GasGaugeConfig中VCOR设置是否进行中间校准,各中间校准电压由VOC25,VOC50,VOC75设定。中间校准优先级自上而下如Table3所示:
充电管理
SH366000基于CC/CV模式进行充电控制。当充电电压恒定,充电电流小于设定值时充电终止。SH366000每20秒对充电器广播一次充电电压和充电电流。充电电流可以分为三个:正常充电电流,预充电电流和零充电电流。
预充电控制
当电池组电压Voltage<PrechargeVoltageThreshold或低于EDV0阈值时,进入预充电模式;在Voltage> (PrechargeVoltageThreshold + PrechargeVoltageResetMargin)且高于EDV0后恢复至正常充电状态。
当温度低于预充电温度阈值(PrechargeTemperatureThreshold)时,进入预充电状态;在温度高于预充电温度阈值(PrechargeTemperatureThreshold+3)以上时恢复至正常充电状态。
SH366000可在PackConfig中禁用预充电功能,此时预充电MOSFET处于常关状态,须由充电器提供预充功能。
充电暂缓
SH366000充电过程中,检测到温度高于ChargeSuspendHighTemp时,置位TCA,对充电器广播零充电电流和零充电电压。在温度低于(ChargeSuspendHighTemp- 5)时恢复至正常充电状态。
SH366000充电过程中,检测到温度低于ChargeSuspendLowTemp时,置位TCA,对充电器广播零充电电流和零充电电压。在温度超过(ChargeSuspendLowTemp+ 5)时恢复至正常充电状态。
充电终止
SH366000充电过程中,当电池组电压Voltage大于(ChargingVoltage –TaperVoltage)、平均电流小于TaperCurrent的时间超过CurrentTaperWindows时终止充电,关闭充电MOSFET,并置位TCA和FC。
SH366000在无充电电流或电池与应用系统分离时清除TCA。在FC被清除前,重新处于充电状态时置位TCA。在RSOC小于FullChargeClear时,清除TCA和FC。
充电平衡
SH366000提供充电平衡功能。当充电电流大于BlanceIMin、VCELLMAX– VCELLMIN > CellBalanceMin且VCELLMAX>Cell BalanceThreshold时,对电压最高的Cell进行平衡。
当所有Cell的电压均高于CellBalanceThreshold或Cell中最高电压VCELLMAX超过(CellBalanceThreshold + CellBalance Window)时,CellBalanceThreshold=CellBalanceThreshold+CellBalanceWindow。每次充电开始时CellBalanceThreshold恢复至初始设定值。
当电池不平衡严重,即VCELLMAX– VCELLMIN > CellImbalanceMax且充电电流大于 BlanceIMin时,置位严重失衡标志CIM (PF Status),熔断FUSE。
LED显示
SH366000可通过相对方式或绝对方式显示剩余电量。采用相对方式时,使用RSOC显示剩余电量百分比;采用绝对方式时,使用ASOC显示剩余电量百分比。
SH366000采用4个或5个 LED显示显示剩余电量。SH366000采用4个LED方案时,每个LED显示25%;采用5个LED方案时,每个LED显示20%。
SH366000通过检测DISP引脚低电平来激活LED显示。
安全保护
SH366000检测电池系统的电压、电流和温度。当有异常状况出现时,关闭充放电MOSFET或熔断FUSE,保护电池不受损害。整个保护可分为三个部分:
硬件一级保护
SH366000硬件具有过载(Overload),充电短路(Short Circuit in Charge),放电短路(Short Circuit in Discharge)三种保护。
SH366000发生硬件充电短路时,关闭所有充放电MOSFET;一分钟后开启充放电MOSFET。电池组重新插拔时开启充放电MOSFET(或预充电MOSFET)。
SH366000发生硬件过载或放电短路时,关闭所有充放电MOSFET;一分钟后开启充放电MOSFET。电池组重新插拔时开启充放电MOSFET(或预充电MOSFET)。
软件一级保护
SH366000充电过程中发生单串Cell过压、电池组过压、过流或过温时关闭充电MOSFET(或预充电MOSFET)。电池组重新插拔或放电电流Current < -CurrentDetectedThreshold时开启充电MOSFET(或预充电MOSFET)
SH366000放电过程中发生单串Cell低压、过流或过温时关闭放电MOSFET。电池组重新插拔或充电电流Current>CurrentDetectedThreshold时开启放电MOSFET。
软件二级保护
SH366000充电过程中发生电池组电压超过安全高压、充放电过程中电流超过安全电流、温度超过安全温度、电池严重失衡、充电MOSFET或放电MOSFET关闭失败、内部通信失败、ADC超量程等现象时,关闭充放电MOSFET,熔断FUSE,设置Pflag为0x66。
当SH366000检测到PFIN为低电平时,也启动二级保护。
对DataFlash中Pflag写0x12可清除二级保护状态。
SMBus 通讯
SH366000兼容SBData v1.1指令。主机通过向SH366000发送相应的指令以获得电池信息。另外,SH366000可以广播报警和充电信息给主机。下表为SBData命令汇总。
寄存器介绍
如下介绍为方便展示,有内容省略,全部内容查阅数据手册。
SMBus广播
SM=1 且 CHARGE_MODE=1时,SH366000对Charger(Addr=0x12)广播CharingingCurrent(Command Code = 0x14)和ChargingVoltage(Command Code= 0x15)。
SM=1且AlarmMode=1时,SH366000对Charger(Addr=0x12)和Host(Addr=0x10广播BatteryStatus(0x16), Error_Code均为1。
SMBus时序
SBData1.1支持如下三种通讯格式:写双字节,读双字节,读字符串。
电池组系统参数
SH366000 依据不同的应用需求,如下参数需要配置:
应用系统配置
系统配置列表PackConfig,在SBData中作为 指令0x2f的高8位返回给主机
充放电管理配置
系统配置列表中GasGaugeConfig
DataFlash参数列表
该部分为DataFlash的参数列表,按照功能大致分为如下几部分:
- 系统配置
- 校准参数
- 充电管理
- 模拟前端配置
- 安全管理
- 客户自有信息
系统配置
计算/校准参数
安全管理配置
充电管理配置
模拟前端配置
客户自有信息
低功耗模式
SH366000有两个低功耗模式,分别应用于电池可从应用系统脱离(NR=0)和不可从应用系统脱离两种模式(NR=1),对于不可从应用系统脱离的模式,有仅开启放电MOSFET和开启充放电MOSFET两种模式:
SH366000应用于电池可从应用系统脱离(NR=0)时,当电流绝对值小于IdleCurrent、SMBus为低电平的维持时间超过2秒、PRES为高电平、且无安全条件发生则系统进入低功耗模式(Sleep Mode)。当上述任一条件不满足时退出低功耗模式。SH366000进入低功耗模式后,关闭充放电MOSFET。SH366000周期性检测系统的电压、电流和温度,并进行容量更新。
SH366000应用于电池不可从应用系统脱离(NR=1)时,当电流绝对值小于IdleCurrent、SMBus为低电平的维持时间超过2秒、PRES为低电平、且无安全条件发生则系统进入低功耗模式(Sleep Mode)。当上述任一条件不满足时退出低功耗模式。在NRCHG=0时,SH366000进入低功耗模式后,关闭充电MOSFET、开启放电MOSFET;在NRCHG=1时,SH366000进入低功耗模式后,开启充放电MOSFET。SH366000周期性检测系统的电压、电流和温度,并进行容量更新。
SH366000处于放电模式,电池组电压小于ShutdownVoltage,且pack端电压小于VpackThreshold时,SH366000进入关闭模式(Ship Mode)。此时,关闭所有的MOSFET,切断所有器件的供电。充电器重新连接VPACK时,系统重新启动。
SH366000也可通过指令进入关闭模式。当SH366000处于放电状态,上位机通过SMBus下达关闭指令时,SH366000将进入关闭模式,关闭所有的MOSFET,切断供电。当有充电器连接到VPACK时,系统重新上电启动。
EVM测试板使用
介绍
SH366000 EVM评估板是SH366000/SH367000电池管理系统的完整评估系统。包括SH366000/ SH367000应用电路,电流取样电阻,热敏电阻,PC通讯工具SmartTools及上位机软件。此EVM可用于对2/3/4串的锂离子和锂聚合物电池组进行电量的监控和预测、各串电芯平衡、关键参数监视,以及防止系统发生过充、过放、短路和过流等危险状态。用户可通过上位机读取SH366000 DataFlash内容,根据应用需求修改SH366000控制参数,记录充放电数据。
电脑上位机软件操作
SmartTools上位机软件菜单主要有‘文件’和‘选项’两个。
‘文件’可以开始记录管理界面数据和保存或读取DataFlash参数列表。
‘选项’中可进行DataFlash加封/解封,以及更换界面语言。在记录数据时,可通过‘设置数据记录选项’更改参数采样周期。
管理界面
SH366000遵守SMBus V1.1协议,兼容SBData v1.1智能电池管理规范。管理界面可查询SH366000所支持的所有协议。具体数据请参阅‘SH366000 使用指南’。
左侧为SH366000所支持的具体参数,右侧为Pack Status、Battery Status,、AFE Status,、Safe Status的逐位描述。
参数(DataFlash参数列表)
用户可根据自己应用设定电池组的参数,大致可分为系统配置,充电管理,安全管理,校准参数,前端相关,客户信息六个方面。具体数据请参阅‘SH366000 使用指南’。
参数列表可通过‘文件’菜单进行保存或读取。
校准
校准界面用于SH366000电压/温度/电流校准。请参照提示进行操作。
计算
SH366000可设置采用动态的放电终止电压,可保证较大的温度/负载范围内的容量准确性。此界面介绍如何计算合适的EDV参数。
- 加载电芯的开路电压与容量的对应表。
- 加载室温/高温/低温下分别在重载和轻载下的放电数据
- 选择电芯串联节数
- 选择剩余电量报警对应RSOC
- 选择不予统计的最小电流RSOC(此下的电量不予统计)
上电顺序
SH366000/SH367000提供针对电压、温度、电流的一级、二级保护,为保证系统的正常运行,系统需要按照如下的特定顺序上电:
1). 对VC5~VC1按照由低到高的顺序上电,即 VC5 → VC4 → VC3 → VC2 → VC1
2). 对PACK端接一高于5V电压激活SH366000/SH367000应用系统
3). 通过Smart Tools连接SH366000 EVM到PC
4). 通过上位机在Gasgauge中禁用二级保护
5). 依电芯及应用系统差异修改各参数,特别是校准相关参数
6). 修改电芯串数
7). 修改客户信息等其它参数
8). 进行电流、电压、温度校准
9).发送RESET指令(对ManufactureAccess发送0x0041),重新激活系统
10). 开启二级保护
11). 将PRES连接到PACK-
12). 形成完整充放电管理系统
SH366000 校准流程
SH366000校准包括Board Offset校准、电压校准、温度校准、电流校准四个部分。在执行校准时,请确保按照下述条件进行校准。
Board Offset校准
Board Offset是一个系统性的偏差。由于各个器件失调及温度系数的不一致,各个电路板之间的Board Offset并不一致。为保证系统测量精度,每块电路板需单独做Board Offset校准。
为保证精确测量Board Offset,建议在PCB连接电芯前进行校准。在PACK+和PACK-之间加电压,可保证无工作电
流流经采样电阻,所测量的Board Offset最为精准。
电压校准
电压校准可增加电压及温度测量精度。进行电压校准时,在VC1-VC5各点之间加任一已知的电压。将电压值填入Smart Tools校准窗口,并点击‘开始’,SH366000将自动完成校准。
温度校准
温度校准用于校准真实温度与SH366000校准温度之间的差值。将SH366000放入温度稳定的环境下一段时间后,将真实温度填入Smart Tools校准窗口,点击‘开始’,SH366000自动完成温度校准。
电流校准
电流校准时选用一个正常应用时的放电电流。将真实放电电流填入Smart Tools校准窗口,点击‘开始’,SH366000自动完成电流校准。
SH366000 量产流程
SH366000量产流程包括量产准备阶段和正式量产阶段两部分。
量产准备阶段
量产准备阶段,需完成如下步骤:
1 ). 设计并测试PCB
2 ). 关闭二级保护控制位
3 ). 根据需要应用需求填写DataFlash内容,如电池串数、容量、安全保护阈值等
4 ). 对多个PCB板进行电压/电流/温度/BoardOffset校准
5 ). 发送RESET指令(对ManufactureAccess发送0x0041),重新激活系统
6 ). 对电池组做不同应用条件下的充放电。在高温/低温条件下分别采用高/中/低三种负载放电
7 ). 将上述六个文件填入应用软件SmartTools中,按照应用条件选择参数后计算后得到CEDV相关参数ADJP0 - ADJP9,及中间校准电压VOC75/VOC50/VOC25。将结果做平均后填入DataFlash。具体步骤参考 ‘SH366000校准流程’。
8 ). 保存上述DataFlash列表,量产时作为模板使用。
正式量产阶段
SH366000量产主要包括如下步骤:
1). PCB焊接
2). 测试关键器件及电路,如MOSFET是否完好,FUSE电路工作是否正常
3). 将量产准备阶段所保存的DataFlash列表写入SH366000
4). 更新序列号/生产日期/产品名等参数
5). 完成电压/电流/温度/Board Offset校准
6). 发送RESET指令(对ManufactureAccess发送0x0041),重新激活系统
7). 开启二级保护控制位
8). 完成保护板的过充电,过放电,过电流,短路保护等安全条件测试,以及二级保护功能测试
9). 保护板与电芯连接
10). 做充放电功能测试,并查看DataFlash与写入值是否一致
11). 做完整的放电-充电-放电循环,得到电池真实容量
12). DataFlash参数加密
13). 完成外壳封装
14). 短路安全测试,及其它安全测试
15). 对SH366000写shut down 指令,进入低功耗模式
SH366000 PCB Layout
好的布线方式可以改进智能电池管理系统的性能。在SH366000 PCB布线过程中,如下几个问题需要注意:
- 电源滤波
- ESD冲击
- 小信号滤波
- 大小电流回路分离
电源滤波
SH366000内建LDO由PACK/BAT供电,在VCC输出3V。AVDD/VDD为内部库仑积分电路电源。
在VDD和GND之间(以及AVDD和AGND)需要加1uF去耦电容,电容应尽量靠近SH366000。回路较大时可能会导致电容去耦效果不明显,且可能形成天线受到外界噪声干扰。为防止ESD引起的干扰,电容两端到SH366000的连线应该尽量等长,且路径要尽量一致。
VCC/BAT/PACK端也应该放置去耦电容。BAT/PACK推荐电容值为4.7uF,VCC推荐电容值为1uF。同理,这些电容应尽量靠近SH366000,布线尽量短,且路径一致。
当ESD较强导致LDO关闭时,SH366000需要PACK重新连接充电器才会启动。BAT/PACK/VCC放置滤波电容可以有效的给ESD提供回路,减小对SH366000的影响。三个滤波电容的GND应放置在SH366000的GND和PACK-之间,可最大程度的减小ESD对SH366000的冲击。
通讯线保护
SH366000使用5.6V齐纳二极管防止外界ESD冲击。齐纳二极管应尽量靠近电池组连接头,接地端应直接返回到PACK-,以尽量减少对低压部分的干扰。
FET和电池组连接头保护
PACK+与PACK-之间,以及PACK+与BAT+之间应放置串联的0.1uF电容对,以防止ESD冲击。电容对的连接线应尽量的短和宽,以降低通路中的电感效应。
接地系统
为防止ESD对SH366000等敏感组件的干扰,应将ESD回路的GND和其它低电流回路的GND相分离,仅在取样电阻处单点相连接。推荐为低电流回路的GND使用单独的地平面。
取样误差
除去VCC/VDD/AVDD处去耦电容外,在取样电阻到SH366000之间采用差分对称布线的低通滤波网络可以有效提高库仑积分精度。滤波电阻和电容推荐使用100欧姆电阻和0.1uF电容。
ESD系统
为保护SMBus通讯线不受外界ESD干扰,在电池组连接头焊接处放置放电间隙。间隙推荐宽度为0.2mm。
电磁干扰
SH366000 应用电路在出现浪涌电流或ESD冲击时,大电流回路的感性阻抗较大,可能会将外界干扰引入到SH366000小电流回路中,对SH366000寄存器产生干扰或损坏。
解决此问题的最佳方式是将大电流回路器件等与SH366000等小电流器件分别放置在电路板的两侧。PCB布线时应尽量将大电流回路与SH366000信号线相分离。
射频干扰
通常而言,射频干扰对IC性能没有影响。但IC内部部分硅结构可能会响应射频信号,从而会在某些关键节点处产生错误的电压或电流,从而影响到SH366000性能。最明显的是FUSE控制电路,SAFE管脚通过PMOS、二极管、N-MOS以及PFIN返回SH366000。这个环路可能会响应射频信号,产生足够高的电压,开启控制FUSE熔断的NMOS,熔断FUSE。此处可以用GND将这个回路隔离,并尽量缩短线的长度。
SH366000 其它注意事项
1). 上电时按照VC5 → VC4 → VC3 → VC2 → VC1由低到高顺序上电。
2). 按照三串方案应用时,将VC1和VC2短接;按照二串方案应用时,将VC1、VC2和VC3短接
3). 刚连接电芯时,如果方案为二串方案,修改参数完毕前,请不要释放PACK+端的外部电源
4). 在对SH366000 DataFlash操作时,请确保BAT/PACK电压高于5.5V,否则设置可能无效
5). PCB布线中,请给Pin 23- 26 留出测试点,以备程序升级使用
6). DataFlash中缺省参数为4串参数,若应用方案为三串/二串,则需修改DataFlash中的部分参数
7). 因串数不同而需要修改DataFlash参数时,请最后修改PackConfig
8). 在修改DataFlash参数时,请确保电池处于正常状态,不在充放电过程中修改与充放电、保护、特别是校准相关DataFlash参数
9). 程序缺省关闭二级保护,请在DataFlash参数修改完毕、校准完成后再开启二级保护。