新型电动汽车锂电池管理系统的研究与实现 — CAN 总线设计
理后,按CAN规范规定的格式将其写入CAN控制器的发送缓冲区,并启动发送命令,把数据发送到CAN总线上;接受过程是:CAN控制器从CAN总线上自动接受数据,并经过滤后存入CAN接受缓冲区,且向单片机发出中断请求,此时单片机可从CAN接受缓冲区读取要接受的数据。
CAN总线在设计时应注意一点:总线两端各有一个120Ω的电阻,这对于匹配总线阻抗起相当重要的作用。否则,数据通信的抗干扰性及可靠性大大降低,甚至无法通信。管理系统中共有9块测量板,一个中央处理模块,一个显示模块,一个SOC估计模块,一个与整车通讯模块,一个专家诊断模块。所以CAN总线上共有14个节点。他们的连接如图5.4所示:
在系统中,CAN节点的CAN控制器采用SJA1000, SJA1000是一种独立的CAN控制器,主要用于移动目标和一般工业环境中的区域网络控制。SJA1000具有两种操作模式:
BasicCAN模式:与它的前款PCA82C200兼容的模式 PeliCAN模式:扩展模式。这种模式全面支持CAN2.0B协议。SJA1000的模块结构如图5.5所示。
SJA1000是CAN总线接口电路的核心,主要完成CAN的通讯协议,CAN收发器采用PCA82C250,它的主要功能是提高CAN总线的保护和驱动功能,它们之间通过6N137光藕进行隔离,节点结构如图5.6.
5.4 CAN系统的软件设计
CAN总线的软件设计主要是3个部分:初始化、发送与接收数据、检错机制,下面分别加以介绍。
5.4.1初始化
SJA1000在上电硬件复位之后,必须对其进行软件初始化之后才可以进行数据通讯,初始化过程主要在其复位模式下配置时钟分频寄存器CDR、总线定时寄存器BTR0和BTR1、验收代码寄存器ACR、验收屏蔽寄存器AMR及输出控制寄存器OCR等,实现对总线的速率、验收屏蔽码、输出引脚驱动方式、总线模式及时钟分频进行定义。
为了可靠收发数据,SJA1000的工作频率不能低于单片机的频率。系统中,单片机80C552的晶体振荡器频率为12MHz,而SJA1000的晶振频率为16MHz. SJA1000的通讯波特率由BTR0、BTR1、晶振等参数共同决定。表5.1列出了一组推荐的BTR0、BTR1值,标注*符号的值是由CiA协会推荐的标准值。
总线上的14个节点数据接收发送的主要关系是:9块测量板向总线上发送所测量的各单电池电压温度信息,同时接受中央处理模块发出的均衡信号;SOC估计单元向总线上发送SOC等相关信息,同时接收中央处理模块的各参数信息;专家诊断模块要向显示模块发送诊断的相关信息,同时接收总线上各模块发出的信息;中央处理单元既要向总线上发送总电压、总电流和环境温度,同时接收测量板的均衡信息;显示控制模块和与整车通讯模块接收各个模块发送到总线上的数据,同时与整车通讯模块还将数据传给整车。数据流图如图5.7:
对应上面的数据流图,我们定义了CAN控制器的验收码寄存器(ACR)和验收屏蔽寄存器(AMR)。定义的原则是:各个节点模块只接收与自己有关的数据而屏蔽其它数据。譬如9块测量板之间发送到总线上的数据应该是互不相关的,而且它们的数据量很大,所以必须两两加以屏蔽。我们采取的是BasicCAN模式,由于显示控制模块和与整车通讯模块所接收的数据完全一样,所以这俩个节点的验收码寄存器(ACR)和验收屏蔽寄存器(AMR)可以设计的相同。具体各节点的ACR和AMR的定义如表5.2:
5.4.2发送与接收数据
在本系统中,每一个模块的CAN发送都采用查询方式来控制,接收采用中断方式来控制,这里最好把CAN中断优先级设为高优先级。发送时,CPU检查SJA1000状态寄存器中"发送缓冲器状态"标志(TBS),若发送缓冲器处于"释放"状态,则CPU将发送的信息传送到SJA1000的发送缓冲器,然后将命令寄存器里的"发送请求"标志(TR)置位,启动发送,发送期间,TBS处于"锁定"状态,此时CPU不能访问发送缓冲器;发送成功结束时,TBS处于"释放"状态,这时CPU就可以访问发送缓冲器,进行下一次发送操作。接收时,当SJA1000已接收一条信息,并且这条信息已通过验收滤波器且已放在接收FIFO中,那么SJA1000会产生一个接收中断,CPU立刻起作用,将接收到的信息存到信息暂存器,然后对SJA1000的命令寄存器的"释放接收缓冲器"标志(RR)置位,这样一次中断接收就算完成。接收和发送数据的流程图如图5.8.
5.4.3检错机制
SJA1000的BasicCAN模式提供了完善的检错机制,它提供了8个中断源,除了发送中断、接收中断和唤醒中断外,其余5个都是通信过程中出现的各种意外状态的反映。当接收FIFO满了,但还在接收其它信息,这时SJA1000就会置位状态寄存器中的数据溢出状态位,并产生一个数据溢
- 电动汽车:颠覆性的快速充电与非接触充电技术(09-20)
- 电动汽车的基本概述及重要组成(10-28)
- 矢量控制变频器在混合动力电动汽车中的应用(01-27)
- 基于CAN总线的电动汽车控制系统设计(05-25)
- 电动汽车驱动系统中的超级电容原理(05-21)
- 动力电池管理系统硬件设计技术(05-30)