基于CAN总线的多ECU通信平台设计
摘要:介绍CAN总线及其通信协议J1939,并设计基于CAN总线的多ECN通信平台的硬件结构;阐述节点ECN通信的软件设计方法,在仿真试验的条件下实现数据通信的功能。试验表明平台运行稳定可靠。
引言
随着集成电路和单片机在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。从布线角度分析,传统的电子气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成宠大的布线系统。因此,一种新的概念——汽车上电子控制器局域网络CAN,也就应运而生。为使不同厂家生产的零部件能在同一辆汽车上协调工作,必须制定标准。按照ISO有关标准,CAN的拓扑结构为总线式,因此称为CAN总线。CAN总线被设计作为汽车环境中的微控制器通信,在车载各电子控制装置ECN之间交换信息,在车载各电子控制装置ECN之间交换信息,形成汽车电子控制网络。
控制器局域网CAN(Controller Area Network)是一种多主方式的串行通信总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。CAN在汽车上的应用,具有很多行业标准或者是国际标准,比如国际标准化组织(ISO)的ISO11992、ISO11783以及汽车工程协会(Society of AutomoTIve Engigeers)的SAE J1939。CAN总线已经作为汽车的一种标准设备列入汽车的整车设计中。
图1
1 CAN总线特点及其通信协议
1.1 CAN总线简介
CAN通信协议规定了4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。基于以下几条基本规则进行通信协调:总线访问、仲裁、编码/解码、出错标注和超裁标注。CAN遵从OSI模型。按照OSI基准模型只有三层:物理层、数据链路层和哀告层,但应用层尚需用户自己定义。CAN总线作为一种有效支持分布式控制或实时控制的串行通信网络,应用范围遍及从高速网络到低成本的多线路网络。如:CAN在汽车中的发动机控制部件、ABS、抗滑系统等应用中的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电器系统中,例如电气窗口、灯光聚束、座椅调节等,以替代所需要的硬件连接。其传输介制裁为双绞线,通信速率最高可达1Mbps/40m,直接传输距离最远可达10km/5kbps,挂接设备数最多可达110个。CAN为多主工作方式,通信方式灵活,无需站地址等节点信息,采用非破坏性总线仲裁技术,满足实时要求。另外,CAN采用短帧结构传输信号,传输时间短,具有较强的抗干扰能力。
CAN总线与其它通信协议的不同之处主要有两方面:一是报文传送不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,其特点是可在线上网下网、即插即用和多站接收;另外一个方面就是特别强化了数据安全性,满足控制系统及其它较高数据要求系统的需求。
1.2 J1939通信协议
J1939协议是在CAN总线通信协议2.0B(29标识符)之上具体实现了应用层,是SAE为重载卡车和客车制定的通信协议;以CAN 2.0B为基础,物理层标准与ISO11898规范兼容并采用符合该规范的CAN控制器及收发器。J1939协议将CAN标识符划分为如下几个部分:优先级(P)、数据页(PGN)、协议数据单元(PDU)格式、PDU特定域(PS)和源地址(SA)。J1939/71应用层文档定义了车辆控制的各种参数及命令的PGN。
由此可见,J1939与CAN通信协议的区别在于29位标识符(ID),数据场相同。J1939将CAN的29位标识符(或称辨识别)进行了详细的物理定义。通过PDU将CAN标准格式封装为J1939协议格式。PDU信息帧又由优先权P、保留位R、数据页DP、协议数据单元PF、扩展单元PS、源地址SA和数据场DATA七个部分组成,即CAN的29位标识符加上数据。
2 总体设计
2.1 汽车电控网络结构
汽车内ECU之间的数据传输特征主要差别在于数据传输频率,例如发动机高速运行时,进行的是高频数据传输,每隔几ms就传输1次;而在低速运行时,进行的是低频数据传输,每隔几十ms乃至几百ms才传输1次。然而为了满足实时性要求,就要求汽车内每个控制单元尽可能实现汽车公共数据共享,但又由于每个控制单元对实时性的要求是因为数据的更新速率和控制周期不同而不同的。这就要求其数据交换网是基于优先权竞争的模式,且本身具有较高的通信速率。CAN总线正是为满足这些要求而设计的。CAN已有国际标准,即高速场合的ISO11898和用于低速场合的ISO11519-3。
- GMSL SerDes在双汽车电子控制单元(ECU)中的应用(03-09)
- 智能汽车电子控制单元该如何简化(02-19)
- 汽车信息系统:缘何成为攻击新目标?(04-16)
- 基于FPGA的汽车ECU设计充分符合AUTOSAR和ISO 26262标准(04-21)
- 现代汽车上的电子“器官”(02-04)
- 剖析汽车ECU工作原理以及架构演变(02-02)