UDS网络层知识整理:单帧与多帧传输以及网络层时间参数整理

发布时间:2024年01月05日

一、单帧与多帧传输

UDS网路层的相关类型帧:

SF单帧参数:

  • SF_DL:后续数据长度

FF首帧参数:

  • FF_DL:后续数据长度

CF连续帧参数:

  • SN:连续帧序号,连续帧的第1帧值为1,每增加一个连续帧,SN值加1,后续SN达到15(0xF)时候,下一帧连续帧为0.(流控帧FC不影响连续帧SN值的计算)

FC流控帧参数:

  • FS:FlowStatus(流控制状态),为0表示准备好等待BS声明的最大连续帧数,为1表示等待一个新的流控帧,为2表示流控溢出,将会引起发送终止发送
  • BS:Block Size,为0 表示分段报文期间不再发送流控帧,所有连续帧都将持续发送到接收端。0x01~0xFF,定义为到下一个流控帧为止的连续帧最大数量
  • STmin:定义2个连续帧(CF)之间的最小允许时间。0~7F 表示0~127ms;F1~F9的单位为100us,其中F1表示100us,F9表示900us

1、单帧传输

单帧传输中仅需要用到SF(SingleFrame):

  • 举个例子:UDS中10服务

TX:02?10 03?00 00 00 00 00

单帧的第一个字节02,高4位为0表示是SF帧;低4位为2,表示后面的有效字节长度为2个字节

2、多帧传输

多帧传输中需要用到:FF(首帧)、FC(流控帧)、CF(连续帧)

  • ?举个例子:2E服务写DID

TX:10 14 2E F1 90 FF FF FF

RX:30 08 14 00 00 00 00 00

TX:21 FF FF FF FF FF FF FF

TX:22 FF FF FF FF FF FF FF

(1)其中首帧FF第1个字节与第2个字节(10 14),第1个字节高4位 0x01 表示了该帧是首帧,第1个字节低4位,和第二个字节表示长度为0x014,表示后续有效字节数为20个字节

(2)当Sender首帧发出后,需要等待Receiver发送流控帧后,才能接着发送后面的流控帧数据。其中流控帧第1个字节30,其中高4位 3 表示为流控帧,低4位 0 表示流控帧的状态。流控帧第2个字节08 表示接收了8帧连续帧后,就需要等待流控帧

(3)当Sender接受到流控帧后,就需要开始发送连续数据,其中连续帧第1个字节21,高4位2表示是连续帧,低4位1表示连续帧的第一帧(注:其中连续帧的第1帧SN为1,后续SN达到15后,下一个连续帧的SN为0)

二、网络层相关时间参数

注:时间参数末尾的s表示sender,r表示receiver

  • N_As:控制器访问网络并在发送端传输诊断报文允许的时间。(即:访问网络层As开始计时,到报文发出后As停止计时,这一段时间)
  • N_Br:控制器接收到第一帧或连续帧之后,在控制器传输FC之前的允许时间。(即:网络层接收解析到为FF时候,Br开始计时,当访问网络层准备回复FC时,Br停止)
  • N_Ar:控制器访问网络并且在接收端传输诊断报文允许的时间。(即:访问网络层准备回复FC时,Ar开始计时,当报文发出后Ar停止计时,这一段时间)
  • N_Bs:传输首帧或连续帧与接收流控帧之间的时间(即:传输完FF或者CF时,Bs开始计时,当接受到FC或者是最后一帧CF,Bs停止计时)
  • N_Cs:控制器在接收到FC或发送完CF后,到传输连续帧之间允许的时间
  • N_Cr:控制器在发送流控帧或者接收前一个连续帧后等待连续帧的时间
文章来源:https://blog.csdn.net/laifengyuan1/article/details/135390247
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。