一.协议汇总
二.通信协议
(1)ISO 11898
CAN总线的规范,对应于OSI物理层和数据链路层。对于物理层来说,定义了CAN总线信号在双绞线上的电压形式,对于数据链路层来说,定义了CAN帧的各个域的用途。
三.诊断协议
诊断协议的发展历程
(1)ISO 9141
通信前需要通信双方建立握手协议
(2)ISO 14230 (KWP 2000(Keyword Protocol关键字协议))
基于K 线的KWP2000协议就是ISO-14230
A.ISO 14230-1 应用层
兼容ISO 14229 中描述的诊断维修实施方法;同时对于数据的排放在 ISO 15031 中进行定义。
B.ISO 14230-2 数据链路层
包括信息格式和时序。兼容 ISO 9141-2;提供了额外选项,包括头部是否带有地址信息和长度信息。信息最大可达 255 字节长;定义了通讯初始化方法。
C.ISO 14230-3 物理层
ISO 9141-2中定义的物理层,扩展到可以工作在24V系统中;只需对软件进行修改,就能满足 KWP 2000 接口需求。
(3)ISO15765(广泛的使用在轿车、汽车控制工业等方面) UDSonCAN
基于CAN的KWP2000协议就是ISO-15765
A:一般信息
B:网络层服务
C:统一诊断服务( UDS CAN)
D:相关排放系统要求
1).ISO 15765-1
包括物理层和数据链路层。
2)ISO 15765-2
定义了车载CAN / CAN FD总线在网络层(TP层)通信规则;定义了应用层、传输层、数据链路层之间的编程接口,其实就是request, confirm, indication这几个原语的定义。
A. 请求服务(Request):用于向网络层传递控制报文信息及要发送的数据,应用于更高层或应用层。如tester向ECU发出数据。
B. 指示服务(Indication):用于向更高层或应用层传递状态信息及接收到的数据,应用于网络层。如ECU收到了tester的数据,传至应用层。
具体说来,Indication前端应该执行的是底层传入数据的处理函数,即读取PDU信息,这一帧具体是SF、FC、CF还是FF。若满足条件,继续向上,即应用层传递。
C. 确认服务(Confirm):被网络层使用,用于向更高层或应用层传递状态信息。如tester收到了ECU方面的数据。
3)ISO 15765-3
规定了应用层的具体服务( UDS CAN)。(ISO 15765-3和ISO 14229-3的内容是一样)
4)ISO 15765-4
定义了基于CAN总线实现OBD通信的方式
(4)ISO 15031
定义了01-0A 10个服务,读取排放相关内容和DTC(法规效应的协议)。
(5)ISO14229 UDS(Unified Diagnostic Services)(商用车)
A.ISO14229-1 Application layer
UDS的使用规则,服务,以及相关的服务原语(接口定义)。
B.ISO14229-2 Session layer services
会话层的使用规则。
C.ISO14229-3 UDSonCAN
定义了UDS基于CAN总线的实现。 ( ISO 15765-3和ISO 14229-3的内容是一样)
D.ISO14229-4 UDSonFR
定义了UDS基于FlexRay总线的实现。
E.ISO14229-5 UDSonIP
定义了UDS基于以太网协议的实现。
F.ISO14229-6 UDSonK-Line
定义了UDS基于K-Line总线的实现。
G.ISO14229-7 UDSonLIN
定义了UDS基于LIN总线的实现。
H.ISO14229-8 UDSonCXPI
定义了UDS基于CXPI总线的实现(2020版UDS协议,欧洲新增)。
版本:
ISO 14229(2006版)
ISO 14229(2013版)
ISO 14229(2020版)
(6)SAE J1939
SAE J1939 协议是美国汽车工程师协会(SAE)为了实现总线协议的标准化,在CAN2.0B 的基础上制定的应用于大型货车和客车的车辆网络串行通信和控制协议。在物理层和数据链路层基本上沿用了CAN 规范,并增加了网络层、应用层和网络管理规范,规定了CAN总线使用29bit的扩展标识符和扩展数据帧,网络通信速率可达250Kbps。
(1)SAE J1939物理层——J1939/11
描述了电气接口和物理介质,定义的内容包括:
1. 物理介质为屏蔽双绞线;
2. 传输速率为250Kbps;
3. 同一网络上最大子系统数为30个;
4. 最大传输线长度为40m;
5. 物理层还定义了数据的物理特性及总线的电气连接特性。
(2)SAE J1939数据链路层——J1939/21
以CAN2.0B为基础,通过CAN总线进行数据通信。定义了信息帧的数据结构、编码规则,包括通信优先权、传输方式、通信要求、总线仲裁、错误检测及处理;;CAN扩展帧的29位标识符(ID)重新分组定义,通过报文的标识符(ID)描述报文的目标地址、源地址等内容。
(3)SAE J1939 网络层——J1939/31
SAE J1939网络管理的主要任务是节点的地址分配或确定,但它不能实现其他上层网络协议中的节点监测功能。因此, SAE J1939网络必须通过应用程序来实现节点监测。
(4)SAE J1939 应用层——J1939/71
应用层定义常用物理参数的格式,数据格式规定了数据的长度、分辨率、取值范围和类型、数据传输方式(Intel/Motorola)。
(5)SAE J1939 应用层——J1939/73_故障诊断
诊断报文:DMx
诊断故障代码:DTC