您的位置 首页 传感器

新式电动汽车锂电池办理体系的研讨与完成 — CAN 总线规划

随着全球环保意识的增强和能源问题的突出,电动汽车已成为绿色车辆最主要的发展方向之一。但是制约电动汽车发展的问题依然是储能电池和应用技术。如何延长电池使用寿命、提高电池的能量效率和运行可靠性,是电动汽车

5.1 CAN总线简介

操控器部分网(Control Area Network,CAN)是德国Bosch公司为现代轿车使用开发的一种多主机部分网络,CAN总线开始为处理轿车中很多的操控与测验仪器之间的数据交换而开发的。CAN杰出的特性、极高的牢靠性和一起的规划,特别合适工业进程监控设备的互连,因而,越来越遭到工业界的注重,并已在工业上得到广泛的使用,被公以为最有出路的现场总线之一。

CAN总线是一种串行数据通讯协议,通讯介质可所以双绞线、同轴电缆或光导纤维,通讯速率可达1Mbps.CAN总线通讯接口中集成了CAN协议的物理层和数据链路层功用,可完结对通讯数据的成帧处理,包括位填充、数据块编码、循环冗余查验、优先级判别等项作业。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通讯数据块进行编码。选用这种办法的长处可使网络内的节点个数在理论上不受约束,数据块的标识码可由11位或29位二进制数组成,因而能够界说211或229个不同的数据块,这种按数据块编码的办法,能够十分灵敏地操控节点的通讯方针和通讯来历,比方使不同的节点一起接遭到相同的数据,这一点在分布式操控体系中十分有用。数据段长度最多为8个字节,可满意一般工业领域中操控指令、作业状况及测验数据的一般要求。一起,8个字节不会占用总线时刻过长,然后确保了通讯的实时性。CAN协议选用CRC查验并可供给相应的过错处理功用,确保了数据通讯的牢靠性。CAN具有下列首要特性:

  • CAN能够多主办法作业,网络上恣意一个节点均能够在恣意时刻主动地向网络上的其它节点发送信息,而不分主从,通讯办法灵敏;
  • CAN能够点对点、点对多点(成组)及大局播送办法传送接纳数据;
  • CAN网络上的节点信息可分红不同的优先级,能够满意不同的实时要求;
  • CAN选用非破坏性总线裁定技能。当两个节点一起向网络上发送数据时,优先级低的节点主动中止数据发送,而优先级高的节点可不受影响地持续传输数据,大大地节省了总线裁定抵触时刻,在网络负载很重的状况下也不会呈现网络瘫痪;
  • CAN的直接通讯间隔最大可达10km(速率小于5kbps),最高通讯速率可达1Mbps(此刻间隔最长为40m)。

正由于CAN总线有着如此杰出的特性,它现已成为轿车车体通讯的规范。

5.2 CAN总线通讯的基本原理

5.2.1 CAN总线的位数值表明

CAN总线用“显性”(Dominant)和“隐性”(Recessive)两个互补的逻辑值表明“0”和“1”。当在总线上呈现一起发送显性和隐性位时,其成果是总线数值为显性(即“0”和“1”的成果为“0”)。如图5.1所示,VCAN-H和VCAN-L为CAN总线收发器与总线之间的两接口引脚,信号是以两线之间的“差分”电压方法呈现。

隐性:VCAN_H和VCAN_L均被固定为均匀电压电平2.5V,VDIFF近似为0.在总线闲暇或“隐性”位期间,发送“隐性”状况。

显性:VCAN_H和VCAN_L为大于阈值的差分电压。VCAN_H大约为3.5V,而VCAN_L大约为2.5V.在报文抵触的时分,显性位的优先级高于隐性位,也便是逻辑“0”优先于逻辑“1”,这是CAN总线抵触处理机制的根底。

5.2.2 CAN的分层结构

依据ISO/OSI参阅模型,CAN被分为以下不同层次:

(1)物理层(Physical Layer)物理层是将ECU衔接至总线的电路完结,它由三部分组成:

  • 物理信令(PLS)完结与位表明、守时和同步相关的功用;
  • 物理媒体隶属设备(PMA)完结总线发送/承受的功用电路并供给总线毛病检测办法。
  • 媒体相关接口(MDI)完结物理媒体和MAU之间的机械和电气接口。

(2)数据链路层(Data Link Layer)包括以下两个子层:

  • 介质拜访操控子层MAC(Medium Access Control)是CAN协议的中心。它把接纳到的报文供给给LLC子层,并接纳来自LLC子层的报文。MAC子层担任报文分帧、裁定、应对、过错检测和标定。MAC子层也受一个名为毛病界定(Fault Confinement)的办理实体监管。此毛病界定为自检机制,以便把永久毛病和短时扰动差异开来。
  • 逻辑链路操控子层LLC(Logic Link Control)触及报文滤波、过载告诉、以及康复办理。

CAN的ISO/OSI参阅模型的层结构如图5.2所示。

5.3 CAN体系的硬件结构

CAN体系结构如图5.3:

CAN体系中有两类节点:一类由CAN接口卡和PC机组成,CAN接口卡可所以PCI卡、ISA卡,也可接在PC机的并行口上;另一类由单片机、CAN操控器、CAN收发器组成。这儿首要介绍单片机节点,在每个节点上,单片机首要用于体系的核算及信息处理功用;CAN操控器首要用于体系的通讯;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就会置位状况寄存器中的数据溢出状况位,并发生一个数据溢出中止告诉CPU数据溢出。当本节点与其它节点总线竞赛失利丢掉裁定权时,SJA1000将会当即发生一个裁定丢掉中止,而且当时丢掉裁定的详细位号将被捕捉进裁定丢掉捕捉寄存器,这样便于咱们剖析总线竞赛的状况。

当发送或接纳数据时,发生任何一种过错,比方位错、格局错、填充错等状况,SJA1000将会当即发生总线过错中止,一起当时过错的方位被捕捉入过错代码捕捉寄存器,经过读取寄存器值并查表可知道当时过错发生的状况。SJA1000还界说了发送过错计数器和接纳过错计数器,当过错发生时,依据不同类型过错的严重性,计数器加相应的值。依据过错计数器的值,界说了过错的三种状况:当过错计数器的值在0-127之间为过错激活状况;当计数器的值在127-255之间为过错消沉状况;当计数器的值高于255则处于总线封闭状况。一起SJA1000界说一个过错报警限额寄存器,默以为96,当上述恣意两个计数器的值超越限额寄存器的值时,SJA1000状况寄存器的过错状况位将置位;当计数器的值超越255时,状况寄存器的总线状况位将置位,总线封闭,本节点模块主动脱离CAN总线。当过错状况位或总线状况位发生改变时,SJA1000将当即发生过错正告中止,以便CPU采纳相应的处理办法。当CAN操控器在过错消沉状况处改变则发生过错消沉中止。这种做法是合理的,由于一个节点模块假如常常犯错,就应该主动脱离总线,以免搅扰其它节点的正常通讯,这也是CAN总线的一个杰出长处。

在节点处于总线封闭状况脱离总线时,SJA1000将置位复位恳求位进入复位状况,假如没有CPU的干涉来铲除复位恳求位,则节点将一向处于总线封闭状况。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/191299.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部