1 前言
大存储容量的电池组能源系统随着科学技术的迅猛发展已经越来越被人们所重视,在很多领域中都得到广泛地应用,如在汽车产业发展的新方向、新热点——电动汽车及混合动力车的研究及产业化中,将作为车载能源的主要供给者。
蓄电池组是由一定数量的单体电池串联组成的,它可以进行百次至千次的充放电;在使用中必须注意其各个单体电池的各种特性、电池温度、电池的剩余电量及总电流等参数,因为这些参数直接影响电池的使用寿命,必须做到优化运行和有效监控,防止电池出现过充、过放及温度过高等问题,从而延长电池的使用寿命和降低成本,特别是提高电池的可靠性。可以把给电池组配套的电子、控制及数字技术称为数字“电池电子技术”。同样在汽车的电子、数字技术中,已经使用多个CPU完成各种参数、功能的控制问题,考虑汽车的安全性,运行必须十分可靠,于是发展了并联的独立多个系统结构,再由现场总线联接,组成统一的大系统。
2 分布式结构的管理系统
2.1 系统结构
系统要实现不同类型的多种功能,集中的或中央处理方式无法满足安全性要求,自然要采用分布式结构 ; 系统的工作环境恶劣,常处于强电磁干扰及脉冲电流的干扰下,为了确保可靠性,考虑采用和发展了高性能CAN现场总线作为通讯系统;而且CAN总线在汽车上已使用很久,具有很强的抗干扰性,同时该技术比较成熟,已成为汽车使用通讯的标准。因此,在系统的内部通讯以及跟外部通讯都采用CAN总线来实现。
本分布系统是以CPU80C552为公用模块平台来设计的,由于CPU存储空间及运算的有限性,必须采用多CPU来分别实现管理系统所需的各种功能。完成的基本系统由四个模块并行组成:数据采集、均衡充电、电量估计及通讯显示;各个模块分别实现其功能,通过CAN总线进行数据通讯,能够实现单电池电压、总电压、充放电电流、温度的采集和测量,电量估算。同时,系统还具有很强的扩展性,可以进行具体的电池诊断和电池安全性能保护等功能的研究和开发。在锂电池的管理系统中,108只电池采用9块测量主板,再加上4块基本板,共计13块板。
图1 电池管理系总体结构图
2.2 管理系统主模块的设计
系统的主要功能包括数据采集、电量估计及显示诊断等。由于80C552具有8路10位A/D转换的功能,因此,采集模块先采用线性光耦法测量单电池的电压,通过其4个A/D口将模拟量转换为数字量存入存储器,温度测量采用单总线技术,使用Dallas数字芯片来测量温度,该芯片具有12位的精度等级,能非常准确地测量到系统的温度。总电压、电流信号通过特殊的传感器将其信号转换为0~10V的信号,通过14位的A/D转换器件转换为数字量存入系统。
通讯及显示模块提供了双CAN通讯接口,能够与系统内各个模块及外部整车系统通过CAN进行数据传输;同时系统提供RS232接口,能够实现与PC机通讯;模块还提供5口寸半液晶显示驱动功能,和按键进行人机友好操作;模块还设有电压、电量、电流及温度的上下限报警及自检功能,保证系统的安全性。
各个系统模块的基本结构框图如图2所示。
图2 模块结构框图
2.3 电量估算
电量估算采用实时电流积分的安时法进行基本估算,然后通过对影响电池电量的温度、自放电及老化等各种参数进行修正,并考虑单块电池间的不一致性,从而得到精确的电池组电量。
图3 电池电量估算框图
3 CAN总线系统
3.1 CAN简介
CAN总线是现场总线的一种,是德国Bosch公司在1986年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行高速数据通信总线。它采用了ISO/OSI模型的七层结构中的物理层和数据链路层,具有较高的可靠性、实时性和灵活性。
CAN总线具有以下独特的优点:
1)CAN能以多主方式工作,网络上任意一个节点均可以在任意时刻向网络上其他节点发送信息,而不分主从,通信方式灵活;
2)CAN可以实现点对点、一点对多点及全局广播等方式传送和接受数据,通信介质采用双绞线、同轴电缆或光纤,选择灵活,通信距离最远可达10km/5kb/s,通信速率最高可达1Mb/s/40m。CAN上节点数取决于总线驱动电路,实际可达110个;
3)CAN节点在错误严重的情况下,具有自动关闭输出的功能,切断它与总线的联系,以使总线上其它操作不受影响。采用NRZ编码/解码方式,并采用位填充技术。用户接口简单,编程方便,很容易构成用户系统;
4)CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突。
5)CAN采用短帧结构,每一帧为8bite,传输时间短,受干扰的概率低,每帧信息都有CRC校验及其它检错措施,保证了数据的出错率极低。
3.2 CAN总线设计
CAN总线总体结构如图4所示,在总线的两端配置了两个120Ω的电阻,其作用是总线匹配阻抗,可以增加总线传输的稳定性和抗干扰能力,减少数据传输中的出错率。CAN总线节点结构一般分为两类:一类采用CAN适配卡与PC机相连,实现上位机与CAN总线的通讯;另一类则是由单片机、CAN控制器及CAN驱动器构成,作为一类节点与CAN总线进行数据传输。在本系统中,CAN控制器采用Philips公司生产的SJA1000和82C200,它作为一个发送、接受缓冲器,实现主控制器和总线之间的数据传输;CAN收发器采用PCA82C250芯片,它是CAN控制器和物理总线的接口,主要可以提供对总线的差动发送能力和对CAN控制器的差动接受能力。
图4 CAN总线系统结构图
4 CAN总线的软件设计
CAN总线的三层结构模型为:物理层、数据链路层和应用层。其中物理层和数据链路层的功能由SJA1000完成,系统的开发主要在应用层软件的设计上,它主要由三个子程序:初始化子程序、发送数据和接收数据程序。同时,还包括一些数据溢出中断以及帧出错的处理。
SJA1000在上电硬件复位之后,必须对其进行软件初始化之后才可以进行数据通讯,初始化过程主要包括对其复位模式下配置时钟分频寄存器CDR、总线定时寄存器BTR0和BTR1、验收代码寄存器ACR、验收屏蔽寄存器AMR及输出控制寄存器OCR等,实现对总线的速率、验收屏蔽码、输出引脚驱动方式、总线模式及时钟分频进行定义。具体的流程如图5所示。下面为SJA1000发送和接收数据的流程,基本过程为主控制器将数据保存到SJA1000发送缓冲器,然后对命令寄存器的发送请求TR标志位进行置位开始发送;接收过程为SJA1000将从总线上接收到的数据存入接收缓冲器,通过其中断标志位通知主控制器来处理接收到的信息,接收完毕之后清空缓冲器,等待下次接收,具体的流程如图6和图7所示。
图 5 CAN总线初始化
图 6 CAN的发送数据流程
例如:电池管理系统向整车系统发送总电压的格式,见表1所列。
表1 BCU_VCU_VOLTAGE(0x08)向VCU送回电池组当前的电压
其中,ID为接收节点总线的地址,电压值先乘10取整再发送,0x08表示发送帧的内容为电池组的电压。
5 CAN总线应用问题
在硬件方面必须考虑合理的供电,注意对各个CAN器件的电源、地之间的滤波,以及复位电路的设计;同时在实际进行印刷电路板的设计时,合理布线,要加强地线,增强系统的抗干扰性。
在软件设计时,CAN总线定时器的设置非常关键,BTR0决定传播时间段、相位缓冲段1和相位缓冲段2;BTR1决定同步跳转宽度和分频值。在位定时寄存器中,TSEG1,TSEG2,SJW和BRP设定的值要比其功能值小1,因此设定范围是[0.....N-1]而不是[1.....N]。所以位时间可以由[TSEG1+TSEG2+3]tq或者[同步段+传播段+相位缓冲段1+相位缓冲段2]tq得到,其中,tq由系统时钟tSCL和波特率预分频值BRP决定:tq=BRP/tSCL。同时,还要注意由于不同节点的CAN系统时钟是由不同振荡器提供的,每个节点的实际CAN系统时钟频率与实际位时有一容差,环境温度的变化和振荡器老化影响起始容差,为确保准确地进行数据传输,必须保证每个节点对CAN系统时钟频率都在特定的频率容差限值以内,因此,在选择振荡器时要以对振荡器容差范围要求最高的节点为准。而且,在一个可以扩展的总线结构中,最大节点延迟和总线最大长度必须考虑,一般情况下,延迟为5.5ns/m。
在实际运行中,经常会遇到CAN总线不通或者总线突然关闭现象,其主要原因是由于在数据传输过程中出现丢帧现象,从而引起出错,当错误计数器达到一定时会自动关闭总线,因此,必须在软件设计的过程中,及时对其错误状态ES位进行判别,在出现错误时需对SJA1000进行软件复位,恢复通讯。
6 结语
在“863重大专项”电动汽车的电池管理模块的研制中,就是采用CAN总线通讯的分布式结构。通过对镍氢电池组、锂电池组的台架试验结果表明了系统结构的先进性,实现了工作正常可靠,各模块的独自功能,锂电池组系统的CAN总线的节点数增加到12,在强电磁干扰下,仍能正常工作,而且线路连接十分简单、实用。
两种电池组的参数、电池个数、测量方法、安全要求都不相同,分组也不一样,但系统均能有效地适应,反映出其具有良好的适应性和较大的灵活性。