| 标准编号 | T/CSAE 42-2015 (T/CSAE42-2015) | | 中文名称 | 电动汽车CAN总线故障诊断服务规范 | | 英文名称 | Electric vehicles - unified diagnostic services specification over CAN bus | | 行业 | Chinese Industry Standard | | 中标分类 | T47 | | 国际标准分类 | 43.040.01 | | 字数估计 | 53,595 | | 发布日期 | 11/5/2015 | | 实施日期 | 11/5/2015 | | 发布机构 | 中国汽车工程学会 | | 范围 | 本标准规定了网络层与应用层的通信协议,主要用于电动汽车的数据监控、标定、输入/输出控制以及读取控制器内部信息等。本标准对电动汽车CAN总线故障诊断服务的网络层与应用层进行了详细的阐述。对于网络层主要规定了数据传输规则、消息类型、寻址模式、诊断会话等。对于应用层主要规定了诊断服务应用。该诊断服务应用包括诊断管理功能单元、数据传输功能单元、传输储存数据功能单元、输入/输出控制功能单元、远程函数激活功能单元以及上传下载功能单元。其中诊断管理功能单元包括开启诊断会话服务、控制器复位服务、安全访问服务、测试在线 |
T/CSAE 42-2015
Electric vehicles - unified diagnostic services specification over CAN bus
目次
前言...Ⅶ
1 范围...1
2 规范性引用文件...1
3 缩略语...1
3.1 BS...1
3.2 CF...1
3.3 DA...1
3.4 DLC...1
3.5 DTC...1
3.6 控制器...1
3.7 EOL...1
3.8 FC...1
3.9 FF...1
3.10 ID...2
3.11 NA...2
3.12 PCI...2
3.13 PID...2
3.14 SA...2
3.15 SF...2
3.16 SID...2
3.17 ST...2
4 CAN诊断系统功能介绍...2
5 CAN诊断通讯协议...2
5.1 数据传输...2
5.1.1 数据传输分类...2
5.1.2 单包数据传输...2
5.1.3 多包数据传输...3
5.2 消息类型...3
5.2.1 数据帧结构...3
5.2.2 单帧...4
5.2.3 首帧...4
5.2.4 后续帧...4
5.2.5 流控制帧...5
5.3 寻址模式...6
5.3.1 物理寻址模式...6
II
5.3.2 功能寻址模式...6
5.4 诊断会话...6
5.5 应用层和诊断会话层的时序要求概述...6
5.5.1 应用层和诊断会话层时序要求的区别点...6
5.5.2 应用层和诊断会话层的时序定义...7
5.6 错误处理...8
5.6.1 非预期报文处理...8
5.6.2 丢失消息...8
5.7 消息填充...8
6 诊断服务定义...8
6.1 诊断功能单元...8
6.2 开启诊断会话服务...9
6.2.1 功能描述...9
6.2.2 请求消息格式...10
6.2.3 肯定响应消息格式...10
6.2.4 否定响应消息格式...10
6.3 停止诊断会话...11
6.3.1 功能描述...11
6.3.2 请求消息格式...11
6.3.3 肯定响应消息格式...11
6.3.4 否定响应消息...11
6.4 复位服务...11
6.4.1 功能描述...11
6.4.2 请求消息格式...12
6.4.3 肯定响应消息格式...12
6.4.4 否定响应消息格式...12
6.5 安全访问服务...13
6.5.1 功能描述...13
6.5.2 请求消息步骤 1格式...13
6.5.3 肯定响应消息步骤 1格式...14
6.5.4 请求消息步骤 2格式...14
6.5.5 肯定响应消息步骤 2格式...14
6.5.6 否定响应消息格式...15
6.6 测试在线服务...15
6.6.1 功能描述...15
6.6.2 请求消息格式...15
6.6.3 肯定响应消息格式...16
6.6.4 否定响应消息格式...16
6.7 读取由控制器 ID标识的数据...16
6.7.1 功能描述...16
6.7.2 请求消息格式...16
6.7.3 肯定响应消息格式...17
III
6.7.4 否定响应消息格式...17
6.8 写入由控制器 ID标识的数据服务...17
6.8.1 功能描述...17
6.8.2 请求消息格式...18
6.8.3 肯定响应消息格式...18
6.8.4 否定响应消息格式...18
6.9 读取指定存储器范围的数据服务...19
6.9.1 功能描述...19
6.9.2 请求消息格式...19
6.9.3 肯定响应消息格式...20
6.9.4 否定响应消息格式...20
6.10 写入数据到指定存储器范围内服务...20
6.10.1 功能描述...20
6.10.2 请求消息格式...20
6.10.3 肯定响应消息格式...21
6.10.4 否定响应消息格式...21
6.11 读故障码的信息...22
6.11.1 功能描述...22
6.11.2 读取与特定状态掩码匹配的故障数量...24
6.11.3 读取与特定状态掩码匹配的故障码列表...25
6.11.4 读取DTC快照记录识别信息...26
6.11.5 通过DTC读取快照记录...27
6.11.6 通过DTC读取指定扩展数据号的DTC扩展数据记录...28
6.11.7 读取与特定状态掩码匹配的故障码列表...29
6.11.8 读取与特定状态掩码匹配的故障码列表...30
6.11.9 读取镜像内存中与特定状态掩码匹配的故障数量...31
6.12 清除诊断信息...32
6.12.1 功能描述...32
6.12.2 请求消息格式...32
6.12.3 肯定响应消息格式...33
6.12.4 否定响应消息格式...33
6.13 通过标识符控制输入/输出...33
6.13.1 功能描述...33
6.13.2 请求消息格式...34
6.13.3 肯定响应消息格式...34
6.13.4 否定响应消息格式...35
6.14 远程函数激活...35
6.14.1 功能描述...35
6.14.2 请求消息格式...35
6.14.3 肯定响应消息格式...36
6.14.4 否定响应消息格式...36
6.15 数据下载请求...37
6.15.1 功能描述...37
IV
6.15.2 请求消息格式...37
6.15.3 肯定响应消息格式...38
6.15.4 否定响应消息格式...38
6.16 数据上传请求...38
6.16.1 功能描述...38
6.16.2 请求消息格式...39
6.16.3 肯定响应消息格式...39
6.16.4 否定响应消息格式...40
6.17 数据传送...40
6.17.1 功能描述...40
6.17.2 请求消息格式...40
6.17.3 肯定响应消息格式...41
6.17.4 否定响应消息格式...41
6.18 退出数据传送...41
6.18.1 功能描述...41
6.18.2 请求消息格式...41
6.18.3 肯定响应消息格式...42
6.18.4 否定响应消息格式...42
图 1 单包数据传输示例...3
图 2 多包数据传输示例...3
表 1 各类CAN报文PCI字节的结构...4
表 2 首帧数据长度FF_DL描述...4
表 3 序列编号(SN)值的定义...5
表 4 数据流状态(FS)的定义...5
表 5 块大小(BSmax)的定义...5
表 6 间隔时间(STmin)的定义...6
表 7 默认诊断会话期间的应用层时序数值定义...7
表 8 会话层时序参数的定义...8
表 9 诊断功能单元的诊断服务项目...9
表 10 诊断模式参数...10
表 11 请求消息格式...10
表 12 肯定响应消息格式...10
表 13 否定响应消息格式...10
表 14 请求消息格式...11
表 15 肯定响应消息格式...11
表 16 否定响应消息格式...11
表 17 “复位模式”定义...12
表 18 请求消息格式...12
表 19 肯定响应消息格式...12
表 20 否定响应消息格式...12
表 21 安全模式参数的定义...13
表 22 安全状态参数定义...13
表 23 请求消息步骤 1格式...14
表 24 肯定响应消息步骤 1格式...14
表 25 请求消息步骤 2格式...14
表 26 肯定响应消息步骤 2格式...14
表 27 否定响应消息格式...15
表 28 测试在线服务响应要求定义...15
表 29 请求消息格式...15
表 30 肯定响应消息格式...16
表 31 否定响应消息格式...16
表 32 请求消息格式...17
表 33 肯定响应消息格式...17
表 34 否定响应消息格式...17
表 35 请求消息格式表...18
表 36 肯定响应消息格式...18
表 37 否定响应消息格式...19
表 38 具体的地址和数据长度格式标志符定义...19
表 39 请求消息格式表...19
表 40 肯定响应消息格式...20
表 41 否定响应消息格式...20
表 42 请求消息格式...20
表 43 肯定响应消息格式...21
表 44 否定响应消息格式...21
表 45 故障码信息的子功能诊断服务项目...22
表 46 参数“DTC状态”...22
表 47 参数“DTC格式标识符”...23
表 48 请求消息格式...24
表 49 肯定响应消息格式...24
表 50 否定响应消息格式...24
表 51 请求消息格式...25
表 52 肯定响应消息格式...25
表 53 否定响应消息格式...25
表 54 请求消息格式...26
表 55 肯定响应消息格式...26
表 56 否定响应消息格式...27
表 57 请求消息格式...27
表 58 肯定响应消息格式...27
表 59 否定响应消息格式...28
表 60 请求消息格式...28
表 61 肯定响应消息格式...29
VI
表 62 否定响应消息格式...29
表 63 请求消息格式...29
表 64 肯定响应消息格式...30
表 65 否定响应消息格式...30
表 66 请求消息格式...30
表 67 肯定响应消息格式...31
表 68 否定响应消息格式...31
表 69 请求消息格式...31
表 70 肯定响应消息格式...32
表 71 否定响应消息格式...32
表 72 参数“DTC组”...32
表 73 请求消息格式...33
表 74 肯定响应消息格式...33
表 75 否定响应消息格式...33
表 76 输入输出控制选项...34
表 77 请求消息格式...34
表 78 肯定响应消息格式...34
表 79 否定响应消息格式...35
表 80 函数控制类型...35
表 81 请求消息格式...35
表 82 肯定响应消息格式...36
表 83 否定响应消息格式...36
表 84 参数“数据格式标识”...37
表 85 参数“地址和长度标识符”...37
表 86 请求消息格式...37
表 87 肯定响应消息格式...38
表 88 否定响应消息格式...38
表 89 参数“数据格式标识”...39
表 90 参数“地址和长度标识符”...39
表 91 请求消息格式...39
表 92 肯定响应消息格式...39
表 93 否定响应消息格式...40
表 94 请求消息格式...40
表 95 肯定响应消息格式...41
表 96 否定响应消息格式...41
表 97 请求消息格式...41
表 98 肯定响应消息格式...42
表 99 否定响应消息格式...42
VII
前言
《电动汽车CAN总线故障诊断服务规范》对电动汽车的CAN总线基本功能及扩展功能做了介绍,
并规定了硬件接口的基本规范,以期为企业电动汽车开发提供了依据,也有利于我国电动汽车行业
形成统一的诊断、维修标准。
--第1部分:文档适用范围;
--第2部分:规范性引用文件;
--第3部分:缩略语;
--第4部分:诊断系统功能介绍;
--第5部分:诊断通讯协议;
--第6部分:诊断服务定义。
本规范由电动汽车产业技术创新联盟提出。
本规范由中国汽车工程学会归口。
本文档起草单位:天津清源电动车辆有限责任公司、天津大学。
本文档主要起草人:周能辉、徐梓荐、苟毅彤、窦汝振、辛明华、于兰、谢辉。
本部分于2015年首次发布。
电动汽车 CAN 总线故障诊断服务规范
1 范围
本规范规定了电动汽车诊断设备和电动汽车控制器(不局限于整车控制器)之间通过CAN线进行
诊断的缩略语及诊断应用层服务。
本规范适用于纯电动乘用车在线诊断,无线诊断可参考使用。
2 规范性引用文件
下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所
有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的
各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。
ISO 14229 道路车辆 统一诊断维修设备(UDS):规范和要求
ISO 15765-2 道路交通工具--CAN诊断:网络层服务
ISO 15765-3 道路交通工具--CAN诊断:应用层服务
3 缩略语
下列术语和缩略语适用于本规范。
3.1 BS Block Size块大小
3.2 CF Consecutive Frame后续帧
3.3 DA Destination Address目标地址
3.4 DLC Data Length Code数据域长度
3.5 DTC Diagnostic Trouble Code故障码
3.6 控制器 Vehicle Control Unit整车控制单元
3.7 EOL End Of Line下线诊断
3.8 FC Flow Control流控制
3.9 FF First Frame首帧
3.10 ID Identifier标志符
3.11 NA Network Address网络地址
3.12 PCI Protocol Control Information协议控制信息
3.13 PID Parameter Identifier参数标志符
3.14 SA Source Address源地址
3.15 SF Single Frame单帧
3.16 SID Service Identifier服务标志符
3.17 ST Separation Time间隔时间
4 CAN 诊断系统功能介绍
基于CAN线的诊断可以提供迅速存取信息的能力以及无需断开线缆就可以运行控制单元的能力。
提供的诊断服务的作用有:
通信管理:设定开始通信、通信结束以及通信的测试时连接状态和管理信息;
权限设置:针对不同的客户提供众多的诊断服务和不同的诊断信息;
数据监控:包含信息的读取,以及获取一些实时信息、统计数据等;
b)数据标定:根据控制器的性能的要求或者整车的性能要求,修改调整或者优化内部参数;
c)输入/输出控制:触发一些预定的测试任务来获取整车或整车部件或者子系统的状态;
d)读取控制器内部信息,比如故障存储的内容。
5 CAN 诊断通讯协议
5.1 数据传输
5.1.1 数据传输分类
支持CAN诊断消息使用ISO 15765-2:2004中指定的多包数据传送装置(USDT)。即支持两种类型
的CAN数据传输--单包数据传输和多包数据传输。
5.1.2 单包数据传输
单包数据传输由单帧(SF)构成。它的使用条件是:正常寻址模式时单帧长度不超过7或扩展寻
址模式时单帧长度不超过6。一个单包数据传输的示例见图1所示。
图 1 单包数据传输示例
5.1.3 多包数据传输
多包数据传输由多帧分段的 CAN 消息构成。它的使用条件是:正常寻址模式时数据长度大于 7
或扩展寻址模式时数据长度大于 6。该数据传输包含一个首帧(FF)和多个后续帧(CF)。接收端在
接收了首帧(FF)后必须发送一个流控制帧(FC)。流控制帧中包含的信息是:块大小(BS)和间隔
时间(ST)。其中块大小(BS)表示接收端允许发送器发送的最大后续帧数量。间隔时间(STmin)
表示两个后续帧之间发送端所必须等待的最小时间。一个多包数据传输的示例见图 2所示。
图 2 多包数据传输示例
5.2 消息类型
5.2.1 数据帧结构
单帧(SF),首帧(FF),后续帧(CF)或流控制帧(FC)都包含有一个8字节的数据域,该数
据域由以下两部分构成,表1显示了各类CAN报文的PCI字节的结构。
a) 协议控制信息(PCI),指示了帧类型、帧编号、数据长度等;
b) 传输数据,包含被发送的数据。
发送者 接收者
单帧
发送者 接收者
首帧
流控制
后续帧
STmin
后续帧
后续帧
后续帧
后续帧
流控制
块大小(BS)
终结块(≤BS)
表 1 各类 CAN 报文 PCI 字节的结构
数据域结构
帧类型
字节 1
字节 2 字节 3 字节 4-8
位 7-4 位 3-0
单帧(SF) 0000 SF_DL 数据 1 数据 2 数据 3-7
首帧(FF) 0001 FF_DL 数据 1 数据 2-6
后续帧(CF) 0010 SN 数据 1 数据 2 数据 3-7
流控制(FC) 0011 FS BS Stmin N/A
注:SF_DL表示 4个位的单帧数据长度;FF_DL表示 12个位的首帧数据长度;SN表示序列编号;FS表示数据流
状态;BS表示块大小;Stmin表示最小间隔时间。
5.2.2 单帧
正常寻址模式下,单帧消息类型的最大数据长度为7个字节,其中PCI的高半字节设置为0000b。
PCI的低半字节表示单帧的数据长度。
5.2.3 首帧
正常寻址模式下,首帧消息类型的数据长度大于7字节,它和一个或多个后续帧并用。其中PCI
第一个字节的高半字节设置为0001b,第一个字节的低半字节和第二个字节表示首帧的数据长度。首
帧的数据长度FF_DL计算如表2所示。
表 2 首帧数据长度 FF_DL 描述
十六进制值 数据长度 FF_DL描述
000h-007h 保留
008h-FFFh
首帧数据长度(FF_DL)包含数据字节个数。12 位 FF_DL 理论上支持发送多达 4096 个数据字
节。然而当前实例无需支持 4096个数据字节这样的最大值。
5.2.4 后续帧
后续帧在首帧之后,其中PCI的高半字节设置为0010b。它的低半字节是一个序列编号(SN),
SN的值根据以下规定来计算:
a) 首帧的SN值为0;
b) 第一个后续帧的SN值为1;
c) 每增加一个后续帧,SN值是以“1”来增加的;
d) 流控制帧的发送影响SN值的计算;
e) 当SN值达到了15,那么下一个后续帧的SN又会被设置为0。
序列编号(SN)值的定义具体如表3所示。
表 3 序列编号(SN)值的定义
协议数据名字 FF CF CF CF CF CF CF CF CF
SN(16进制) 0h 1h 2h Eh Fh 0h 1h
5.2.5 流控制帧
5.2.5.1 流控制帧介绍
首帧或数据块的最后一个后续帧之后,当需要更多的后续帧(CF)来完成数据包传输时,接收
节点就必须发送一个流控制帧消息,其中 PCI 第一个字节的高半字节设置为 0011b。流控制帧 PCI
的第二个字节表示两个流控制帧之间最大消息块的大小(BSmax),第三个字节表示两个后续帧之间
的时间(最小间隔时间,Stmin)。流控 制 PCI第一个字节的低半字节是一个流控制状态(FS),数据
流状态(FS)的定义如表 4所示。
表 4 数据流状态(FS)的定义
16进制 描 述
0h 继续发送(CTS):接收器已经准备好并且等待 BS时间
1h
等待(WT):流控制的等待参数用设置 N_PCI 字节#1 的低半字节为“1”来编码。
它会导致发送者继续等待一个新的流控制 N_PDU并且重启它的 N_BS定时器
2h
过载流(OVFLW):流控制的过载流参数用设置 N_PCI字节#1的低半字节为“2”来
编码。它会导致发送者中止分段消息的传输并且作出一个 N_USData.confirm 服务
应答,该应答带参数< N_Result >=N_BUFFER_OVFLW。这个 N_PCI流状态参数值仅仅
在流控制 N_PDU中被传送。这个流控制 N_PDU紧跟在首帧 N_PDU后,并且只在接收
到的首帧 N_PDU的消息长度 FF_DL超过接收实体的缓冲器大小的情况下使用。
5.2.5.2 流控制帧-块大小
块大小(BSmax)表示两个流控制消息之间,接收器允许发送器发送的最大后续帧个数,它的定
义如表5所示。
表 5 块大小(BSmax)的定义
16进制 描 述
块大小(Bsmax)
在传输分段消息期间将不会再发送流控制帧。所有的后续帧的发送将不会因为插入流控制而停顿。
01h-FFh
块大小(Bsmax)
定义两个流控制之间的最大后续帧个数。
5.2.5.3 流控制帧-间隔时间
间隔时间(STmin)表示两个后续帧之间所允许的最小时间,它的定义如表 6所示。
表 6 间隔时间(STmin)的定义
16进制 描述
00h-7Fh 表示 STmin的范围是:0ms-127ms
80h-F0h 预留未定义
F1-F9 表示 STmin范围是:100us-900us
FAh-FFh 预留未定义
5.3 寻址模式
5.3.1 物理寻址模式
所有物理寻址消息都是以控制器的物理地址来接收的。当诊断仪使用物理寻址模式来请求服务
时,控制器就可以执行当前激活的诊断会话所支持的服务。而来自控制器的响应则由相应的诊断仪
进行接收。
5.3.2 功能寻址模式
在诊断仪请求的信息不......
|