新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 基于CAN总线的分布式电池管理系统

基于CAN总线的分布式电池管理系统

作者: 时间:2011-02-18 来源:网络 收藏

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的 发 送 数 据 流 程



关键词:

评论


相关推荐

技术专区

关闭