作为一个总线协议基础为零的小白,接触到各种各种通讯协议真让脑壳疼,因工作需要只能硬着头皮精心学下去,废话不多说上干货!
由SAE(汽车工程协会)制定世界汽车通讯法则,也就是不同汽车使用相同语言 如汉语;但同时又存在一些方言,其基础汉语便是CAN(局域通讯网络)。
总线协议可分以下几层:
物理层:物理介质、总线设计、长度、节点
数据层:帧(Frame)格式、PGN信息
网络层:
7.应用层:(最上层) 信息共享、故障诊断
7.网络层 | 14229-3 | 14229-4 | 14229-5 | 14229-6 | 14229-7 |
6.数据层 | |||||
5 | ISO14229-2 Timings | ||||
4.诊断层 | |||||
3.诊断层 | |||||
2. | |||||
1.物理层 | CAN11898 | FlexRay | Ethernet | K-Line | LIN |
下面梳理几个常见的千丝万缕的协议:
J1939:基于CAN2.0B基础上的总线协议,解决不同厂商不同ECU的兼容性问题。
CCP(CAN Calibration Protocol),中文:CAN标定协议
,顾名思义就是基于CAN总线的一种应用层协议。(主从式通讯协议)
UDS(ISO14229):全称:UnifiedDiagnostic Services),即统一诊断服务,是诊断服务的规范化标准,为诊断服务提供一个基本框架,这些诊断服务允许诊断仪在车载电子控制单元里面控制诊断功能,以便维修人员能够准确的解决故障。
OBD:(全称:On Board Diagnostics),即车载自动诊断系统,是汽车排放和驱动性相关故障的标准化诊断规范,有严格的排放针对性,其实质就是通过监测汽车的动力和排放控制系统来监控汽车的排放。当汽车的动力或排放控制系统出现故障,有可能导致一氧化碳(CO)、碳氢化合物(HC)、氮氧化合物(NOx)或燃油蒸发污染量超过设定的标准,故障灯就会点亮报警。
K线(ISO14230):
各协议下的帧组成: