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窗口双击一条指令就可以发送啦!成功!

 

posted @ 2022-04-15 16:30  peng010104  阅读(9497)  评论(0编辑  收藏  举报