ECU在进行诊断系统设计时,并不要求ECU要开发所有的诊断服务,只需根据各公司ECU的系统功能需求选择性开发即可。UDS诊断服务是根据特有的诊断CAN报文实现的。以下根据实际项目经验详细描述ECU常用的诊断服务和诊断CAN报文参数。
故障读取与清除服务
车辆故障时,通过自诊断功能监测到系统部件故障后,将故障信息以代码形式存储在ECU中,外部设备(诊断仪等)可以根据0x19服务读取该故障信息,分析排查故障;同时故障排除后可通过0x14服务清除历史故障。
读取写入参数服务
ECU中存在大量车辆、ECU本身的信息,诊断过程中可能会调取对照进行故障锁定,此时需要0x22服务,读取ECU中特定的变量值。例如ECU软硬件版本、控制器零件号、电源电压、油水温、车速、发动机转速、开关状态等数据,提供实时的车辆状态供分析。读取特定数值时需要按照ECU提供存储信息位置进行读取。对于需要更新的参数以及变量、复位等,也可也通过0x2E服务写入ECU,实现针对不同车辆的参数数据更新。
输入输出控制服务
0x2F服务可更改ECU输入信号的值、内部功能或者控制ECU的某个输出。例如某功能只有在特定的车辆运行条件下才能被激活,条件不满足时,ECU会拒绝输入输出控制请求报文并发送否定相应码。
程序下载服务
对ECU有部分操作需要解锁,例如写入服务、输入输出控制服务等,需要先对ECU解锁,通过0x27服务发送相应的诊断请求,请求种子以及密钥,当外在诊断设备发送的密钥与ECU中计算的密钥相同时,ECU才会解锁,才能进行下一步操作,以此防止ECU内部数据被篡改。
诊断CAN报文参数
诊断CAN报文一般采用CAN形式(标准帧与扩展帧)发送,有功能和物理寻址两种方式,详细CAN标识符见下图(一个ECU会有3个CAN ID):
车载ECU的诊断测试
通过诊断器发送诊断请求,进行正反向诊断测试,检测ECU各诊断服务是否能根据请求报文内容响应正确结果。
车辆网络ECU诊断功能测试规格需求表
诊断数据库:
诊断数据库/诊断描述文件的编辑其实就是UDS/OBD诊断需求的定义。
- CDD数据库
CANdela Diagnostic Descriptions CANdela诊断描述文件是诊断数据的数据库。
CDD文件在Vector的CANdela Studio工具创建,可以在CANoe/CANalyzer中用于诊断服务和参数的符号访问和解释。
CDD是Vector私有的诊断数据库格式(CANdela Studio用于编辑CDD文件,以及导出ODX/PDX文件)
- ODX数据库
Open Diagnostic Data Exchange 开放式诊断数据交互格式文件,国际标准诊断数据交互格式
(ODX Studio用于编辑ODX文件)
标签:UDS,服务,读取,故障,报文,车载,诊断,ECU,测试 From: https://www.cnblogs.com/laoluoits/p/16944040.html