1. UDS报文传输的4种帧
ISO14229-1规定了26个诊断服务细节,也就是UDS诊断报文的细节。它只规定了各个服务每个字节的含义,它不关心底层到底是怎么传输的。
ISO15765-2规定了基于CAN总线进行UDS报文传输的细节,是在CAN总线传输的情况下, 具体规定如何传输UDS诊断的请求和响应报文的,四种帧就是定义在这个标准中。
UDS诊断报文分为“单帧传输”和“多帧传输”两种。
单帧传输:
一个UDS的请求或者响应的发送方,发出一个单帧(SF)即可,接收方接收到就可以了。因为单帧的时候,这一帧CAN报文是能够装得下所有的uds报文。
UDS诊断的CAN报文的第一个字节的第一位是0,就代表是单帧:
多帧传输:
首帧(FF):首帧是多帧通信中发出的第一个帧。其中第一个字节的高4位为1,第一个字节的低四位和第二个字节一起表示整个多帧通信中需要多少个字节才能将要通信的内容表达清楚。
流控帧(FC):为了保证发送方发出的数据可以被接收方正确接收,因此需要通过UDS流控帧告知发送方,接收侧的数据处理能力。
连续帧(CF):续帧是通信中首帧后表示数据内容的帧。它的第一字节高4位为2,低4位为帧的序号,从1开始,增长到0xF后重新从1开始。
2. UDS流控帧详解
流控帧是一帧接收方发送给发送方的报文。
流控帧的3个控制字节:第一个字节的高4位为3代表为流控帧,低4位代表流状态(FS)。
第2个字节代表块大小:
第3个字节为最小间隔时间:两条发送帧之间的最小时间间隔。当STmin=0时,表示发送方可以不用等待,连续发送数据。
各种帧的控制信息总结如下:
来源链接:https://www.cnblogs.com/direwolf22/p/18635689
没有回复内容