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

描述

在汽车电子诊断领域,UDS协议的传输层由ISO-15765标准定义。这一标准确保了即使在数据量较大的情况下,也能高效、准确地传输诊断信息。今天,我们将深入探讨ISO-15765协议的传输机制。


 

总线  UDS中的传输协议(ISO-15765)

 

1. 单帧传输

 

当请求PDU(协议数据单元)或响应PDU的长度较短,不超过CAN帧数据段的8字节或CAN FD的64字节时,传输过程相对简单。在这种情况下,协议会控制CAN FD接口卡以单帧的形式发送数据。单帧的首字节以0开头,例如,单帧响应中的“06”表示该帧只有6个有效字节,后续字节则是自动填充的无效字节。

总线

2. 多帧传输

 

然而,当PDU的长度远远超过CAN帧数据段的8字节或CAN FD的64字节时,协议会控制CAN FD接口卡以多帧的形式进行传输。多帧传输分为首帧和连续帧:

  • 首帧:首帧的前两字节以1开头,例如“10 0D”表示数据长度为13字节,即后续将跟随13个字节的数据内容。
  • 连续帧:连续帧以2x开头,从0x21开始,依次递增到0x2F,然后循环回到0x20。直到PDU的内容全部发送完毕,才会填充无效字节并停止发送。
总线

3. 流控帧

 

为了确保传输过程的稳定性和可靠性,ISO-15765协议还定义了流控帧。流控帧的前三字节具有特定的定义:

  • 首字节:3(4bit)+流状态(FS,4bit)。
  • 第二字节:块大小(BS,8bit)。
  • 第三字节:最小间隔时间(STmin,8bit)。

流控帧的具体参数如下:

  • FS(流状态):0,继续发送。1,等待。2,过载溢出。
  • BS(块大小):一次能传输的帧数。0表示无限制传输大小。

例如,“30 08 14”表示遥控,继续发送,最大连续8帧,帧间隔20毫秒。

具体使用哪个服务,厂商可以根据自身需求自行选择。ZLG致远电子自行开发的CAN FD接口卡系列,搭配国产汽车总线工具链ZXDoc,可以实现相关诊断服务的操作,欢迎使用。

总线

在下一期节目中,我们将继续深入探讨UDS诊断协议,特别是增强和细化了文件下载功能的ECU筛选机制。敬请期待!

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分