汽车诊断协议ISO15765

CAN ISO15765 协议格式

一 需要知道的缩写

DoCAN diagnostic communication over controller area network 诊断通信控制器区域网络
CAN controller area network 控制器区域网络
ECU electronic control unit 电子控制单元
FMI failure mode indicator 失效模式指示器
OBD on-board diagnostics 车载诊断
SPN suspect parameter number 不可信的参数数量
WWH-OBD world-wide harmonized on-board diagnostics 全球协调车载诊断


二 帧格式


帧的种类及用途
数据帧 遥控帧 错误帧 过载帧 帧间隔


数据帧
数据帧由 7 个段构成。
数据帧的构成如图 16 所示。
(1) 帧起始
表示数据帧开始的段。
(2) 仲裁段
表示该帧优先级的段。
(3) 控制段
表示数据的字节数及保留位的段。
(4) 数据段
数据的内容,可发送 0~8 个字节的数据。
(5) CRC 段
检查帧的传输错误的段。
(6) ACK 段
表示确认正常接收的段。
(7) 帧结束



数据帧 是由多个段构成的





仲裁段
标准格式的 ID 有 11 个位。从 ID28 到 ID18 被依次发送。禁止高 7 位都为隐性。(禁止设定: ID=1111111XXXX)
扩展格式的 ID 有 29 个位。基本 ID 从 ID28 到 ID18,扩展 ID 由 ID17 到 ID0 表示。基本 ID 和标准格式的 ID 相同。禁止高 7 位都为隐性。(禁止设定:基本 ID=1111111XXXX)




保留位( r0、 r1)
保留位必须全部以显性电平发送。但接收方可以接收显性、隐性及其任意组合的电平。
*2 数据长度码( DLC)
数据长度码与数据的字节数的对应关系如表 8 所示。
数据的字节数必须为 0~8 字节。但接收方对 DLC = 9~15 的情况并不视为错误。




CRC 顺序
CRC 顺序是根据多项式生成的 CRC 值, CRC 的计算范围包括帧起始、仲裁段、控制段、数据
段。
接收方以同样的算法计算 CRC 值并进行比较,不一致时会通报错误。





发送单元的 ACK 段
发送单元在 ACK 段发送 2 个位的隐性位。
*2 接收单元的 ACK 段
接收到正确消息的单元在 ACK 槽(ACK Slot)发送显性位, 通知发送单元正常接收结束。这称作“发
送 ACK”或者“返回 ACK”。






2.标准CAN协议

;00 01 02 03 04 05 06 07 08 09 10 11 12

CMD:0D 02 08 07 15 02 3E 00 55 55 55 55 55

RET:0D 02 08 07 7F 02 7E 00 AA AA AA AA AA

帧长+帧方式+数据长度+帧ID+数据位



01)帧长:13 (BYE00)

02)帧方式:01:命令帧 02:数据帧 (BYE01)

03)数据长度:08 (BYE02)

04)帧ID:07 15(BYE03、BYE04)

05)数据位:BYTE05-12

06)波特率/数据采集工具:500BPS/SCANX1

07)通讯线:6-CAN_H,14-CAN_L 电源: 16#(12V) 地: 4#,5#

08)服务ID 功能

10 DiagnosticSessionControl (诊断层控制)

11 EcuReset (ECU重启)

27 SecurityAccess (安全进入)

28 CommunicationControl

3E TesterPresent (空闲)

85 ControlDTCSetting

22 ReadDataByIdentifier (数据流、版本信息)

2A ReadDataByPeriodicIdentifier

2E WriteDataByIdentifier (匹配、编码)

14 ClearDiagnosticInformation (清码)

19 ReadDTCInformation (读码)

2F InputOutputControlByIdentifier (作动器诊断)



各服务ID介绍

---------------------------------------------------------------------

DiagnosticSessionControl (10H) ;诊断层控制

RequestServiceIdentifier - 10 ;请求服务ID 10

Sub-function = 01 :DefaultSession ;子功能= 01 :默认层

03 :ExtendedDiagnosticSession ; 03 :扩展层



PositiveResponseServiceIdentifier - 50 ;积极响应服务ID 50

NegativeResponseServiceIdentifier - 7F ;消极响应服务ID 7F

---------------------------------------------------------------------

ECUReset (11h) ;ECU重启

RequestServiceIdentifier - 11 ;请求服务ID 11

Sub-function = 03 :SoftReset ;子功能= 03:软件重启



PositiveResponseServiceIdentifier - 51 ;积极响应服务ID 51

NegativeResponseServiceIdentifier - 7F ;消极响应服务ID 7F

---------------------------------------------------------------------SecurityAccess (27h) ;安全进入

RequestServiceIdentifier - 27 ;请求服务ID 27

Sub-function = 01 :RequestSeed ;子功能= 01:请求种子

02 :SendKey ; 02 :发送钥匙



PositiveResponseServiceIdentifier - 67 ;积极响应服务ID 67

NegativeResponseServiceIdentifier - 7F ;消极响应服务ID 7F

---------------------------------------------------------------------CommunicationControl (28h) ;目前未接触过,不熟悉

The service is used to “switch on/off” the transmission and/or the reception of certain messages of (a) server(s).

Sub-function = 00 :EnableRxAndTx

01 :EnableRxAndDisableTx

03 :DisableRxAndTx



PositiveResponseServiceIdentifier - 68

NegativeResponseServiceIdentifier - 7F

---------------------------------------------------------------------TesterPresent (3Eh) ;空闲

Sub-function = 00 :ZeroSubFunction ;子功能= 00



PositiveResponseServiceIdentifier - 7E ;积极响应服务ID 7E

NegativeResponseServiceIdentifier - 7F ;消极响应服务ID 7F

---------------------------------------------------------------------ReadDataByIdentifier (22h) ;通过标识符读数据



PositiveResponseServiceIdentifier - 62 ;积极响应代码 62

NegativeResponseServiceIdentifier - 7F ;消极响应代码 7F

---------------------------------------------------------------------WriteDataByIdentifier (2Eh) ;通过标识符写数据



PositiveResponseServiceIdentifier - 6E ;积极响应服务标识符 6E

NegativeResponseServiceIdentifier - 7F ;消极响应服务标识符 7F

---------------------------------------------------------------------ClearDiagnosticInformation (14h) ;清除故障信息



PositiveResponseServiceIdentifier - 54 ;积极响应服务标识符 54

NegativeResponseServiceIdentifier - 7F ;消极响应服务标识符 7F

---------------------------------------------------------------------ReadDTCInformation (19h) ;读DTC信息



PositiveResponseServiceIdentifier - 59 ;积极响应服务标识符 59

NegativeResponseServiceIdentifier - 7F ;消极响应服务标识符 7F

---------------------------------------------------------------------InputOutputControlByIdentifier - 2F ;作动器诊断)



PositiveResponseServiceIdentifier - 6F ;积极响应服务标识符 6F

NegativeResponseServiceIdentifier - 7F ;消极响应服务标识符 7F

---------------------------------------------------------------------

ReadDataByPeriodicIdentifier (2Ah);

通过定期的标识符,读取数据流;目前未接触过

transmissionMode parameter is defined = 01 :sendAtSlowRate = 1000ms ;

02 :sendAtMediumRate = 300ms ;

03 :sendAtFastRate = 100ms ;

04 :stopSending ;



PositiveResponseServiceIdentifier - 6A

NegativeResponseServiceIdentifier - 7F

---------------------------------------------------------------------ControlDTCSetting (85h) ;目前未接触过,不熟悉

Sub-function = 01 :On

02 :Off

PositiveResponseServiceIdentifier - C5

NegativeResponseServiceIdentifier - 7F

---------------------------------------------------------------------NegativeResponseCode(消极响应代码)=

11 :ServiceNotSupported

;= 11 :服务不支持

12 :Sub-functionNotSupported

; 12 :子功能不支持

13 :IncorrectMessageLengthOrInvalidFormat

;13 :不正确的信息格式或无效帧

22 :ConditionsNotCorrect

;22 :条件不正确,比如系统正在初始化过程

37 :RequiredTimeDelayNotExpired

;37 :延迟时间激活并且请求受限

78 :ResponsePending

;78 :系统繁忙,需等待

7F :ServiceNotSupportedInActiveSession

;7F :不支持在默认层的服务

24 :RequestSequenceError

;24 :请求顺序错误

31 :RequestOutOfRange

;31 :请求超出范围

例如1、设备不支持一个或多个请求的数据值

2、客户发送超过了一次数据标识符被请求的最大量

33 :SecurityAccessDenied

;33 :指向特定地址的数据标识符是安全的并且服务器处于解锁状态

35 :InvalidKey

;35 :无效钥匙 36 :ExceededNumberOfAttempts

;36 :超过允许错误进入尝试的最大次数







你可能感兴趣的:(汽车诊断协议ISO15765)