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相关推荐

  1. 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)

    相信像我这样的小白第一次接触汽车诊断协议肯定有点懵逼,什么鬼kwp2000,那什么又是ISO-14230,ISO-15765,ISO-14229,UDS,UDSonCAN???它们到底是什么关系,还有 ...

  2. 14229汽车诊断协议学习笔记

    14229汽车诊断协议学习笔记 什么是14229协议 诊断服务基本知识 确认的服务 未确认的服务 请求原语格式 响应原语格式 诊断分层结构 诊断服务 诊断会话控制(0x10)服务 ECU 重置(0x1 ...

  3. 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)(转)

    相信像我这样的小白第一次接触汽车诊断协议肯定有点懵逼,什么鬼kwp2000,那什么又是ISO-14230,ISO-15765,ISO-14229,UDS,UDSonCAN???它们到底是什么关系,还有 ...

  4. 汽车诊断协议(K线/CAN总线、kwp2000、ISO14230、ISO1575...)

    一.初步认识 KWP 2000和IS0-14230  在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,最早欧洲出现了一种标准诊断协议KWP2000(Keyword Protocol 200 ...

  5. 基于CAN总线的汽车诊断协议UDS (网络层 ISO 15765)

    上个月一个同事Z跳槽去了德赛西威,Z之前是完全不懂诊断的MCU工程师,去德赛后做诊断开发,让我感觉到,汽车嵌入式行业,CAN和诊断工程师还是比较稀缺的.之前我和Z共同负责一个项目,我负责CAN网络和诊 ...

  6. GD32 汽车诊断协议J1850-PWM 测试

    J1850-PWM 硬件说明:  MCU: GD32C103 120M,128K,32k RAM.  输入:USB 5V.  OBD功能口定义:OBD(2,10)VPWM.OBD 7(K线).O ...

  7. GD32汽车诊断协议 ISO-9141测试

    硬件说明:  MCU: GD32C103 120M,128K,32k RAM.  输入:USB 5V.  OBD功能口定义:OBD(2,10)VPWM.OBD 7(K线).OBD 6(CAN H ...

  8. 基于CAN总线的汽车诊断协议UDS(上位机开发网络层及错误代码解析)

    UDS协议栈的开发和测试对于刚刚接触UDS协议的开发人员来说,不但需要阅读大量的标准文档,短时间内很难理解透彻,标准协议栈代码的编写更加困难,刚入门又没有快捷简单的测试工具帮助加快理解和验证,使得UD ...

  9. 基于CAN总线的汽车诊断协议UDS的开发重点

    一.意义 为了指导开发工程师,正确的使用诊断模块,快速开发出满足车厂要求的诊断功能. 二.诊断模块介绍 此诊断模块根据ISO-14229-1文档,并结合部分车厂的文档进行开发,使用面向对象的思路进行设 ...

最新文章

  1. 时玉:微生物地理分布的分析方法与技术
  2. Nagios 监控 ESXi
  3. PROC系列之---/proc/pid/stat
  4. iOS - AsyncSocket 的使用
  5. 二级导航 sql php,帝国cms栏目导航调用之SQL语句调用一级栏目和二级栏目的方法...
  6. 【floyd】HDU 1874 畅通project续
  7. 音频系统,Alsa 里面的buff 是怎么计算的?
  8. OMM机房监控系统引领机房监控新趋势
  9. 暨“与孙鑫老师面对面,畅谈程序人生”专题讲座
  10. Python+selenium自动化 - 环境搭建
  11. 如何进行业务需求分析
  12. STC89C52单片机学习笔记(一)
  13. 【集合论】集合概念与关系 ( 集族 | 集族示例 | 多重集 )
  14. 各类分布以及检验方法
  15. 多个中通快递的物流情况是怎么批量查询并保存的
  16. 视觉特效,图片转成漫画功能
  17. [4G5G专题-114]:部署 - LTE PRACH前导码格式、ZC序列的生成规则与规划
  18. 新买的苹果11如何验真假
  19. iOS 修改苹果开发者公司账号(Apple ID 更换)
  20. SAP HANA首次在农夫山泉成功上线

热门文章

  1. 比较图像相似的三种方法
  2. TPAMI 2022|基于最优传输理论的无监督图像重建学习
  3. App Store最新审核标准,中文版
  4. 数据分析36计(21):Uber、Netflix 常用倍差法模型量化营销活动、产品改版影响效果...
  5. 输入一段英文句子(无标点),每两个单词空格隔开,统计单词的平均长度。
  6. 传奇服务器是测试模式怎么修改,传奇版本里测试员NPC脚本
  7. 51摇摇棒的简介与改字详解
  8. ASP.NET与SEO - 认清你手中的HTML标签
  9. ASP.NET编写简单的中文分词程序
  10. 目前可以放google adsense的所有免费博客