1一种新型的汽车通讯网络设计DesignofanewvehicleCommunicationNetwork李平1,2,刘连浩1LiPing1,2,Liulianhao1(1.中南大学信息科学与工程学院,湖南长沙410083;2.湖南交通职业技术学院,湖南长沙410007)(1.SchoolofInformationScienceandEngineering;CentralSouthUniversity;Changsha;Hunan;4100831.2.HunanCommunicationsPolytechnic;Changsha;Hunan;410007)摘要:针对现代汽车电子系统中电子控件众多、通信复杂度增大的现状,本文提出采用CAN总线与LIN总线、MOST总线相结合连接不同实时性和速率要求的电子控制装置,有效降低成本,减少了可能的总线冲突,保证了关键系统的实时性及速率。重点介绍了CAN总线系统的设计及CAN控制器的初始化。仿真和实验结果表明本文所设计的总线系统在可靠性和有效性方面均有较大提高。关键词:CAN,LIN,MOST,位定时中图分类号:TP339文献标识码:AAbstract:Inrecentyears,inmodernvehicleelectronicsystemtheelectroniccontrollingpartsaremorenumerousandtheircommunicationcomplexityisincreasing.ThispaperproposesanelectroniccontrolprojectwhichadoptingCANbusinconjunctionwithLINbusandMOSTbustoconnectdifferentelectroniccontroldeviceswitheachreal-timecharacterandspeedrequirement.Thismeasurecouldlowercostseffectively,reducethepossibleofbusconflictandguaranteedthereal-timeofkeysystems.ThedesignofCANsystemandtheinitializationofCANcontrollerareintroducedespecially.Finallythesimulationandexperimentresultsproveproposedsystemiseffectiveandfeasible.Keywords:CAN,LIN,MOST,BitTiming0引言本文通过对电子系统在汽车中应用的研究,提出一种采用CAN总线与LIN总线、MOST总线相结合的电子控制装置。CAN的高可靠性和检错能力使得CAN能适用于各种苛刻的电子环境,在汽油机高压点火强干扰下仍能可靠工作。并且具有低成本、速度快,高保密性、有效支持分布实时控制[1]。而在车内,还有许多ECU的控制并不需要CAN这样高速率和高安全的通信,本地互联网络(LIN)就成为适应这类应用的低成本解决方案。LIN是单一主机系统,不但降低了硬件成本,而且在软件和系统设计上也能更容易地与其它网络协议兼容。除此以外车内还有诸如媒体播放器、导航系统、无线通信系统以及其他多种信息娱乐设备,这些设备之间的互连需要更高速的通信协议。媒体导向系统传输协议(MOST)是目前较好的高速通信协议。CAN总线与LIN总线、MOST总线相结合、连接不同实时性和速率要求的电子控制装置,有效降低成本,减少了可能的总线冲突,提高了关键系统的实时性,通过网关实现三种不同速率通信网之间的连接[2],实验结果证明了本文所设计系统的有效性及可靠性。1汽车电子通信系统网络结构设计现代汽车电子系统中一般包括中央控制单元、音响/音像、GPS导航系统、通信系统、发动机控制系统、ESP系统、电控悬挂系统、安全控制系统、传动控制系统、转向系统、组合仪表系统、全自动空调(EA/C)、自动座椅、电控门窗镜系统、指示灯控制系统等,所有这些子控制系统连接起来构成一个完整的实时控制系统。各控制单元对数据传输的实时性要2i求不同,综合考虑效率和成本,本文把子控制系统分成三组:其中音响/音像、GPS导航系统、通信系统对信息传输的速率要求高,采用MOST总线,MOST总线技术是基于ISO/OSI七层网络模型设计,物理层由光纤通信组件构成,具有很好的抗干扰性,传输速率可达25Mbps。除了控制数据外,MOST数据可分为同步传输数据和异步传输数据,具有很大的灵活性——同步数据直接用于音视频设备,异步数据用于传输导航地图数据等。对实时性要求相对较低的全自动空调(EA/C)、自动座椅、电控门窗系统、指示灯控制系统等采用LIN总线,LIN是一个公开的协议,它基于SCI(UART)串行通信的格式,并结合了汽车应用的特点,LIN是单一主机系统,软件兼容性好,且几乎所有的IC都带有SCI(UART)接口,所以它非常易得,且成本低廉,虽然其传输速率昀高只可到20Kbps,但非常合用于这类对实时性要求不高的节点间通讯。其他子控制系统采用CAN总线,保证关键信息传输的实时性和可靠性。中央控制系统对整个网络进行控制和管理,三组网络之间通过网关进行通信,实现全部节点的数据共享。整个汽车电子系统的通信网络拓扑结构如下图1所示。图1汽车电子系统的通信网络拓扑结构在整个通信系统当中,由于CAN系统对实时性、可靠性的要求非常高,且位定时的设置有一定难度,因此,接下来本文主要介绍了这两个方面。2汽车电子CAN通信系统的硬件设计CAN(ControllerAreaNetwork)具有高可靠性和检错能力,昀高速率可达1Mb/s,且性价比高、保密性好、有效支持分布实时控制的特点,非常适合汽车的中央控制系统、发动机控制系统、ESP系统、电控悬挂系统、安全控制系统、传动控制系统、转向系统、组合仪表系统与各检测和执行机构间的数据通信。随着汽车中增强安全和舒适体验的功能越来越多,实现这些功能的电子控制单元(ECU)的数量也在持续上升。如今高端汽车有100多个ECU,ECU操作和众多CAN总线之间的协调配合日益复杂,严重阻碍线控的发展。即使可以解决复杂性问题,CAN也缺乏线控所必需的确定性和容错功能。实现这一目标的昀佳途径就是减少ECU数量。当然,这也意味着那些剩下的ECU需要提供更多的服务和拥有更强的性能。同时,由于要与其他ECU更频繁地通信,所以对网络带宽的要求更高。在本文的系统里,采取高位微控制器代替多个简单微控制器的方法来减少ECU的数量。例如与发动机控制有关的系统包含电控点火装置(ESA)、电控汽油喷射控制(EFI)、废气再循环控制(EGR)、怠速控制(ISC)几个部分,若分别控制则需4个ECU,这里可采用一个32位的微控制器来统一控制,从而达到减少了ECU数量的目的。因此对于中央控制节点、发动机控制系统、ESP系统、安全控制系统,微控制器选用Motorola高性能32位PowerPC微控制器MPC565,它有272引脚,BGA封装,可在高速移动及苛刻的环境下工作,工作温度范围为-40~125℃。它有一个定时运算器单元(TPU),从而可得到正确的PWM信号。MPC565兼容PowerPC指令集,且其中的浮点单元可保证高效高精度的角度、电源矢量等的计算,66个通道可用于产生控制脉冲和接收来自运动传感3器的各种输入。此外,MPC565还引入了将功率晶体管技术同逻辑功能融合在一起的SMARTMOS器件,该器件与IGBT、MOSFET一同来帮助功率输出。MPC565集成了三路CAN2.0B控制器模块,在ECU设计时只需增加一个收发器就可以完成高速通信。本文采用Philips公司的TJA1050收发器,其传输速率高达1Mbps。图2为其接口电路。图2接口电路CAN网络中其它各节点的硬件电路基本相同,微控制器统一采用Philips公司的P87C52X2芯片,控制器选用Philips公司的支持CAN2.0B协议的SJA1000,收发器选用Philips公司的TJA1050。为了改善系统的可靠性和精确性,有效地抑制系统噪声,采取以下措施:采用高速线性光耦6N137对输入和输出电路进行了光电隔离以消除接地回路的干扰[3];使用“看门狗”电路对单片机运行状态进行实时监测,防止因外界电磁场的干扰造成程序的跑飞,而使整个系统陷入停滞状态,发生不可预料的后果;使用双绞线作为总线,并在总线两端接有2个120Ω的电阻,来匹配总线阻抗,防止数据在线端被反射;收发器板放置在接近PCB边沿连接器的位置,且边沿连接器和收发器之间不放置其他EC元件;布置CAN_H/L或Tx/Rx电路时不穿越总线或跳线,并设计为分离终端的形式,这样使得CAN总线具有更高的抗干扰和辐射能力。3汽车电子系统通信设计汽车电子系统通信设计主要包括CAN控制器的初始化,CAN数据的发送、接收,LIN数据的发送、接收,MOST数据的发送、接收,CAN/LIN/MOST数据的转换及错误处理等。CAN控制器初始化的主要任务是波特率(BoudRate)的设置、中断寄存器的配置和报文ID定义。设计中根据各节点相关信息的ID设置了CAN报文验收码寄存器与验收屏蔽寄存器,以使各节点只接收与自己相关的信息。报文接收在中断中进行,而其它中断处理借用Windows消息响应机制,在中断中置标志,然后在主程序中按FIFO队列进行处理。CAN总线上各节点要求以相同的波特率进行通讯,波特率的计算公式为:=(12)sysfBoudRatePREDIVSYNCSEGPROPSEGPSEGPSEG×+++式中sysf为ECU系统时钟频率;PREDIV对应CANCTRL2寄存器的8-15位,是与波特率相关的预分频倍数,用来将系统时钟分频为CAN的时钟;SYNCSEG称为同步段,始终取1;PROPSEG对应CANCTRL1寄存器的0-2位,称为传播段;PSEG1和PSEG2分别对应CANCTRL2寄存器的3-5位和0-2位,是相位缓冲段。CAN总线每一个位时间均由同步段、传播段和2个相位缓冲段组成[2],即:(12)SYNCSEGPROPSEGPSEGPSEG+++CAN总线的采用同步串行通信方式,数据流中的字符与字符之间、字符内部的位与位之间都同步,这就要求收、发双方必须以同步时钟来控制数据的发送、接收。接收端要在相当长的数据流中保持同步,必须能识别每个二进位是从什么时刻开始的,这就需要位定时,在进行位定时设置时,是根据系统时钟频率、CAN传输的波特率、距离昀远的2个节点之间的信号传播延时,以及发送器传播延时和接收器传播延时,按以下公式进行参数计算:4(1)总线传播延时=2()totalBTRtttt++式中:totalt是总线传播延时;Bt是总线上距离昀远的2个节点之间的信号传播延时;Tt是发送器传播延时;Rt是接收器传播延时。(2)时间量程:/QsystPREDIVf=(3)标准位时间:1/NBTtBoudRate=(4)标准位时间单元数:/NBTQNBTtt=(5)总线传播延时时间单元数:=(/)PROPSEGQPROPSEGROUNDUPtt式中,函数()ROUNDUPX是取X的整数部分。(6)相位段1和相位段2:12PSEGPSEGNBTPROPSEGSYNCSEG+=−−(7)重同步跳转宽度min(4,1)RJWPSEG=(8)本CAN网络中位定时的设置:MCU晶振频率=40MHzCAN传输的波特率=500kbit/s总线长度=30m总线传输延时=5×10-9s/m发送接收传播延时=150ns计算步骤:①Bt=30×5×10-9=150nstotalt=2×(150+150)=600ns②取预分频倍数为10使得NBT值在8~25之间。CAN总线时钟=4MHzQt=250nsNBTt=(4000/250)Qt=16Qt③=(600/250)2PROPSEGROUNDUP=④由上面(6)计算12PSEGPSEG+。如果结果小