岳意娥 范志容 苏芮琦
摘要:随着汽车电子技术的发展,车上的电子系统越来越多,需要共享并相互传递大量的信息,传统的布线已不能满足要求,汽车总线技术成了解决这些的关键技术。整车网络结构越来越复杂,为了保证整车网络的正常运行,网关作为“桥梁”产生并大量应用。本文介绍了网关的通信设计,包含路由模式,信号路由,路由策略等,并在某车上进行了应用,最终通过仿真、测试验证了该网关通信设计的正确性。
关键词:网关;路由
随着社会对汽车节能、环保、安全要求的日益严格以及人们对乘坐舒适性、驾驶便捷性要求的日益提升,电子化、信息化、网络化和智能化成为汽车产品先进性的重要体现。据统计,汽车上70%的创新来源于汽车电子技术的应用[1],现代汽车上传统的电器部件逐步变为电子化控制,车上的电子系统越来越多,在这些电子设备中,需要共享并相互传递大量的信息,按照传统的布线方式将导致车身限速庞大且复杂,安装空间紧缺,运行可靠性降低,故障维修难度增大,线速系统的成本高,因此汽车总线技术成为解决这些的关键技术。
为了满足不同的系统需求,整车往往采用多种总线形式,如CAN、LIN、MOST、Flexray等。各类总线的传输速率不同,应用场合也不同,如LIN总线传输速率通常小于20 Kh/s,主要用于电动车门锁,车窗和后视镜等设备;CAN总线传输速率通常小于1 MKh/s,主要用于车身控制、舒适系统;MOST总线传输速率高达500 Mh/s,主要用于多媒体设备、高速数据流传输的高性能网络;FlexRay总线传输速率高达20 Mb/s,主要用于车辆底盘控制系统。
由于汽车电子的大量运用,车辆上的控制器越来越多,交互信息的增加,网络结构也从单一网段逐步发展到复杂网段的形式;同时多总线形式的应用,均导致了车载网关的产生。网关作为整车网络的桥梁,是整车网络的核心。本文介绍了网关的通信设计,包含路由模式,信号路由,路由策略等,并在某乘用车上进行了应用,最终测试验证了该网关通信设计的正确性。
1 网关的通信设计方法
网关将报文分组从一个网段路由到另一网段的设备,是网络互连设备的一种。对于采用多种总线形式的整车,网关还必须具备有从一个网络协议到另一个协议转换信息的能力。网关的每个网段接口均必须满足该网段的所有网络标准要求,包含通信,网络管理,诊断等。
网关的通信设计包含网段接口、路由模式、发送方式、变更标识符、路由策略、路由时间等,下面一一进行阐述。
1.1网段接口
网关所具有的网段接口个数,网络接口的总线类型根据具体的车型的网络拓扑决定。如图1拓扑示意图中的网关,具有4个网段接口,其中3个CAN接口,1个LIN接口。
1.2路由模式
路由模式有报文路由和信号路由两种。
1.2.1报文路由
报文路由,如图2所示,是指网关从源网段接收到需要路由的报文后,直接将其转发到月标网段,而不作任何更改。报文路由方式存在两种情况:一种是采用相同的协议,相同的格式(如相同的ID,数据等),另一种采用不同的协议或者传输速率。
报文路由模式一般在网关的底层程序就可以实现,无需上层应用程序支持,因此可大幅降低网关的处理时间。对于实时性要求较高的信号,或者整帧报文均需要转发,一般采用报文路由模式。
1.2.2信号路由
信号路由是指网关可以根据需要提取不同报文的信号,重组成一个新的报文并转发到目标网段,而且网关能够更改新报文的发送方式和发送周期。
信号路由模式可以提高報文数据场的利用率,降低目标网段的网络负载,但会增加网关的处理时间。对于实时性要求不高的信号,或者两个系统接口问均无法更改的时候,一般采用信号路由模式。
信号路由存在以下几种情况:
1)重新封装(Repackage):一帧中的信号转发到另一个网段的一个或者多个帧中,数据只是重新封装,没有调整,如图3所示:
2)组装(Assemhle):来自一个网段上的两帧或多帧的信号(这些帧可能来自不同的控制器),重新组合成一帧发送到另一个网段。数据没有调整,但是排列进行了调整。如图4所示。
3)组装&重新封装(Assemhle&Repackage;):组装和重新封装的结合,信号来自一个网段上不同帧,封装到两个或者更多帧中,并发送到另一个网段,如图5所示:
4)其它信号路由方式:网关修改传输的数据(精度、范围等),如图6所示。或者利用现有的数据合成新的数据,如接收轮速信号计算平均轮速。这种方式应用较少,当两个系统之间的接口不能改变时采用。
1.3发送方式
1.3.1报文路由发送方式
报文路由的发送方式是事件传输。该传输模型允许网关从源网络接收传人的消息,并以最小的延迟传输到另一个网段,在该网络上的传输也是周期性的。
1.3.2信号路由发送方式
1)周期发送
该传输模型允许网关定期从源网络接收传人的消息,并重新封装到另一网段上规定的周期报文。这种发送方式存在的风险就是,如果目标报文在源报文到来前刚刚发出,那么该源信号的传输就会存在延时(目标报文的周期)。
如果源信号是周期发送,信号路由方式采用周期发送。
2)事件发送
该传输模型允许网关接收源网段的事件报文,并立即转发到另一个网段上。该种发送方式需要设定一个转发报文的最小时间间隔。如果很小时间段内连续发生事件,转发的报文必须延时或者推迟最小时间间隔再发送。
如果所有的源信号均是事件型,则信号路由采用事件发送。
3)周期事件
周期事件是周期发送和事件发送的结合,当没有事件发生时,网关周期接收源报文,并重新封装到另一网段规定的周期报文中。当事件发生时,该发送模式可以使得对事件进行快速响应。
如果源信号既有周期发送、也有事件发送,或者源信号的周期小于目标报文的周期,则采用周期事件发送。
1.4变更标识符
在网关转发报文过程中,如果被转发的报文ID与目标网段的报文发生标识符冲突,则需要变更标识符。不同网段分配不同的标识符可以避免此类事情发生。
另外,不同协议之间也需要进行ID的变更。
1.5路由时间
路由时间指网关接收到路由对象到转发到目标网段的时间,用于约束网关的开发。
2 某整车网关的通信设计
某整车网络控制器数量多,发动机管理系统、变速箱控制器、车身控制器、仪表等;且信息交互量数据大,因此该乘用车采用双网段的总线结构,网段之间使用一个网关来实现两个子系统的信息交互,主要包括:发动机转速,发动机冷却液温度,车速等。整车网络拓扑示意图如图7所示。
整车网络有两个CAN网段,均采用ISO11898协议,通信速率均采用500kbit/s。因此该车载网关只需要进行信号的转发,无需实现协议的匹配。
2.1网段接口
该车型的网关具有2路CAN接几。
2.2路由设计
经统计,某乘用车上需要网关转发的信号共有63个。根据各控制器对于信号的需求,对需要网关转发信号的路由模式进行设计,最终将设计结果形成路由表,如表1所示。表2是某乘用车的部分信号路由表。
部分设计举例如下:
1)车速信号是一键启动系统下电的关键信号之一,因此采用报文路由的形式。
2)所有给仪表的报警信号,来自很多不同的控制器,每个信号长度短,如果均采用报文路由的形式,将较大地增加整车网络负载;同时这类信号的实时性要求不高,因此采用信号路由的形式。
3)因为该车型只有两个网段,所以主要采取的是组装形式的信号路由方式。
2.3路由策略
采用信号路由方式的信号,网络正常时,网关转发的信号均是来白源节点的真实值。但是当网络异常时,会带来新的问题。
如表2中所示的信号,EMS_EngCoolantTemp来白EMS的0x306报文,ESC_ESCAlarmSig来白ESC的0x328报文,网关在另一网段将这两个信号重新组装放在了同一个报文0x315中。当ESC通信正常、EMS通信丢失时,网关接收不到0x306报文时,而网关在目标网段报文仍会发出0x315报文。此时网关转发的EMS_EngCoolantTemp的值并不是当前的真实值。但是接收0x315报文的节点并不知道此时状态,用这个值进行处理也许会带来新的问题。
由于接收节点对于信号丢失的处理方式不同(采用无效值,初始值或替代值等),故无法由网关直接采用某一种值进行处理。因此在该车型中首次提出了节点监测功能,并通过一个信号将节点的当前通信状态反馈出来,该信号的定义如表3所示。当EMS通信丢失时,网关将LostToEMS置为1,接收方同时接收这个信号,在进行处理时结合这个信号进行判断以解决因信号路由带来的问题。
3 某整车网关的通信设计仿真
CANoe是德国Vector公司开发的分布式系统设计、仿真、测试、评估的强大工具,它能支持总线开发的整个过程,是本测试系统的核心。该工具提供了整个开发流程各阶段的专业功能,包括通信协议数据库的创建和修改、建模、仿真、功能測试、诊断和分析[2]。利用CANoe对网关通信设计结果进行仿真,对网关通信设计进行验证。
3.1仿真系统的构建
利用CANne,根据整车通信网络信号矩阵,编制相应的数据库,以便用于测试。
在CANne环境下,添加数据库,将网络上的节点自动生成,如图8所示。
3.2仿真方法
利用CAPL编程,当其他节点发送报文/信号时,网关接收,按照没计进行处理后发出。观察结果判断网关通信设计的正确性。
例如,O0x210报文采用报文路由的形式从P-CAN转发到B-CANt。编制如下程序,运行后观察网关是否正确转发报文。当收到来自CAN2( P-CAN)的0x210报文,是否转发到CAN1( B-CAN)上。
on message CAN2.0x210
{message CAN1.0x210 msg;
if(this.dir!= rx) return;
msg= this;
output(msg);}
3.3 仿真结果
利用CANne中CAPL编程,实现网关信号路由功能,验证了网关路由的正确性。
4 某整车网关的通信测试
在系统开发过程中,需要对网关通信进行测试,验证网关通信设计以及实现的正确性。
根据网关的通信设计,网关通信测试包含以下内容:
1)路由模式的测试:测试报文路由和信号路由是否按照要求进行;
2)信号路由正确性测试:信号值是否按照要求正确转发;
3)信号路由时间测试:信号路由时间是否满足设计要求;
4)路由策略测试:网关是否按照要求进行处理,包含节点监测机制。
4.1 测试类型
测试共包含单元测试、台架测试、实车测试。
单元测试:整个测试环境主要由网关、稳压电源和CANoe软硬件模块等几部分组成,除了网关,其他的节点均是FHCANoe工具虚拟而成。需要转发的报文/信号均采用模拟。
台架测试:通过搭建整车网络台架,将网络节点的实际样件均接人,对网关进行测试。实车测试:装配好的实车上,对网关进行测试。
4.2测试方法
台架测试和实车测试网关转发的是来自其他节点的真实值。单元测试中则需要通过节点配置,增加一个交互式的节点,将需要路由的报文添加到节点中,模拟信号路由,并为信号设置触发方式,模拟信号变化。
1)路由模式
运行后通过Trace窗口观察网关的转发情况,是否满足路由模式的设计。
2)路由正确性测试
利用Craphic工具,将源信号和目标信号调出,观察网关路由的正确性。
3)信号路由时间测试
测试方法同信号路由正确性测试,在Craphic界面,将源信号和目标信号调出,利用工具测量信号间的延时。
4)路由策略测试
模拟节点通信丢失,观察网关是否按照设计的路由策略实现。
4.3测试结果
对网关的通信进行了测试,以下列出部分单元测试结果。
信号值正确性:模拟“空调的环境温度信号”发送,利用Craphlc,观察所得目标信号值跟随源信号值变化,满足设计要求。
利用Craphic中测量工具进行测试,测得的结果是△t=8.7ms( <10ms),满足设计要求。
5 结论
随着汽车电子的大量运用,车载网络的复杂化,网关在汽车上应用越来越多。网关作为整车网络的桥梁,是整车网络的核心。本文介绍了网关的通信设计,包含路南模式,信号路由等,在某乘用车上进行了应用,并首次提出节点监测机制,最终通过仿真以及测试验证了该网关通信设计的正确性。该车辆已量产,从目前的实际情况也验证了网关通信设计的正确性,
参考文献:
[1]陈光前,汽车电子技术的发展及应用,湖北汽车工业学院学报,2010年6月,第24卷第2期
[2]神红玉、宋锦刚、宋锦明,基于CANoe的高性能网关测试系统的构建,工业控制计算机,2010年,第23卷第8期