0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN UDS诊断:一文读懂ISO-15765传输层报文打包规则

ZLG致远电子 2026-05-19 11:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

UDS诊断是汽车电子开发的核心技能,而理解其底层报文传输机制是入门关键,本文快速了解ISO-15765(2004版)传输层协议。


8d791262-5334-11f1-ab55-92fbcf53809c.jpg  什么是UDS诊断协议

UDS(Unified Diagnostic Services,统一诊断服务)是汽车领域通用的诊断协议标准。它并非单一协议,而是分层架构:应用层遵循ISO-14229,定义诊断设备与ECU之间的功能服务(如读取故障码、刷写软件);传输层遵循ISO-15765,负责将上层功能请求拆解CAN/CAN FD总线可传输的报文帧,并管理收发流程。简言之,14229决定"做什么",15765决定"怎么传"。


8d791262-5334-11f1-ab55-92fbcf53809c.jpg  ISO-15765-2004的四种帧类型

ISO-15765(2004版)规范了8字节长度CAN报文交互的数据打包规则,根据传输层定义,报文可分为单帧、多帧首帧、多帧连续帧、流控帧四种。

  • 单帧:数据段第一个字节为0开头,"长度标识"占4个位。比如02代表当前发送单帧,有效字节长度为2个字节。
  • 多帧首帧:数据段第一个字节为1打头,"长度标识"占12个位。比如13 FF表示当前报文为多帧首帧,后续有效内容长度0x3FF字节。
  • 多帧连续帧:首字节以0x21打头,累加直到发完2F后从20重新开始。
  • 流控帧:首字节以3打头,常见为30紧随着块大小和帧间隔。如果都是00则不做限制。
8daa4bd4-5334-11f1-ab55-92fbcf53809c.jpg


8d791262-5334-11f1-ab55-92fbcf53809c.jpg  交互流程

请求和应答都可以是单帧。单帧适用于短数据传输,首字节直接标识有效长度。假如多帧该如何交互?可以看这个经典交互图:

发送方想要发起多帧,首先给出首帧请求,等待接收方回复流控帧应答。发送方再根据流控帧将连续帧发出去。假如一次流控不足以发完剩余报文,则需再次等待下一条流控,直到请求发送完成。
8d791262-5334-11f1-ab55-92fbcf53809c.jpg  小结

掌握ISO-15765(2004版)传输层协议,是理解UDS报文交互逻辑的基础。单帧处理短数据,多帧通过首帧、流控、连续帧的协作完成长数据传输,四种帧类型的首字节特征与长度规则是诊断调试中的核心判据。还想了解哪些CAN总线知识?欢迎评论区留言。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 汽车电子
    +关注

    关注

    3048

    文章

    9195

    浏览量

    173345
  • CAN
    CAN
    +关注

    关注

    59

    文章

    3103

    浏览量

    473781
  • 传输层
    +关注

    关注

    0

    文章

    32

    浏览量

    11264
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TSMaster 的 CAN UDS 诊断操作指南(上)

    TSMaster可以少代码甚至零代码就可以完成诊断流程开发,诊断开发人员只需要熟悉诊断流程,就能打通研发、产线、售后整条链路环节。TSMaster的UDS
    的头像 发表于 06-08 08:21 7629次阅读
    TSMaster 的 <b class='flag-5'>CAN</b> <b class='flag-5'>UDS</b> <b class='flag-5'>诊断</b>操作指南(上)

    TSMaster 的 CAN UDS 诊断操作指南(下)

    上期,我们主要介绍了UDS诊断模块的创建以及TSMaster基础诊断配置。很多客户表示意犹未尽。因此我们将继续带来《TSMaster的CANUDS诊断操作指南(下)》的精彩内容,为您带
    的头像 发表于 06-18 08:21 4935次阅读
    TSMaster 的 <b class='flag-5'>CAN</b> <b class='flag-5'>UDS</b> <b class='flag-5'>诊断</b>操作指南(下)

    谁能帮我解答下CAN总线中的UDS诊断

    谁能帮我解答下CAN中的UDS诊断?需要联系请私信我。遇到好多难题。有点懵。想请高手帮我解答下.主要是没有程序。而且还不知道报文里面的数据代表什么?
    发表于 10-21 23:14

    准备找十几人起翻译UDS诊断标准ISO14229

    大家好,准备找十几个人起翻译汽车UDS诊断标准ISO14229+15765,人均也就二三十页,方便你我他,毕竟看英文还是挺累的。有兴趣的加我微信kexuexyz,先说明
    发表于 05-18 10:19

    UDS诊断命令备忘录

    UDS实践性强,逻辑复杂,很多服务非要体验过次才能理解,导致包括我在内的初学者感觉晦涩难懂,不明觉厉,因此将自己的理解写下来、整理下来,与君共勉。零、UDS诊断命令备忘录
    发表于 08-26 16:09

    基于MM32F0140系列MCU实现UDS Bootloader的设计

    通信。是由研发和生产汽车电子产品著称的德国BOSCH 公司开发了,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之。FlexCAN 是 CAN 协议的个高完成
    发表于 09-15 16:35

    零基础快速实现pyhton 控制CAN通信UDS诊断功能

    多帧通信验证使用到的库:can-isotp(ISO-15765)import isotpimport loggingimport timeimport canESC_TX_ID
    发表于 04-16 20:27

    【野火】瑞萨RA MCU创意氛围赛+ 基于CAN总线的UDS诊断升级MCU /bootloader/UDS诊断/14229/15765

    基于can总线的UDS软件升级 最近学习UDS诊断协议(ISO14229),是项国际标准,为汽
    发表于 06-13 01:26

    看懂UDS协议栈中的时间参数

      UDS 协议是道路车辆通用诊断规范的简称,目前主要应用在商用车电气零部件系统中,各个电气子系统基于该协议与外部诊断设备进行数据交互,从而实现程序更新、故障读取等功能。完整的协议栈包含了多个
    发表于 04-02 17:12 1次下载

    UDS常用诊断服务

    UDS诊断概述 UDS(Unified Diagnostic Services,统诊断服务)诊断
    的头像 发表于 06-12 10:36 2.6w次阅读
    <b class='flag-5'>UDS</b>常用<b class='flag-5'>诊断</b>服务

    UDS之19服务中04子服务:读取快照数据

    作者|小懒小编|吃不饱在车载诊断中常用的诊断协议有ISO14229等,在协议中主要定义了诊断请求、诊断响应的
    的头像 发表于 04-23 09:32 4922次阅读
    <b class='flag-5'>UDS</b>之19服务中04子服务:读取快照数据

    UDS诊断服务响应规则介绍

    15031,ISO 15765,还有我们熟悉的ISO 14229就是UDS协议,在协议里面定义了诊断的请求,
    的头像 发表于 08-15 17:00 6613次阅读
    <b class='flag-5'>UDS</b><b class='flag-5'>诊断</b>服务响应<b class='flag-5'>规则</b>介绍

    基于CAN总线的UDS诊断Bootloader升级MCU工具

    今日跟大家分享参加野火【瑞萨RA MCU创意氛围赛】选手的项目——基于CAN总线的UDS诊断Bootloader升级MCU工具。
    的头像 发表于 08-21 14:01 4342次阅读
    基于<b class='flag-5'>CAN</b>总线的<b class='flag-5'>UDS</b><b class='flag-5'>诊断</b>Bootloader升级MCU工具

    CAN(FD)总线十万个为什么》之UDS诊断(上)

    在汽车电子的世界里,UDS诊断协议如同把神奇的钥匙,为工程师和维修人员打开了通往车辆“心脏”的大门。今天,就让我们起揭开UDS
    的头像 发表于 11-05 11:35 751次阅读
    《<b class='flag-5'>CAN</b>(FD)总线十万个为什么》之<b class='flag-5'>UDS</b><b class='flag-5'>诊断</b>(上)

    CAN(FD)总线十万个为什么》之UDS诊断(下)

    在汽车电子诊断领域,UDS协议的传输层由ISO-15765标准定义。这标准确保了即使在数据量较大的情况下,也能高效、准确地
    的头像 发表于 11-06 11:36 911次阅读
    《<b class='flag-5'>CAN</b>(FD)总线十万个为什么》之<b class='flag-5'>UDS</b><b class='flag-5'>诊断</b>(下)