基于ISO15765的车载CAN网络诊断网络层策略解析

2019-01-02 05:43董宏兴初洪超
汽车实用技术 2018年24期
关键词:网络层报文车载

董宏兴,初洪超



基于ISO15765的车载CAN网络诊断网络层策略解析

董宏兴,初洪超

(安徽江淮汽车技术中心新技术研究院,安徽 合肥 230009)

伴随着CAN总线在车载网络中的应用,基于CAN总线的汽车网络诊断通信标准ISO15765受到广泛关注。致力于该诊断标准的网络层处理策略的研究与解析,对基于ISO15765的车载网络诊断设备的研发提供一定参考价值。

ISO15765;解析;诊断

引言

随着汽车工业和信息技术的飞速发展,汽车通信策略标准逐渐由分散走向统一。K线诊断由于单线通讯而无法容错,通讯效率低等缺点,满足不了日益复杂的汽车网络,其逐渐被基于汽车网络诊断通信标准ISO15765的CAN总线所取代。致力于研发适于该体系的诊断设备,为未来车载诊断所需。

1 诊断协议分层结构

ISO15765体系中明确定义了基于CAN的汽车故障诊断通讯机制,如图1:

图1 CAN线分层结构

诊断协议体系结构分为4层:应用层,网络层,数据链路层和物理层。

应用层将诊断服务数据处理成CAN数据帧,在传输过程中,进行数据打包,解包,协调上下层工作,其打包方式按照A_PDU、N_PDU 、L_PDU的顺序发送,解包方式反之;网络层则通过定时参数等处理Tester与ECU之间的时间关系;数据链路层则按照ISO11898-1转化为有效的CAN数据帧,最后经过物理层的电平信号实现设备与节点,节点与节点之间的通讯。

2 诊断测试策略

目前诊断存在3种诊断结构:

(1)Tester与ECU处于同一网络,其可以直接通讯,如图2.

(2)Tester与ECU之间通过网关通讯,如图3。

(3)Tester在主网络,被测ECU在某子网络,Tester通过兼有网关功能的子网络的主节点转发信息,实现与ECU的网络通讯。

图2 Tester与ECU处于同一网络

目前汽车厂商出于技术及操作性方面考虑,大多使用不浪费帧资源的第一种方案。

图3 Tester与ECU之间通过网关连接

3 诊断网络层通信策略

UDS_CAN线诊断流程为:在ECU软件复位后,Tester以集寻址信息,协议控制信息及数据信息的诊断报文,通过总线向ECU发出功能寻址或物理寻址请求,ECU在地址信息相符情况下,根据报文中的控制信息及数据信息,以形式类似的报文反馈或不反馈Tester,其反馈形式中分为正响应和否定响应。测试中按照模式、服务项、子功能、长度等方面确定ECU的功能信息、故障代码及安全验证相关等,其中,在ECU支持编程模式下可以对ECU进行软件刷写。以最大限度维护ECU厂商、主机厂利益并处理ECU的常见的问题,保证ECU的功能及信息唯一性。

下面简单阐述Tester和ECU之间的时间处理与信号传递机制。

3.1 单帧传输

单帧传输相对简单,只需要将数据以单帧发送到网络层,对等到实体通讯即可,如图4:

图4 单帧传输

3.2 多帧传输

多帧传输是携带数据传输信息大于7个字节的传输方式,如图:

图5 多帧传输

其中:

N_As为发送方数据帧经数据链路层发送的时间;

N_Ar为接收方数据帧经数据链路层发送的时间;

N_Bs为发送方接收流控制帧的等待时间

N_Br为接收方发送流控制帧的间隔时间

N_Cs为发送方发送连续帧的间隔时间

N_Cr为接收方接收连续帧的等待时间

时间参数满足:

(N_Br+N_Ar)<(0.9*N_Bs timeout)

(N_Cs+N_As)<(0.9*N_Cr timeout)

诊断报文在网络层中被分解成一个首帧和多个连续帧,首帧中明确定义了分段数据的总长度信息,为第一段帧;连续帧是其余分段数据组成的CAN帧,每个数据帧都包含拆分的顺序编号。接收端根据接收数据帧的编号重组服务数据,以完成多帧传输。

3.3 错误处理

以上时间定时参数和网络层传输协议确保了数据通讯的交互与传递的连续性,同时ECU或Tester可以识别以下几种错误方式并给出相应的处理以保证数据传输的真确性:

(1)SF_DL错误:

当SF_DL=0或者SF_DL>7(常规寻址),此时接收方网络层应忽略接收到的单帧,且接收方无indication;

(2)FF_DL错误:

当FF_DL>接收方的缓存,那么接收方网络层应中断报文接收,接收方发送FC,其中FS=Overflow,接收方无indica -tion ;

当FF_DL< 8/7(常规寻址模式为8,扩展或混合寻址为7),网络层忽略FF,接收方无indication,且不发送FC;

(3)SN错误:

当CF N_PDU中的SN错误,报文接收应被中断,接收方网络层应指示上层=N_WRONG_SN,Tester的定时参数N_Bs超时,其向上层发出Timeout的指令

(4)FS错误:发送方网络层发现接收到的FC,FS非法(即FS错误),那么报文发送应被中断,发送方网络层向上层报告;

(5)N_WFTmax超时:发送方最多只等待FC/FS限定次数,然后向上层发送N_BS_Timeout;

(6)ST错误:当设定的ST值为大于127ms时,发送方和接收方按照最大值127ms处理,发送方和接收方均各自向上层报告;

图6 非预期帧处理

(7)非预期帧的处理:在多包报文传输或空闲状态下,当发送、接收方受到非期望报文时,根据节点处于不同状态给出以下处理方式,如图6:

4 结论

本文针对ISO15765协议的网络层进行通讯解析,着重阐述了CAN线诊断网络层通讯机制及错误处理策略。CAN线的诊断的网络层策略,为Tester读取和刷写ECU提供了可靠的信息交互平台,开发人员可基于此策略,开发出有利于针对CAN线诊断网络层软件。

目前基于ISO15765车载网络诊断协议研发的产品较少,主要集中在德国Vector及华东气电等公司开发的CANoe及ETS等仪器,虽然其涵盖的测试项目较全,但成本较高,此方面技术的前瞻性及后续设计与开发价值可见一斑。

[1] ISO15765-1:Road Vehicles-Diagnostics on Controller Area Networks (CAN) ,2004.

[2] ISO15765-2:Road Vehicles-Diagnostics on Controller Area Networks (CAN) ,2003.

[3] 许东辉等,JAC S-II_ECU Diagnostic Specification,安徽江淮汽车乘用车研究院,2011,11(21).

[4]常欣红,于金泳,刘志远..汽车故障诊断标准ISO15765的网络层解析 2006,05(20).

Based on ISO15765 vehicle CAN network diagnostic network layer strategy parsing

Dong Hongxing, Chu Hongchao

( Technology Center of JAC, Advanced Technology Research Institute, AnHui Hefei 230009 )

With the CAN bus in vehicle network based on CAN bus automotive network diagnostic communications standard ISO15765 attracted widespread attention. Devoted to the diagnostic criteria of the network layer processing strategy and analysis, based on ISO15765-vehicle network diagnostic equipment R & D to provide certain reference value.

ISO15765; Analysis; diagnostic

B

1671-7988(2018)24-50-03

U462

B

1671-7988(2018)24-50-03

U462

董宏兴,就职于安徽江淮汽车技术中心新技术研究院。

10.16638/j.cnki.1671-7988.2018.24.016

猜你喜欢
网络层报文车载
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
一种车载可折叠宿营住房
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
浅析反驳类报文要点
奔驰S级48V车载电气系统(下)
论物联网安全威胁及其应对策略
SA2型76毫米车载高炮多视图
物联网技术在信息机房制冷系统中的应用
浅析TDCS/CTC系统中心网络防火墙的链接