【AUTOSAR CanTP 1.学习UDS诊断的网络层协议】

本文详细介绍了CAN总线中数据传输的帧类别,包括单帧、首帧、序列帧和流控帧,以及各帧的PCI定义。同时,解析了网络层诊断中的时间参数,如N_As、N_Bs等,强调了STmin参数对多帧传输时间的影响。此外,还阐述了发送与接收的流程及其超时管理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

名词解读

  • DL:有效数据的长度,不包括PCIbyte;
  • FS:表示是发送方否可以继续传输消息,0表示可以继续发送,1表示等待发送,2表示数据溢出,一次发送的数据大于接收方所能接收的量;
  • BS:接收方一次能接收的数据最大量;
  • STmin:表示两个连续帧之间的最小时间间隔,参照图1中的定义;
  • SN:连续帧的序列号
  • N_As:发送端将数据传送到接收端的最大时间。
  • N_Bs:发送端在成功发送首帧后到收到流控制帧的最大时间。
  • N_Br:接收端在接收到首帧后到发送流控制的最大时间。
  • N_Ar:接收端将流控制传送到发送端的最大时间。
  • N_Cr:接收端在成功发送流控制后到收到连续帧的最大时间。
  • Ttan:每帧传输的时间。

帧类别

对于帧的类型,通过需要发送的数据长度来确定。在正常寻址模式下,当数据长度小于等于7byte,则用单帧的形式发送,当数据长度大于7byte,数据需要分多帧才能发送完成,则需要使用到首帧、流控帧、连续帧,不同帧的机制如图2所示。

在这里插入图片描述
首帧是指发送的第一帧,目的是把前7byte数据发送给接收方,并告知接收方数据没有发完,然后接收方会回一帧流控帧,告知发送方是否可以接着发送,并且告知接收方一次最多能接收的数据量,以及发送方接下来发送的数据帧(连续帧)之间的时间间隔要求(STmin)。

对于不同的帧,通过CAN消息的数据场中PCI(Protocol control information)来区分,图3、图4详细说明了不同帧的PCI的定义。

在这里插入图片描述
以下是对PCI段的详细解释。

在这里插入图片描述
单帧:

   当N_PCItype = 0时,表示此帧为单帧,SF_DL为此次单包传输的数据量。

首帧:

   当N_PCItype = 1时,表示此帧为首帧,FF_DL为此次多包传输的数据量,FF_DL的最大值为4095。

序列帧:

   当N_PCItype = 2时,表示此帧为序列帧,SN为序列帧的计数,用于数据的有序传输,第一次发送SN的值为1,当SN的值溢出时,SN从0开始计数。

流控帧:

   当N_PCItype = 3时,表示此帧为流控帧,FS为数据流传输的状态信息,BS为接收方发送流控帧的间隔(以CF帧为单位),ST为发送方间隔发送序列帧的时间间隔。

当FS=0时,代表接收方已经准备好数据传输,发送方可以发送序列帧;当FS=1时,发送方继续等待流控帧且复位N_BS的超时定时器;当FS=2时,代表接收方的内存不够接收FF_DL长度的数据,发送方结束数据传输当BS=0时,接收方不再发送流控帧,发送方可以一直发送序列帧直到数据传输完成。

其中:

DL:有效数据的长度,不包括PCIbyte;

FS:表示是发送方否可以继续传输消息,0表示可以继续发送,1表示等待发送,2表示数据溢出,一次发送的数据大于接收方所能接收的量;

BS:接收方一次能接收的数据最大量;

STmin:表示两个连续帧之间的最小时间间隔,参照图1中的定义;

SN:连续帧的序列号

网络层诊断时间分析

网络层的时间管理是为了保证发送端和接收端不会因为等待而永久的挂起,从而失去了通信的能力。因此在每次通话的过程中设置了超时的时间参数。

在这里插入图片描述

时间关系 N_BS = N_AR+N_BR
N_AS
N_CR

N_As:发送端将数据传送到接收端的最大时间。

N_Bs:发送端在成功发送首帧后到收到流控制帧的最大时间。

N_Br:接收端在接收到首帧后到发送流控制的最大时间。

N_Ar:接收端将流控制传送到发送端的最大时间。

N_Cr:接收端在成功发送流控制后到收到连续帧的最大时间。

Ttan:每帧传输的时间。

STmin:连续帧两帧之间的最小发送间隔。

N_As、N_Bs、N_Cr、Ttan 在实际应用中均为固定值,由此可知在多帧传输中,STmin 参数对于多帧传输的时间有着重要的影响。

发送与接受的流程

在这里插入图片描述
在这里插入图片描述

ISO-15765官方网络时序图

在这里插入图片描述
其时间参数的定义和超时如下所示

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值