×
接口总线驱动 > 总线 > 详情

浅析车用CAN系统中网关的特性

发布时间:2020-05-27 发布时间:
|

引言

    网关(Gateway)实际上就是一种模块,它工作的好坏决定了不同的总线、模块和网络相互间通信的好坏。网关就像一个居民小区的门卫,在他让任何客人进大门之前,他得问问客人是否是应邀前来,或者通知某位住户有人来访了。对不兼容但却需要互相通信的总线和网络来说,网关所起的作用就和门卫一样。

1 网关的实质

    网关是连接异型网络的接口装置,它综合了桥接器和路由器的功能,汽车网关主要能在OSI参考模型的物理层、数据链路层和应用层上对双方不同的协议进行翻泽和解释。

    对于Bosch公司为奔驰600SEL等汽车开发的控制器局域网CANl.2与CAN2.0协议之间的网关,是指为处理多个ECU的核中核CPU之间的通信而提供的一种综合接口装置,实际上就是一个Intel-16位80C196单片微机,而美国三大汽车公司采用的SAE1850网络与Bosch-CAN网络之间的网关,实际上就是一个Intel-16位87C196KR单片微机。

    一个网关必须具备有从一个网络协议到另一个协议转换信息的能力,对于CAN协议的网关,应能涉及CAN协议4种帧类型中的两种,即数据帧和远程帧。另外两种错误帧和超限帧,由该网关的CAN芯片硬件控制,因此,可以说网关无附加的响应性。当然,网关必须具备有“状态位”,即在任何一个网络中发生的错误太多时,网关有报警状态位或总线中断状态位,这样,网关就像网络中的节点那样,可以调查总线状态。

    对于两个网络之间的网关,其具备尽量少的传输等待时间,信息丢失或超限差错最少,能处理总线出现的差错等特性。

2 网关的布置

    如果两个CAN网络执行器是两片独立的芯片(图1),微控制器(单片微机)作为网关,那么,CAN芯片就像灵巧的随机存储器被网关读写。一旦接收到信息,网关就执行接收CAN芯片的外部读操作,接着执行转换信息的逻辑指令,然后执行外部写操作,对第二个网络的CAN芯片作传输编程。

    所以说,网关主要是执行外部读、写操作和转换信息标识符,而执行读、写操作的重要技术条件是时间,读、写所要求的时间又取决于网关在CAN芯片接口的定时特性。

图1 网关硬件的布置

    3BoschCANl.2-CAN2.0之间的网关结构1991年9月,标准的1.2版本的CAN协议修订为新的2.0版本,新版本的技术关键是增加了信息标识符,也就是说,新的CAN2.0既支持标准的11位,也支持扩展后的29位信息标识。

    CAN2.0实施新的信息位,标识扩展位(IDE位)使CAN操作装置能区分标准和扩展格式,但大多数现存的标准CAN-1.2版本不能识别扩展后的信息格式,在实施过程中会响应错误信息。[page]

    为了能实施29位的信息标识,Intel公司开发了品种繁多的芯片,作为CAN的汽车用户,需采用网关使网络互连(图2),在仅用CAN-1.2-11位信息标识的条件下,能正确响应29位标识。

图2 BoschCANl.2与CAN2.0之间的网关连接图

图3 网关处理的内容

4 网关处理的内容

    网关主要“处理”有关下面三部分的内容(如图3所示):从第一个网络读取所接收的信息,翻译信息,向第二个网络发送信息。图中翻译信息标识符的含义如下:CAN1.2和CAN2.0的网关可用于以下两种情况;第一种是最简单的实施方式,即在两个网络之间不需要对信息标识符翻译,只是传送标准信息,也就是说,这时的网关只起到互连CANl.2与CAN2.0,并让这两个网络共享标准信息的任务:第二种实施方式需要对信息标识符作翻译,也就是说,两个网络有各自的信息标识符,例如,“发动机温度信息”在CANl.2网络上具有专用的11位标准信息标识符,而在CAN2.0网络上却具有扩展的29位信息标识符,此时的网关需对这两种信息标识符通过计算或“查表”翻译。

5 SAEJ1939-J1980网络仂议之间的网关

    SAE选用CAN2.0协议作为“C级”串行控制和通信网络的推荐实施标准,由称为SAE1939规范。CAN2.0每秒钟的数据速率可达IMbit/s,也就是说,CAN2.0执行相当于SAE-C级的高速数据速率。可对于货车的挂车或被牵引的机具来说,并不需要如此高CAN网络均数据速率。由于高速率串行链路的电子元件和硬件的成本较昂贵,因此,就采用中速数据速率(B级)41.6Kbitls的J1850网络来管理挂车的牵引和制动,而CAN2.0只用于支持主车发动机的各个ECU,这样,在货车和大客车上出现了连接异型网络的网关(如图4所示)。[page]

图4 CAN与J1850之间的关系

    同样原理,原实施SAE-J1850B级通信速率的小客车,感到发动机、自动变速器、ABS等系统的数据速率偏低,想提高通信速率以改善汽车的控制性能,又不能让汽车成本增加太多,就将原实施J1850的汽车增加一个网关(如图5所示),并将网关前方的总线修改为CAN总线。

图5 轿车CAN网与J1850网络之间的网关

6 奥迪A4-B6控制器局域网中网关的应用

    6.1奥迪A4-B6控制器局域网中网关的功能

    由于几种数据总线的传输速率不同,所以系统之间不能直接进行数据交换。而事实上,在车辆处于正常工作状态时,不同的总线系统之间是需要有信息交流的,如发动机系统(动力总线)与空调系统(舒适总线)之间就有信息交流,发动机控制单元会将节气门开度、水温、转速等信号传给空调控制单元,而空调控制单元需将压缩机工作状态传递给发动机控制单元。为了解决此问题,特设置了网关,即Gateway,又称为网络适配器。它能把各种总线系统的传输速度转换成一个中间频率,从而使所有连接在CAN总线上的控制单元之间都能进行信息交流,整车的CAN总线系统就形成了一个有机的整体,如图6所示。

    在奥迪A4-B6轿车上,Gateway只起到交换各种总线信息的作用,这种Gateway称为数据Gateway。而在Bora车上,Gateway除起到交换信息的作用外,还能在不改变数据的前提下,将动力总线、舒适总线和娱乐总线上的自诊断信息传递到K线上,这样可以使系统进行自诊断的速度加快。

    6.2奥迪A4-B6控制器局域网中Gateway的适配

    当更换某条CAN总线上的某个控制单元后,需进行该条CAN总线的适配,其目的在于使Gateway认识此新的控制单元并对其进行数据转换,否则该控制单元将不能参与CAN总线工作。每条CAN总线的每个控制单元都有一个固定的代码数值,适配时需将CAN总线上所有控制单元的代码数值加起来,输入总和数值到适当的通道,则该CAN总线适配成功,如果去掉某一控制单元的数值,则该控制单元无法参与CAN总线工作。如果更换了组合仪表,由于Gateway安装在组合仪表里,所以3条Gateway总线都需进行适配。但例外的是安全气囊控制单元,它不用编码,即不在适配范围之内,直接更换即可。

    动力总线的适配:用VAG1551或VAS5051进入地址码“17”(仪表),然后选择“10”功能(适配),进入“060”通道,输入相应数值后“确认”即可。各单元数值:发动机为1,变速器为2,ESP为4,组合仪表为1024,如果该车是手动变速器,则适配时应输入“1209”。

    舒适总线的适配:进入“061”通道输入各控制单元代码数值:汽车控制单元:勾l,舒适系统控制单元为2,组合仪表为256.转向柱控制单元为1024,空调系统为2048.驻车加热为32768。

    信息娱乐总线的适配:进入“062”通道输入各控制单元代码数值:收音机为l,电话为2,电子导航为4,组合仪表为16。 

图6 奥迪A4-B6轿车CAN系统示意图 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
嵌入式系统USB接口的虚拟示波器设计