一、技术背景
在当今的中高档汽车中都采用了汽车总线技术。汽车总线为汽车内部各种复杂的电子设备、控制器、测量仪器等提供了统一数据交换渠道。一些汽车专家认为,就像在20世纪70年代引入集成电路、80年代引入微处理器一样,近10年来数据总线技术的引入也将是汽车电子技术发展的一个里程碑。
20世纪90年代以来,汽车上由电子控制单元(ECU)控制的部件数量越来越多,例如电子燃油喷射装置、防抱死制动装置、安全气囊装置、电控门窗装置、主动悬架等等。随着集成电路和单片机在汽车上的广泛应用,车上的ECU数量越来越多。因此,一种新的概念--车上控制器局域网络CAN(Controller Area Network)的概念也就应运而生了。CAN最早是由德国BOSCH公司为解决现代汽车中的控制与测试仪器之间的数据交换而开发的一种数据通信协议,按照ISO有关标准,CAN的拓扑结构为总线式,因此也称为CAN总线。
CAN协议中每一帧的数据量都不超过8个字节,以短帧多发的方式实现数据的高实时性;CAN总线的纠错能力非常强,从而提高数据的准确性;同时CAN总线的速率可达到1M bit/s,是一个真正的高速网络。总之,将CAN总线应用在汽车中使用有很多优点:
(1)用低成本的双绞线电缆代替了车身内昂贵的导线,并大幅度减少了用线数量;提高可靠性,安全性、降低成本。
(2)具有快速响应时间和高可靠性,并适合对实时性要求较高的应用如刹车装置和气囊;控制平台、信息平台、驾驶平台的互连基础。
(3)CAN芯片可以抗高温和高噪声,并且具有较低的价格,开放的工业标准。
在现代轿车的设计中,CAN已经成为必须采用的装置,奔驰、宝马、大众、沃尔沃、雷诺等汽车都采用了CAN作为控制器联网的手段。据报道,中国首辆CAN网络系统混合动力轿车已在奇瑞公司试装成功,并进行了初步试运行。在上海大众的帕萨特和POLO汽车上也开始引入了CAN总线技术。但总的来说,目前CAN总线技术在我国汽车工业中的应用尚处于试验和起步阶段,绝大部分的汽车还没有采用汽车总线的设计,因而存在着不少弊端。
比如,众所周知汽车的核心设备就是发动机,发动机的运行参数,例如发动机转速、机油压力、冷却剂温度等等是和汽车驾驶是紧密相关的。传统汽车仪表的设计方法是:通过放置在汽车部件(如发动机)内部的传感器,将机械信号转换成电信号,如电压、电流、脉冲信号,再经过D/A转换或计数器等,将电信号转换成可视的指针信号显示在模拟仪表盘上。随着汽车总线技术的发展,不少进口的发动机已经不再直接向外提供传感器信号,而改用CAN总线通信接口。一旦发动机出现故障时,由于缺乏基于CAN总线的测试维修设备,目前我们的维修人员使用的方法只能是在发动机上钻孔,将传感器直接放进发动机内部进行测量,操作繁琐、设备复杂,且不利于保护发动机的整体结构。
又比如,现有的部分汽车仪表使用了专用的总线设计,由于硬件标准不统一,通信协议也不兼容,为甲公司汽车生产的仪表完全不能在乙公司的汽车上使用,生产成本难以降低、故障维修很不方便。如果能将各种专用总线统一到CAN总线标准上来,就可以解决问题。
再比如,在手动挡汽车中,驾驶员的换挡是依照经验进行的,有可能发生应该加高挡位而没能及时加挡的情况,即低档高速行驶,既不利于降低油耗,又容易造成汽车传动部件磨损。如果能实现自动换挡提示,车辆就能始终保持在经济时速行驶。
根据ISO(国际标准化组织)定义的OSI模型,CAN协议定义了物理层及数据链路层规范,这为不同的汽车厂商制定符合自身需要的应用层协议提供了很大的便利。如果需要建立更加完善的系统,还需要在CAN的基础上选择合适的应用层协议。如CANopen、SAE J1939等。
J1939协议是目前在大型汽车中应用最广泛的应用层协议,可达到250Kbps的通讯速率。J1939协议由美国SAE( Society of Automotive Engineer)组织维护和推广。J1939协议具有如下特点:
(1)以CAN2.0B协议为基础,物理层标准与ISO11898规范兼容并采用符合该规范的CAN控制器及收发器。通讯速率最高可达到250Kbps。
(2)采用PDU( Protocol Data Unit 协议数据单元)传送信息,每个PDU相当于CAN协议中的一帧。由于每个CAN帧最多可传输8个字节数据,因此PDU的传输具有很高的实时性。
(3)利用CAN2.0B扩展帧格式的29位标志符定义每一个PDU的含义以及该PDU的优先级。
(4)J1939协议主要作为汽车中应用的通讯协议,对汽车中应用到的各类参数都进行了规定。参数的规定符合ISO11992标准。
转载请注明出处。