UDS诊断通信基础知识
1.诊断通信基本概念
诊断通信用于建立诊断仪与ECU之间的通信连接,并负责将ECU中的诊断结果输送到诊断仪中,通过向ECU发送命令,来完成你想要的操作。
2.诊断通信可以做什么
1.诊断故障码读清
2.控制,例程
3.数据传输
4.上传下载
3.UDS的基本特点
1.事件驱动型,一问一答,诊断仪提问,ECU应答
2.诊断仪使用不同的CANID来对不同的ECU进行提问,各个ECU也采用不同的CANID作为自己对于该提问的应答,物理寻址方式
3.诊断仪可以使用同一个CANID对不同的ECU进行提问,各个ECU也采用不同的CANID作为自己对于该提问的应答,功能寻址方式
4.OBD的CANID选择:
- 功能寻址:0x7DF
- 物理寻址:0x7E0-0x7E7
- ECU 回应·:0x7E8-0x7EF
5.UDS的CANID选择
- 可以采用与OBD相同的CANID;(常用)
- 也可以采用不同的CANID;(不常用)
4.UDS诊断通信结构
- 应用层:ISO14229
- 传输层:ISO15765-2
- 数据链路层:ISO11898
- 物理层:ISO11898
5.UDS常用指令集:ISO14229-统一诊断服务
诊断服务基本应答规则:
- 肯定应答SID为请求SID+0x40
- 否定应答格式为7F+SID+NRC
- 常用NRC:
- 0x11:service not supported;
- 0x12:subfunction not supported;
- 0x13:invalid request length or invalid format;
- 0x22:condition not correct;
- 0x31:request out of range;
- 0x33:security denied;
- 0x35:invalid key;
- 0x37:delayed time not expired;
- 0x72:General programming failure;
- 0x7F:service not supported in current session;