UDS诊断是汽车电子开发的核心技能,而理解其底层报文传输机制是入门关键,本文快速了解ISO-15765(2004版)传输层协议。
什么是UDS诊断协议
UDS(Unified Diagnostic Services,统一诊断服务)是汽车领域通用的诊断协议标准。它并非单一协议,而是分层架构:应用层遵循ISO-14229,定义诊断设备与ECU之间的功能服务(如读取故障码、刷写软件);传输层遵循ISO-15765,负责将上层功能请求拆解为CAN/CAN FD总线可传输的报文帧,并管理收发流程。简言之,14229决定"做什么",15765决定"怎么传"。
ISO-15765-2004的四种帧类型
ISO-15765(2004版)规范了8字节长度CAN报文交互的数据打包规则,根据传输层定义,报文可分为单帧、多帧首帧、多帧连续帧、流控帧四种。
- 单帧:数据段第一个字节为0开头,"长度标识"占4个位。比如02代表当前发送单帧,有效字节长度为2个字节。
- 多帧首帧:数据段第一个字节为1打头,"长度标识"占12个位。比如13 FF表示当前报文为多帧首帧,后续有效内容长度0x3FF字节。
- 多帧连续帧:首字节以0x21打头,累加直到发完2F后从20重新开始。
- 流控帧:首字节以3打头,常见为30紧随着块大小和帧间隔。如果都是00则不做限制。

交互流程
请求和应答都可以是单帧。单帧适用于短数据传输,首字节直接标识有效长度。假如多帧该如何交互?可以看这个经典交互图:
发送方想要发起多帧,首先给出首帧请求,等待接收方回复流控帧应答。发送方再根据流控帧将连续帧发出去。假如一次流控不足以发完剩余报文,则需再次等待下一条流控,直到请求发送完成。
小结
掌握ISO-15765(2004版)传输层协议,是理解UDS报文交互逻辑的基础。单帧处理短数据,多帧通过首帧、流控、连续帧的协作完成长数据传输,四种帧类型的首字节特征与长度规则是诊断调试中的核心判据。还想了解哪些CAN总线知识?欢迎评论区留言。
-
汽车电子
+关注
关注
3048文章
9195浏览量
173345 -
CAN
+关注
关注
59文章
3103浏览量
473781 -
传输层
+关注
关注
0文章
32浏览量
11264
发布评论请先 登录
TSMaster 的 CAN UDS 诊断操作指南(上)
TSMaster 的 CAN UDS 诊断操作指南(下)
CAN UDS诊断:一文读懂ISO-15765传输层报文打包规则
评论