一、技术背景
在当今的中高档汽车中都采用了汽车总线技术。汽车总线为汽车内部各种复杂的电子设备、控制器、测量仪器等提供了统一数据交换渠道。一些汽车专家认为,就像在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标准。
二、J1939在国内的发展情况
中国单片机公共实验室联合北京英贝多嵌入式网络技术有限公司以及国内著名的汽车设计厂商,经过两年多的设计开发,实现了基于单芯片的J1939 网关芯片em2003系列产品。
em2003可用于汽车数字化仪表,汽车J1939网关,汽车多功能电控的核心单元,并通过了严格的可靠性测试和实际产品化验证,已投入批量生产。
em2003的各项指标已达到了国际先进水平,除支持SAE J1939固件外,还可支持SAE 1587,ISO9141标准,实现对汽车仪表的控制驱动。在国内是唯一实现了对汽车全液晶数字仪表的控制,步进马达指针仪表的控制及多功能车载传感器信息运行参数的网络计算信息平台。通过了与美国、德国、意大利 J1939 发动机的互连测试,取得了国际化的通行证。
目前,SAE J1939的技术规范及软硬件开发测试平台已由中国单片机公共实验室完成引进消化和部分技术的国产化工作,并对国内数十家汽车厂商的控制计算平台提供技术支持和解决方案及顾问服务。如附图所示:
图:J1939网络与LIN网络仿真测试平台
该系统由11个网络节点组成,以J1939网络为骨干,集成了现代汽车技术的网络精华。包括LINbus,GPRS/GSM(无线TCP/IP网),Bluetooth(蓝牙),USB,及嵌入式以太网等最新技术。汽车的动力部分单元是通过嵌入式硬件数字仿真技术实现的。各单元的简介如下:
(1)发动机ECM仿真单元:(节点1)
实现(实际)发动机的总线仿真功能,产生发动机10~20种电控时实参数,模拟汽车发动机的实际运行状态。适合汽车EMC要求。
(2)NMT/车身电控制单元(节点2)
可实现J1939/81规定的网络管理功能和诊断纪录功能,发出报警控制信息,并有16个光电隔离输出接口(50V/500mA)和8个数字信号(传感器)输入接口及4个模拟传感器接口,控制功能可现场编程修改。适合多种汽车EMC开发要求。
(3)缓速器仿真单元:(节点3)
可根据汽车运行状态和车速控制电磁缓速器的驱动接口。
(4)ABS仿真单元:(节点4)
根据汽车网络综合参数控制ABS制动力和启动时间。
(5)AMT仿真单元:(节点5)
根据设计参数可仿真实现变速箱与发动机ECM的通讯。
(6)非对称网桥(节点6)
可实现高速网(动力系统)和低速网(仪表信息电气控制系统)的流量不对称桥接从而保证,总线负载率的安全和电气安全。
(7)LIN BUS 网关(节点7)
实现LIN-BUS传感器、电气控制系统和CAN-BUS系统的互联。并遵从J1939协议。
(8)J1939MFM(节点8)
J1939多功能汽车综合参数仪表(汽车信息中心),可实现14种汽车运行参数的实时显示(中文LCD),可编程300~5000Km历史车况记录并具备故障报警信息显示功能。适合汽车EMC要求。
(9)J1939汽车仪表(节点9)
实现J1939总线式汽车仪表。可适配多种国产或进口汽车仪表总成。
(10)J1939转以太网/USB(网关节点10)
可实现以太网或USB接口与通用计算机连接进入J1939网络,对总线负载率进行统计分析,开放API接口。
(11)J1939运行实时参数记录(节点11)
接入J1939网络可记录20万条运行参数,用于实时分析各ECU单元的运行情况,亦可在实际运行的汽车中测试运行参数,并通过GMS/GPRS网络接入Internet网络服务器。抗电子干扰能力很强,适合汽车EMC要求。
上述系统中的这些节点单元可组成较完善的网络测试环境,大多数单元已实现产品化。并适合汽车EMC要求。因而可与实际的汽车电子产品互换连接。以此为基础可组成汽车电子总线技术电控单元仿真测试平台。配备专业测试仪器后可组建CAN-BUS实验室,该系统具有标准化和可扩展性的特点。
北京英贝多公司通过与德国Phytec、IXXAT等公司的合作,以达到国际水平的硬件ECU为核心,开发并集成了J1939网络系统仿真平台V1.0版本。
该网络系统按照J1939的物理层、链路层和网络层规定在12个节点下(总线负载率最大为30%条件下)连续工作已超过10000小时。并按照J1939/71车辆应用层标准完成了对MFM/J1939多功能网关产品化测试及总线型数字汽车仪表的测试。
三、技术展望
现代汽车是一个智能化网络计算平台。汽车网络贯穿整车的每个单元即控制系统、信息系统、驾驶系统和传感执行系统均由控制局域网CAN-BUS互连,掌握应用层网络标准并开发嵌入式软件是关键技术。
将车内的控制网络与信息网络如故障信息检测系统,车况自动纪录系统,实时驾驶信息显示系统(智能化数字仪表)与嵌入式因特网互连(支持IPv4及IPv6),使每个汽车有一个Web网页,将会是今后汽车计算平台的关键核心技术。