CAN通信网在汽车中的应用研究
控制局域网CAN(ControllerAreaNetwork)是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而应用开发的一种通信协议。在国外,尤其是欧洲,CAN网络已被广泛地应用在汽车上,如BENZ、BMW、PORSCHE、ROLLSROYCE、JAGUAR等车。
现代汽车典型的控制单元有电控燃油喷射系统、电控传动系统、防抱死制动系统(ABS)、防滑控制系统(ASR)、废气再循环控制、巡航系统和空调系统。
在一个完善的汽车电子控制系统中,许多动态信息必须与车速同步。为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等。但每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的。例如,一个8缸柴油机运行在2400r/min,则电控单元控制两次喷射的时间间隔为6.25ms。其中,喷射持续时间为30°的曲轴转角(2ms),在剩余的4ms内需完成转速测量、油量测量、A/D转换、工况计算、执行器的控制等一系列过程。这就意味着数据发送与接收必须在1ms内完成,才能达到柴油机电控的实时性要求。这就要求其数据交换网是基于优先权竞争的模式,且本身具有极高的通信速率,CAN现场总线正是为满足这些要求而设计的。不同参数应具有不同的通信优先权。
典型参数允许响应时间
发动机喷油量10ms
发动机转速300ms
车轮转速1s~100s
进气温度20s
冷却液温度1min
燃油温度≈10min
3CAN总线的特点及通信协议
3.1CAN总线的特点
CAN作为一种多主总线,支持分布式实时控制的通信网络。其通信介质可以是双绞线、同轴电缆或光纤。在汽车发动机控制部件、传感器、抗滑系统等应用中,总线的位速率最大可达1Mbit/s。CAN光线具有以下主要特性:
a.无破坏性的基于优先权竞争的总线仲裁。
b.可借助接收滤波的多地址帧传送。
c.具有错误检测与出错帧自动重发送功能。
d.数据传送方式可分数据广播式和远程数据请求式。
3.2CAN总线帧格式
CAN和OSI七层参考模式,按照IEEE802.2和IEEE802.3标准,其通信接口集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验及优先级别等项工作。在系统中,数据按照携带的信息类型可分为四种帧格式:
a.数据帧。
用于节点间传递数据,是网络信息的主体。一个数据帧由7个不同位场构成:帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束。其中数据段长度可编程0~8个字节。
数据帧格式
b.远程帧。由在线单元发送,用于请求发送具有相同标识符的数据帧,其帧格式与数据帧基本相同,但没有数据场。
c.出错帧。出错帧是检测总线出错的一个信号标志,由两个不同场构成。第一场由来自不同节点的错误标志叠加,第二个场为错误界定符。CAN协议采用CRC检验并可提供相应的错误处理功能,保证数据通信的可靠性。
d.超载帧。由超载标识和超载界定符组成,表明逻辑链路控制层要求的内部超载状态,并将由媒体访问控制层的一些出错条件而被启动发送。用于扩展帧序列的延迟时间。
3.3CAN数据链路控制
系统中,CAN总线以报文为单位进行数据传输,节点对总线的访问采取位仲裁方式。报文起始发送节点标识符分为功能标识符(如转速信号)和地址标识符(如控制单元节点地址)。CAN协议的最大特点是打破了传统的节点地址编码方式,而扩展了对通信数据块进行编码方式。采用数据块的标识符可用11位或29位二进制表示,即可定义211或229个不同的数据类型。即使对未来更复杂的汽车控制网络其容量也足够了。标识符的值越小,帧数据的优先级越高。通过数据链路控制,每个接收器完成帧接收滤波确定此帧数据是否有效,实际汽车应用中一般采用不冗余的通信线路,而CAN协议提供强大的出错诊断机制,在保证数据通信的可靠性方面起了重要作用。
电控单元(ECU)连接至总线的电路是通过CAN物理层实现的,在实际应用中ECU的总数将受限于总线上的电气负载。物理层按照网络标准规范模型划分有三种功能:物理信号完成与位表示、定时和同步相关的功能;物理媒体附属装置完成总线发送/接收功能并提供总线故障检测方法;媒体相关接口完成物理层的机械和电气接口。
4CAN总线的应用及其接口设计
4.1汽车网络设计
除了命令和清求信息外,汽车的一些基本状态信息(如发动机转速、车轮转速、冷却水温度等)是大部分控制单元必须获取的数据,控制单元采用广播发式向总线发送。如果在同一时刻所有控制单元都向总线发送数据,将发生总线数据冲突,此时,CAN总线协议提出用标识符识别数据优先权的总线仲裁。表2列出了汽车各电控单元产生及发送的数据类型,及其他各单元对这些信息共享地程序。
油量位置和转速信号具有较高的优先级,是因为它们的实时性要求强,并直接影响发动机的动力性、经济性和排放性能。
4.2CAN接口设计
本研究中,CAN总线被成功地用于电控柴油机标定系统,采用单片机系统与CAN控制器组成CAN标准接口。
目前,CAN总线芯片有很多种,如PHILIPSSJA1000、INTEL82526、MOTOROLA68HC05、SIEMENSC167C等。
本文电路设计中选用SJA1000作为CAN控制器芯片,ECU的应用层由微处理器提供。连接各种类型微处理器的CAN控制器SJA1000可完成物理层和数据链路层的所用功能,适用于汽车及一般工业环境,不但可以减少导线连接,并能增强诊断和监控能力。
CAN节点通信接口的硬件设计如图3所示。设计中,分别将微处理器的地址线、数据线和控制线引出,通过地址分配与片选对CAN控制器SJA1000进行操作。总线数据信号采用高速线性光耦6N137隔离,电源信号为+5V的DC-DC隔离模块,增强系统硬件利用抗干扰措施。82C250是CAN控制器和物理层总线之间的接口,具有抗汽车环境下的瞬间干扰、保护总线的能力。该器件可以提供对总线的差分发送能力和差分接收能力,与ISO/DIS11898标准完全兼容。
3CAN接口硬件电路设计
当通过滤波验收的数据报文被接收后,将有两种操作方式。一种是查询方式,查询接收状态位被置高表示接收缓存器有数据;另一种是中断方式,若接收中断开放位允许,则产生触发中断。由于SJA1000内部具有64bit接收缓冲器,对总线数据具有一定的缓存能力。通常系统采用主程序查询方式对接收数据进行处理,并用广播方式发送,对特殊数据采用远程帧申请方式,这样更有利于程序对多个任务的结构化管理。
通讯程序流程
CAN总线具有通信速率高、可靠性高、连接方便和性能价格比高等诸多优势。并且CAN应用系统的设计是依据国际标准(ISO11898),各生产厂商的控制器有标准的输入/输出接口,所以该网络是一个具有开放性和灵活性的系统,可以在不要求所有节点及其应用层改变任何软件和硬件的情况下,自由地增加或减少控制器节点。
5结束语
为了充分发挥电控单元在汽车控制中的作用,CAN通信网络为全局优化控制提供了条件。通过实际运用表明,CAN总线与其他通信方式相比具有显著的优点:
a.组网自由,扩展性强,对复杂的汽车网络具有强大的优势;
b.可根据数据内容确定通信优先权,解决了转速实时性和共享性的问题;
c.自动的错误界定功能,简化了电控单元对通信的操作。
d.由于数据通信协议的标准性和开放性,故本文中的接口电路具有一定的推广意?系统,并且被众多工业控制系统采用,尤其是传输速率较高而对实时性及可靠性要求高的场合,它是一种十分有效的通信方式。