CANoe学习笔记(三):CANoe的诊断功能和cdd文件
内容:
UDS诊断学习
CDD文件配置
诊断功能
一、UDS诊断学习:
①、UDS请求命令4种构成方式:
SID
SID+SF(Sub-function)
SID+DID(Data Identifier)(读写用)
SID+SF+DID
其中安全标识符(Security Identifiers,SID),服务ID值($10、$27那种)
SF(Sub-function):子功能
DID:应该指具体读取哪一个寄存器的值。
②、常见的NRC(响应码)
0x11表示服务不支持;
0x12 subfunction不支持;
0x13 请求的长度不正确,或者格式不正确;
0x31 是请求超出范围;
0x33 安全拒绝
0x35 无效的秘钥
0x7E 是在当前会话下subfunction不支持;(应该是权限不够)
0x7F 是在当前会话下服务不支持。(应该是权限不够)
特殊NRC:78(RCRRP):表明请求消息被正确地接收,请求消息中的所有参数都是有效的,但是要执行的操作还没有完成,等待Server完成后,会重新发送NRC。
③、N_PUD类型
包含PCI+SDU(协议信息+数据单元)
STmin:体现了接收方的处理能力,处理CAN接收的速度
BS:体现了接收方的接收能力:软件buffer的大小
④常用的诊断服务
结合同事与网上资料,重点掌握以下11个
$10 Diagnostic Session Control(诊断会话)
$11 EcuReset(ECU复位)
$27 Security Access(安全访问)
$3E Tester Present(待机握手)。
$22 Read Data By Identifier(通过ID读数据)
$2E Write Data By Identifier(通过ID写数据)
$14 Clear Diagnostic Information(清除诊断信息)
$19 Read DTC Information(读取故障码信息)
$34 Request Download(请求下载)
$36 Transfer Data(数据传输)
$37 Request Transfer Exit(请求退出传输)
二、CDD文件配置:
先打开CANoe自带的CANdelaStudio:
然后新建一个cdd文件,一般CANoe会自带一些模板,我这里选的是CAN的
下面就说一些一般用得到的:
这个是看提供的诊断调查表里的数据填好(主要是ID,其他和我一样好像也可以):
补充:这一部分的配置请看厂商提供的文件,这只是个例子
这个界面是用来定义一些DTC(一般会提供的):
然后在这个界面导入到表格:
这个是根据是否支持勾选的:
这些书籍图标的都是定义的服务类型,如22,2E等,根据提供的诊断调查表来定义
好像也没什么要弄得了,目前就琢磨到了这一步,后续可能用到在记录吧~
然后保存好。。。。
回到主界面:
测试一般就用不到安全算法文件咯,导入之后点击ok:
补充:需要安全算法的,一般会提供.dll文件,在这个位置添加就好了,这个文件一般用与27服务的安全会话。
在右边的Console窗口双击一条指令就可以发送啦!成功!