CAN诊断测试规范UDSuds诊断.docx
《CAN诊断测试规范UDSuds诊断.docx》由会员分享,可在线阅读,更多相关《CAN诊断测试规范UDSuds诊断.docx(240页珍藏版)》请在冰点文库上搜索。
CAN诊断测试规范UDSuds诊断
CAN诊断测试规范/UDS
文件状态:
[]草稿
[√]正式发布
[]正在修改
文件起草分工:
1.
编制:
日期日期
审核:
日期日期
批准:
日期
更改历史
版本
更改描述
更改日期
更改人
1.0
初始版本
2011-5-11
靳然
1文档介绍4
1.1目的4
1.2适用范围4
1.3读者对象4
1.4参考文档5
1.5术语和定义5
1.5.1物理寻址5
1.5.2功能寻址5
1.5.3安全状态5
1.5.4诊断会话模式5
1.5.5子功能6
1.6符号和缩写7
2测试环境7
2.1基本测试网络8
2.2测试设备8
3网络层测试10
4应用层测试33
4.1自动测试33
4.1.1诊断请求报文格式33
4.1.1.1请求报文长度无效33
4.1.1.2无效请求报文格式-组合DID48
4.1.1.3禁止肯定响应位(物理寻址和功能寻址)49
4.1.1.4周期响应68
4.1.2数据内容70
4.1.2.1无效的请求数据70
4.1.3应用测试74
4.1.3.1有效的WriteDataByIdentifier请求74
4.1.3.2周期性发送/多次响应75
4.1.3.3读故障信息77
4.1.3.4通信控制80
4.1.4会话模式和安全状态81
4.1.4.1安全访问81
4.1.4.2请求顺序错误83
4.1.4.3模式访问被拒绝83
4.1.4.4会话模式切换86
4.1.5基本测试92
4.1.5.1诊断设备在线(物理寻址/功能寻址)92
4.1.5.2基本服务测试(物理寻址/功能寻址)94
4.1.5.3无效子功能(物理寻址)144
4.1.5.4无效子功能(功能寻址)151
4.1.5.5无效DID(物理寻址/功能寻址)152
4.1.5.6无效诊断服务(物理寻址)157
4.1.5.7无效诊断服务(功能寻址)158
4.2手动测试159
4.2.1会话模式切换159
4.2.2ECU硬件复位163
4.2.3清除诊断信息163
4.2.4读取故障信息164
4.2.5安全访问167
4.2.6通信控制168
此行切勿删除,目录结束标签
1文档介绍
1.1目的
本文档为南京依维柯CAN网络系统开发项目CAN网络UDS诊断部件提供测试规范。
1.2适用范围
本文档适用于南京依维柯CAN网络系统开发项目的UDS诊断部件测试。
本文档应用于CAN网络中单个ECU的诊断测试,测试内容包括:
1)网络层测试;
2)应用层测试。
ECU供应商依据节点实现诊断服务、子功能以及参数选择对应的测试项,但需与南京依维柯协商。
1.3读者对象
本文档预期读者对象为:
1)南京依维柯参与本项目的工程师
2)顾客代表
3)恒润科技参与本项目的工程师
4)高层经理
1.4参考文档
标号
标题
版本/修改日期
ISO15765-2
Roadvehicles-DiagnosticsonControllerAreaNetworks(CAN)-Part2:
Networklayerservices
2004-3-15
ISO15765-3
Roadvehicles-DiagnosticsonControllerAreaNetworks(CAN)-Part3:
Implementationofunifieddiagnosticservices(UDSonCAN)
2004-3-15
ISO15765-4
Roadvehicles-DiagnosticsonControllerAreaNetworks(CAN)-Part4:
Requirementsforemissions-relatedsystems
2004-3-15
ISO14229-1
Roadvehicles-Unifieddiagnosticservices(UDS)-Part1:
SpecificationandrequirementsISO15765-3Roadvehicles-DiagnosticsonControllerAreaNetworks(CAN)-Part3:
Implementationofunifieddiagnosticservices(UDSonCAN)
2005-12-01
ISO15031-6
Roadvehicles-Communicationbetweenvehicleandexternalequipmentforemission-relateddiagnostics-Part6:
Diagnostictroublecodedefinitions
2006-12-01
—
NAVECODiagnosticSpecificationUDSonCAN
—
1.5术语和定义
ISO15765、ISO14229-1、ISO15031-6确定的以及下列术语和定义适用于本文档
1.5.1物理寻址客户端与服务器之间一对一的诊断。
1.5.2功能寻址客户端向多个服务器发出同一功能的诊断请求。
诊断设备向ECU发出的请求报文可能采用任意一种寻址方式,但ECU发送给诊断设备的响应报文必须采用物理寻址。
1.5.3安全状态分为锁定状态和解锁状态。
ECU上电后,自动进入锁定状态,此状态禁止执行受限的诊断服务。
ECU进入解锁状态需要通过执行安全访问服务(SID=0x27)完成密码核查。
通过密码核查后,ECU的安全状态变为解锁状态,诊断设备可以请求受限的诊断服务。
1.5.4诊断会话模式服务器的诊断会话模式分为两种:
1)默认会话模式;2)非默认会话模式;ECU上电后,自动进入诊断默认会话模式,此会话模式下不支持受限的诊断服务,
非默认会话模式可以支持受限的诊断服务。
其中,诊断标准规定非默认模式包含两种诊断模式:
1)编程模式;
2)扩展模式;每种诊断模式支持一组特定的诊断服务。
1.5.5子功能
不同的数值表示一种诊断服务的不同功能。
1.6符号和缩写
BS
BlockSize,连续帧的持续发送次数
CF
ConsecutiveFrame,连续帧
DSC
DiagnosticSessionContro,l诊断会话控制服务
DTC
DiagnosticTroubleCode,诊断故障码
FC
FlowControl,流控制帧
FF
FirstFrame,第一帧
FFDL
FirstFrameDataLength,第一帧报文数据长度
FS
FlowStatus,流状态
MA
MessageAddres,s存储器地址
MS
MessageSize,存储器大小
NRC
NegativeResponseCod,e否定响应码
NAr
网络层定时参数Ar
NAs
网络层定时参数As
NBr
网络层定时参数Br
NBs
网络层定时参数Bs
NCr
网络层定时参数Cr
NCs
网络层定时参数Cs
NData
NetworkData,网络层数据
NPCI
NetworkProtocolInformation,网络层协议控制信息
NPCItype
NetworkProtocolInformationType,网络层协议控制信息类型
NPDU
NetworkProtocolDataUnit,网络层协议数据单元
NSA
NetworkSourceAddress,网络层源地址
NSDU
NetworkServiceDataUnit,网络层接口服务数据单元
NTA
NetworkTargetAddress,网络层目标地址
PCI
ProtocolControlInformation,协议控制信息
PDU
ProtocolDataUnit,协议数据单元
SF
SingleFrame,单帧
SFDL
SingleFrameDataLength,单帧报文数据长度
SN
SequenceNumbe,r多帧报文的连续帧序列号
STmin
SequenceTimemin,发送连续帧的最小时间间隔
SID
ServiceIdentifier,诊断服务的标识符
7/169
2.1基本测试网络
本文档所涉及到的测试网络大部分由VECTOR公司的CAN网络开发测试工具构建而成,其主要包括:
CANoe,CANDiva,CANcardXL和CANcab。
测试网络连接方法如图1所示。
图1基本测试网络
2.2测试设备测试过程中用到的测试设备见表1。
表1测试设备列表
设备名称
型号/版本
数量
功能
CANoe
7.2
1
CAN测试软件集成环境
CANdelaStudio
6.0
1
创建诊断数据库
CANDiva
2.2
1
生成自动测试用例
CANcableSetPro
-
1
CAN网络配件包,包含CAN转接头、终端电阻等
CANcardXL
-
1
CAN卡,用于将PC机与CAN网络连接的板卡,包含CAN控制器
CANcab
251opto/1041
2
将CAN卡与CAN网络连接的线束,包含总线收发器(高速/低速)
220V电源插座
-
1
-
电压源
-
2
0~30V可调,输出电流≥20A
笔记本电脑/PC
-
1
预安装CANoe、CANdelaStudio和CANDiva软件
CAN线、接插件
-
若干
用于ECU和测试设备之间的连接以及公口
设备名称
型号/版本
数量
功能
等
接头、母口接头的转换
OBD转DB9的接头
-
1
用于ECU和测试设备之间的连接
3网络层测试
本测试规范要求对每个ECU隔离,单独进行测试。
网络层测试主要验证ECU能够进行多帧报文的收发。
注:
网络层测试项应依据节点实际需求进行测试。
测试1:
停止发送后续连续帧
测试目的
验证ECU在多帧报文接收过程中,正确处理连续帧中止的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的多帧请求报文(该请求正确接收后,ECU发送响应报文);
2)测试设备发送请求报文连续帧过程中,发送完三帧后停止后续连续帧的发送;
3)验证ECU不对该请求发送响应报文。
评价指标
发送报文内容
期望响应
备注
0x220x010x020x030x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F0x100x110x120x130x140x150x160x170x180x190x1A0x1B0x1C0x1D0x1E0x1F0x200x21
ECU不发送响应报文。
黑色部分为实发数据,蓝色部分为应该发送但未发送的数据。
测试2:
不发送连续帧
测试目的
验证ECU在多帧报文接收过程中,正确处理连续帧中止的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的多帧请求报文(该请求正确接收后,ECU发送响应报文);
2)测试设备发送请求报文过程中,发送完第一帧后停止连续帧的发送;
3)验证ECU不对该请求发送响应报文评价指标
发送报文内容
期望响应
备注
0x220x010x020x030x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F0x100x110x120x130x140x150x160x170x180x190x1A0x1B0x1C0x1D0x1E0x1F0x200x21
ECU不发送响应报文。
黑色部分为实发数据,蓝色部分为应该发送但未发送的数据。
测试3:
不发送某连续帧
测试目的
验证ECU在多帧报文接收过程中,正确处理连续帧丢失的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的多帧请求报文(该请求正确接收后,ECU发送响应报文);
2)测试设备发送请求报文过程中,不发送第四个连续帧;
3)验证ECU不对该请求发送响应报文。
评价指标
发送报文内容
期望响应
备注
0x220x010x020x030x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F0x100x110x120x130x140x150x160x170x180x190x1A0x1B0x1C0x1D0x1E0x1F0x200x21
ECU不发送响应报文。
黑色部分为实发数据,蓝色部分为应该发送但未发送的数据。
测试4:
重复发送某连续帧
测试目的
验证ECU在多帧报文接收过程中,正确处理某连续帧重复接收的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的多帧请求报文(该请求正确接收后,ECU发送响应报文);
2)测试设备发送请求报文过程中,重复两次发送第一个连续帧;
3)验证ECU不对该请求发送响应报文。
评价指标
发送报文内容
期望响应
备注
0x220x010x020x030x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F0x100x110x120x130x140x150x160x170x180x190x1A0x1B0x1C0x1D0x1E0x1F0x200x21
ECU不发送响应报文。
黑体部分为重复两次发送数据。
测试5:
延迟发送某连续帧
测试目的
验证ECU在多帧报文接收过程中,正确处理某连续帧延迟发送的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的多帧请求报文(该请求正确接收后,ECU发送响应报文);
2)测试设备发送请求报文过程中,收到流控制帧后,启动一计时器,当计时器达到N_Cr+100ms后发送第一个连续帧;
3)验证ECU不对该请求发送响应报文。
评价指标
发送报文内容
期望响应
备注
0x220x010x020x03
ECU不发送响应报文。
黑体部分为延迟发
0x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F0x100x110x120x130x140x150x160x170x180x190x1A0x1B0x1C0x1D0x1E0x1F0x200x21
送数据。
测试6:
不发送流控制帧
测试目的
验证ECU在多帧报文发送过程中,正确处理流控制帧未收到的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送多帧响应报文);
2)测试工具接收到ECU发送的肯定响应报文第一帧FF后,不发送流控制帧;
3)验证ECU不再发送后续连续帧
评价指标
发送报文内容
期望响应
备注
ECU支持的请求报文。
ECU发送完第一帧后,不发送连续帧。
该请求报文将使ECU发送多帧响应报文。
测试7:
延迟发送流控制帧
测试目的
验证ECU在多帧报文发送过程中,正确处理超时收到流控制帧的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送多帧响应报文);
2)测试工具接收到ECU发送的肯定响应报文第一帧FF后,启动一计时器,当计时器达到N_Bs+100ms后发送流控制帧;
3)验证ECU不再发送后续连续帧。
评价指标
发送报文内容
期望响应
备注
ECU支持的请求报文。
ECU发送完第一帧后,不发送连续帧。
该请求报文将使ECU发送多帧响应报文。
测试8:
重复发送流控制帧
测试目的
验证ECU在多帧报文发送过程中,正确处理重复收到流控制帧的情况。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送多帧响应报文);
2)测试工具接收到ECU发送的肯定响应报文第一帧FF后,重复两次发送流控制帧。
评价指标
发送报文内容
期望响应
备注
ECU支持的请求报文。
步骤2后,ECU忽略掉重复接收到的流控制帧,继续发送连续帧。
该请求报文将使ECU发送多帧响应报文。
测试9:
确认ECUN_Bs满足规定
测试目的验证多帧报文接收过程中,ECU在N_Bs时间内发送流控制帧。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的多帧请求报文(该请求正确接收后,ECU发送响应报文);
2)测试设备发送请求报文第一帧后等待ECU发送的流控制帧。
评价指标
发送报文内容
期望响应
备注
0x220x010x020x030x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F0x100x110x120x130x140x150x160x170x180x190x1A0x1B0x1C0x1D0x1E0x1F0x200x21
ECU在NBs时间内发送流控制帧。
测试10:
确认ECUNCr满足规定
测试目的
验证多帧报文发送过程中,ECU在NCr时间内发送连续帧。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送多帧响应报文);
2)测试工具接收到ECU发送的肯定响应报文第一帧FF后,发送有效流控制帧。
评价指标
发送报文内容
期望响应
备注
ECU支持的请求报文。
ECU正确发送全部连续帧,且连续帧之间的时间间隔小于N_Cr(150ms)。
该请求报文将使ECU发送多帧响应报文。
测试11:
确认ECU连续帧发送满足STmin规定测试目的
验证多帧报文发送过程中,ECU依据STmin进行连续帧发送(STmin=20ms)。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送多帧响应报文);
2)测试工具接收到ECU发送的肯定响应报文第一帧FF后,发送有效流控制帧,其中
STmin取20ms。
评价指标
发送报文内容
期望响应
备注
ECU支持的请求报文。
ECU正确发送全部连续帧,且各连续帧之间的时间间隔不小于STmin。
该请求报文将使ECU发送多帧响应报文。
测试12:
确认ECU的流控制帧参数STmin有效
测试目的
验证多帧报文接收过程中,ECU发送的流控制帧STmin正确。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的多帧请求报文(该请求正确接收后,ECU发送响应报文);
2)测试设备发送请求报文第一帧后等待ECU发送的流控制帧。
评价指标
发送报文内容
期望响应
备注
0x220x010x020x030x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F0x100x110x120x130x140x150x160x170x180x190x1A0x1B0x1C0x1D0x1E0x1F0x200x21
ECU发送的流控制帧参数STmin为0x14。
测试13:
确认ECU发送的SF响应报文SF_DL有效测试目的
验证多帧报文接收过程中,ECU发送的单帧响应报文SF_DL有效。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送单帧响应报
文)。
评价指标
发送报文内容
期望响应
备注
ECU支持的请求报文。
ECU发送单帧响应报文,其响应报文单帧报文长度信息在1~7范围内,且与后面的有效数据长度一致。
该请求报文将使ECU发送单帧响应报文。
测试14:
确认ECU发送的FF响应报文FFDL
测试目的
验证ECU发送的多帧响应报文FFDL有效。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送多帧响应报文)。
评价指标
发送报文内容
期望响应
备注
ECU支持的请求报文。
ECU发送多帧响应报文,其FF报文中参数FF_DL在0x08~0xFFF范围内,且与后面的有效数据长度一致。
该请求报文将使ECU发送多帧响应报文。
测试15:
响应被非预期单帧请求报文干扰
测试目的
验证ECU在发送多帧响应报文过程中,正确处理接收到的非预期帧。
初始条件
ECU正常上电。
测试步骤
1)测试工具发送ECU支持的请求报文(该请求正确接收后,ECU发送多帧响应报文);
2)测试工具接收到ECU发送的多帧响应报文的第一帧后,发送流控制帧;
3)测试工具发送一新的单帧诊断请求报文。
评价指标
发送报文