
UDS(Unified Diagnostic Service)是一种应用层协议,它独立于底层通信介质,内容在ISO14229-1中定义,最新版本为2020版。在UDS的开发和测试中,时间参数至关重要,但往往容易被忽视。本文从网络层、会话层、应用层三个层面探讨UDS中的时间参数,包括寻址模式、数据块大小、流控交互机制、会话层时间参数和应用层时间参数。这些参数对于监控网络层报文的发送与接收、保持ECU在非默认会话下的时间间隔、以及评估UDS通信稳定性等性能指标至关重要。通过深入理解这些参数,可以更好地掌握UDS协议,提高诊断工具的效率和准确性。
UDS:(UnifiedDiagnosticService)统一诊断服务协议。
之所以称为统一诊断服务,则是因为该协议是建立在各种传输方式之上的应用层协议,与底层所采用的通信介质都没有关系,该协议内容在ISO14229-1中定义,目前该协议版本已更新至2020版。
在UDS开发及测试过程中,总是会出现各种各样的时间参数,你是否存在以下烦恼呢:
不要着急,实属正常,谁也没法一直记住这么多参数,在此之前,我跟大家一样,同样存在上述种种疑惑。开发及测试过程中往往容易忽视这些时间参数的作用,等到出现问题时才去进一步了解其含义。
为了较为全面的对UDS用到的UDS参数有个了解,接下来,我将从网络层,会话层,应用层以下三个层面来跟大家一起探讨学习UDS用到的所有时间参数,如下图1所示:
以DoCAN为例,以下传输层与网络层相关参数在ISO-15765-2中都会有相关细节性的描述,本文只做系统性总结,对具体细节不作展开,大家可自行深入研究。
#####AddressingMode(AM)
在发送诊断指令的过程中,存在以下两种寻址方式:
一般而言,一个ECU节点只会存在1对物理寻址,1对功能寻址;每一对寻址方式根据客户的需求来自行定义。
应用场景与作用:
BlockSize简称“BS”,该参数与STmin一般同时出现。此两参数主要用于诊断报文传输多帧时会使用到。在传输多帧诊断报文的过程中,存在着三种类型的帧:
如下图2所示,较为清晰了表述FF、FC、CF三者之间的交互关系。
图2流控交互机制
应用场景与作用:
在APP模式下,发送报文长度大于8或者大于64(CANFD)时,就会自动开启流控模式。在Boot模式下,由于使用到$36下载服务,涉及到大量数据的传输,也必然会使用到流控。
由上可知,BS与Stmin的大小能够用来评估接收方的接收能力,如果都为0,表示接收方接收能力最强;
当然,有些时候,虽然Boot均可以设置为0,但是往往FBL刷写过程中涉及到网关的转发,而网关接收能力存在限制,因此,此时对应的Boot也必须按照网关的接收能力来设置BS与Stmin。
如下图3所示,清楚的表达了各个时间参数的起始时间及终止时间,以上述流控交互过程为例。
图3多帧传输过程的时间控制
为了便于大家记忆及查询方便,制定相关表格如下图4所示:
图4网络层时间参数说明
应用场景与作用:
上述时间参数的确定,对于网络层各报文的发送与接收起到了很好的监控作用,能及时发现问题所在。当然考虑到网络高负载的情形,上述参数不一定能够100%满足要求,但是标准要求一般不能超过允许时间的50%。
在ISO-15765-3标准中对S3Client与S3Server进行了较为详尽的描述,再次不过多描述,大家可以自行研究学习。
S3Client:表示Tester为了保持一个ECU或者多个ECU节点同时保持在非默认会话下的时间间隔;
S3Server:有时也称为S3Timeout,表示ECU未接收到任意诊断报文时维持在非默认会话下的时间间隔;
如下图5所示,描述了这两个时间参数的具体区别。
图5会话层时间参数
应用场景与作用:
针对有些诊断服务只能在扩展会话下才能够执行的场景,需要保持在非默认会话下,执行该诊断指令。比如在刷写过程中(非必须,但一般一直发送比较号,防止意外的超时)或者其他需要一直工作在默认会话下的场景。
在ISO-15765-3标准中针对Tester以及Server列出了3对P时间参数,分别为P2Client、P2Server、P2Client、P2Server、P3Client(Phy)、P3Client(Func)。
为了较好的比较这六者之间的关系,列表如下图6所示:
图6应用层时间参数说明
应用场景与作用:
这些时间参数主要用于上位机在测试UDS的过程中,诊断工具需要设置一些参数来实时掌握诊断报文的响应状态以及控制相应诊断请求的发送。这对于评估整个UDS的通信是否稳定等性能指标。
往期精彩:
软件Bug是怎样写成的《一》
软件Bug是怎样写成的《二》
ELK系统架构与功能特征分析
AutoSAR之基础篇CanNM
AUTOSAR基础篇之FiM
更多精彩,敬请关注微信公众号“ADAS与ECU之吾见“,让我们一起学习进步!
以上内容由58汽车提供。如有任何买车、用车、养车、玩车相关问题,欢迎在下方表单填写您的信息,我们将第一时间与您联系,为您提供快捷、实用、全面的解决方案。
原创文章,作者:58汽车,如若转载,请注明出处:https://car.58.com/7463455/
