新闻资讯当前所在位置:上海千岁会展有限公司 > 新闻资讯 >

新型电动汽车锂电池管理系统的研究与实现 — CA 总线设计

发布时间:2018-03-07 来源:未知 作者:admin 浏览次数:



CA总线简介
控制器局部(part)网是德国Bosch为汽车应用开发的一种多主机局部网络,CA总线最初为解决汽车中众多的控制与测试仪器之间的数据交换而开发的。CA卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已在工业上得到广泛的应用,被公认为最有前途的现场总线之一。
CA总线是一种串行数据通信协议(protocol),通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps.CA总线通信接口中集成了CA协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。CA协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,可以非常灵活地控制节点的通信对象和通信,比如使不同的节点同时接受到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CA协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CA具有下列主要特性:

CA可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从,通信方式灵活;CA可以点对点、点对多点及全局广播方式传送接收数据;CA网络上的节点信息可分成不同的优先级,可以满足不同的实时要求;CA采用非破坏性总线仲裁技术。当两个节点同时向网络上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,大大地节约了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪;CA的直接通信距离最大可达10km,最信速率可达1MbPHOTOSHOP。
正因为CA总线有着如此卓越的特性,它现已成为汽车车体通信的标准。
5.2 CA总线通信的基本原理
5.2.1 CA总线的位数值表示
CA总线用“显性”和“隐性”两个互补的逻辑值表示“0”和“1”。当在总线上出现同时发送显性和隐性位时,其结果是总线数值为显性。如5.1所示,VCA-H和VCA-L为CA总线收发器与总线之间的两接口引脚,信号是以两线之间的“差分”电压形式出现。
隐性:VCA_H和VCA_L均被固定(fixed)为平均电压电平2.5V,VDIFF近似为0.在总线空闲或“隐性”位期间,发送“隐性”状态。
显性:VCA_H和VCA_L为大于阈值的差分电压。VCA_H大约为3.5V,而VCA_L大约为2.5V.在报文冲突的时候,显性位的优先级高于隐性位,也就是逻辑“0”优先于逻辑“1”,这是CA总线冲突处理机制的基础。


5.2.2 CA的分层结构(Structure)
根据ISO/OSI参考模型,CA被分为以下不同层次:
物理层物理层是将ECU连接至总线的电路实现,它由三部分组成:
物理信令实现与位表示、定时和同步相关的功能;物理媒体附属装置实现总线发送/接受的功能电路并提供总线故障检测方法。媒体相关接口实现物理媒体和MAU之间的机械和电气接口。
数据(data)链路层包含以下两个子层:
介质访问控制子层MAC是CA协议的核心。它把接收到的报文提供给LLC子层,并接收来自LLC子层的报文。MAC子层负责报文分帧、仲裁、应答、错误检测和标定。MAC子层也受一个名为"故障(fault)界定"的管理实体监管。此故障界定为自检机制,以便把永久故障和短时扰动区别开来。逻辑链路控制子层LLC涉及(指关联到,牵涉到)报文滤波、过载通知、以及恢复管理。
CA的ISO/OSI参考模型的层结构如5.2所示。


5.3 CA系统(system)的硬件结构
CA系统结构如5.3:

CA系统中有两类节点:一类由CA接口卡和PC机组成,CA接口卡可以是PCI卡、ISA卡,也可接在PC机的并行口上;另一类由单片机、CA控制器、CA收发器组成。新能源公交客车作为我国新能源汽车推广应用的排头兵和“先锋队”,加之其担负大众出行的社会属性,近年来,一直成为业内外关注的焦点。 新能源汽车致力于制造高品质,高可靠性,有良好用户体验的"世界冠军"级别主流智能新能源汽车。这里主要介绍单片机节点,在每个节点上,单片机主要用于系统的计算及信息处理功能;CA控制器主要用于系统的通信;CA收发器主要用于增强系统的驱动能力。系统的发送过程(guò chéng)是:单片机将外围设备或其它节点传送过来的信息处理后,按CA规范规定的格式将其写入CA控制器的发送缓冲区,并启动发送命令,把数据发送到CA总线上;接受过程是:CA控制器从CA总线上自动接受数据,并经过滤后存入CA接受缓冲区,且向单片机发出中断请求,此时单片机可从CA接受缓冲区读取要接受的数据。
CA总线在设计时应注意一点:总线两端各有一个120Ω的电阻,这对于匹配总线阻抗起相当重要的作用。否则,数据通信的抗干扰性及可靠性大大降低,甚至没有办法通信。管理系统中共有9块测量板,一个中央处理模块(mo kuai),一个显示模块,一个SOC估计模块,一个与整车通讯模块,一个专家(zhuānjiā)诊断(diagnosis)模块。所以CA总线上共有14个节点。他们的连接如5.4所示:

在系统中,CA节点的CA控制器采用SJA1000, SJA1000是一种独立的CA控制器,主要用于移动目标和一般工业环境中的区域网络控制。新能源汽车展以“绿色智能驱动未来”为主题。新能源公交客车作为我国新能源汽车推广应用的排头兵和“先锋队”,加之其担负大众出行的社会属性,近年来,一直成为业内外关注的焦点。 SJA1000具有两种操作模式(pattern):

BasicCA模式:与它的前款PCA82C200兼容的模式PeliCA模式:扩展模式。这种模式全面支持CA2.0B协议。
SJA1000的模块结构如5.5所示。

SJA1000是CA总线接口电路的核心,主要完成CA的通讯协议,CA收发器采用PCA82C250,它的主要功能是提高CA总线的保护和驱动功能,它们之间通过6137光藕进行隔离,节点结构(Structure)如5.6.


5.4 CA系统的软件设计
CA总线的软件设计主要是3个部分:初始化、发送与接收数据(data)、检错机制,下面分别加以介绍。

5.4.1初始化
SJA1000在上电硬件复位之后,必须对其进行软件初始化之后才可以进行数据通讯,初始化过程主要在其复位模式下配置时钟分频寄存器CD
  R、总线定时寄存器BTR0和BTR1、核验查收代码寄存器AC
  R、验收屏蔽寄存器AMR及输出控制寄存器OCR等,实现对总线的速率、验收屏蔽码、输出引脚驱动(Driver)方式、总线模式及时钟分频进行定义。
为了可靠收发数据,SJA1000的工作频率(frequency)不能低于单片机的频率。系统中,单片机80C552的晶体振荡器频率为12MHz,而SJA1000的晶振频率为16MHz. SJA1000的通讯波特率由BTR0、BTR1、晶振等参数共同决定。表5.1列出了一组推荐的BTR0、BTR1值,标注*符号的值是由CiA协会推荐的标准值。



总线上的14个节点数据接收发送的主要关系是:9块测量板向总线上发送所测量的各单电池电压温度信息,同时接受中央处理(chǔ lǐ)模块发出的均衡(Balance)信号;SOC估计单元向总线上发送SOC等相关(related)信息,同时接收中央处理模块的各参数信息;专家(zhuānjiā)诊断模块要向显示模块发送诊断的相关信息,同时接收总线上各模块发出的信息;中央处理单元既要向总线上发送总电压、总电流和环境温度,同时接收测量板的均衡信息;显示控制模块和与整车通讯模块接收各个模块发送到总线上的数据,同时与整车通讯模块还将数据传给整车。数据流如5.7:



对应上面的数据(data)流,我们定义了CA控制器的验收码寄存器和验收屏蔽寄存器。定义的原则是:各个节点模块只接收与自己有关的数据而屏蔽其它数据。譬如9块测量板之间发送到总线上的数据应该是互不相关的,而且它们的数据量很大,所以必须两两加以屏蔽。我们采取的是BasicCA模式,由于显示控制模块和与整车通讯模块所接收的数据完全一样,所以这俩个节点的验收码寄存器和验收屏蔽寄存器可以设计的相同。具体各节点的ACR和AMR的定义如表5.2:
5.4.2发送与接收数据


在本系统中,每一个模块的CA发送都采用查询方式来控制,接收采用中断(Interrupt Request)方式来控制,这里最好把CA中断优先级设为高优先级。新能源汽车展以“绿色智能驱动未来”为主题。发送时,CPU检查SJA1000状态(state)寄存器中“发送缓冲器状态”标志,若发送缓冲器处于“释放”状态,则CPU将发送的信息(xìn xī)传送到SJA1000的发送缓冲器,然后将命令寄存器里的“发送请求”标志置位,启动发送,发送期间,TBS处于“锁定”状态,此时CPU不能访问发送缓冲器;发送成功结束时,TBS处于“释放”状态,这时CPU就可以访问发送缓冲器,进行下一次发送操作。接收时,当SJA1000已接收一条信息,并且这条信息已通过(tōng guò)验收滤波器且已放在接收FIFO中,那么SJA1000会产生一个接收中断,CPU立刻起作用,将接收到的信息存到信息暂存器,然后对SJA1000的命令寄存器的“释放接收缓冲器”标志置位,这样一次中断接收就算完成。接收和发送数据的流程如5.8.
5.4.3检错机制
SJA1000的BasicCA模式提供了完善的检错机制,它提供了8个中断源,除了发送中断、接收中断和唤醒中断外,其余5个都是通信过程中出现的各种意外状态的反映。当接收FIFO满了,但还在接收其它信息,这时SJA1000就会置位状态寄存器中的数据溢出状态位,并产生一个数据溢出中断通知CPU数据溢出。当本节点与其它节点总线竞争失败丢失仲裁权时,SJA1000将会立即产生一个仲裁丢失中断,并且当前丢失仲裁的具体位号将被捕捉进仲裁丢失捕捉寄存器,这样便于我们分析总线竞争的情况。
当发送或接收数据时,发生任何一种错误,比如位错、格式错、填充错等情况,SJA1000将会立即产生总线错误中断,同时当前错误的位置被捕捉入错误代码(code)捕捉寄存器,通过读取寄存器值并查表可知道当前错误发生的情况。SJA1000还定义了发送错误计数器和接收错误计数器,当错误产生时,根据不同类型错误的严重性,计数器加相应的值。根据错误计数器的值,定义了错误的三种状态:当错误计数器的值在0-127之间为错误激活状态;当计数器的值在127-255之间为错误消极状态;当计数器的值高于255则处于总线关闭状态。同时SJA1000定义一个错误报警限额寄存器,默认为96,当上述任意两个计数器的值超过限额寄存器的值时,SJA1000状态寄存器的错误状态位将置位;当计数器的值超过255时,状态寄存器的总线状态位将置位,总线关闭,本节点模块自动脱离CA总线。当错误状态位或总线状态位发生变化时,SJA1000将立即产生错误警告中断,以便CPU采取相应的处理措施。当CA控制器在错误消极状态处变化则产生错误消极中断。这种做法是合理的,因为一个节点模块如果经常出错,就应该自动脱离总线,免得干扰其它节点的正常通信,这也是CA总线的一个突出优点。
在节点处于总线关闭状态脱离总线时,SJA1000将置位复位请求位进入复位状态,如果没有CPU的干预来清除复位请求位,则节点将一直处于总线关闭状态。

回到顶部