Can帧种类学习笔记_can连续帧

2.1 SequenceNumber(SN)的取值

其取值范围为:0~F;

通常,首帧的SN值为0(虽然首帧数据中没用SN,但依然将SN值当作是0)。首帧后的第一个连续帧的SN值为1,之后每遇到一个连续帧,SN值加1。当SN=15后再遇到一个连续帧时,其值变为0,依次类推。

SN的值不受流控帧(FC)的影响;

2.2 FlowStatus(FS)的取值

以下数据均为十六进制数。

0 -> 继续发送;

1 -> 等待;

2 -> 溢出;

3~F -> 保留字段;

2.3 BlockSize(BS)的取值

以下数据均为十六进制数。

0 -> 接收方向发送端告知:接收端后续将不会再发送流控帧响应,发送端也不需要等待流控帧,发送端直接发送余下的连接帧数据;

01~FF -> 接收方向发送端告知:接收端能接收的连续帧大小,单位:字节;

2.4 SeparationTime minimum(STmin)的取值

此值由接收方定义,表示接收两个连续帧的时间间隔;

00~7F -> 0~127毫秒;

80~F0 -> 保留字段;

F1~F9 -> 100~900微秒;

FA~FF -> 保留字段;

3. 示例一

以下图“密钥不正确”的操作为例说明“03 7F 27 35 AA AA AA AA”报文的含义。

以上图来进行说明:

报文:03 7F 27 35 AA AA AA AA, 其中:

A). 0表示这个是一个SF,即单帧;

B). 第二位非0,表示这是一个长度为8字节的报文;

C). 3表示,playload负载长度是3个字节;

D). 7F,是诊断负响应码标识;

E). 27表示的是诊断安全访问服务(SecuritySession);

F). 35为具体的负响应码,“非法密钥”;

G). AA 是位填充符;

因此,03 7F 27 35 AA AA AA AA报文表示就是:密钥不正确;

4. 示例二

下图为一个通过指定DID来读取相关数据的服务(诊断22服务)。

Step1:

0:表示单帧(SF);

3:表示一个长度为8字节的报文,后面的负载长度是3个字节;

22:表示诊断的22服务;

F1 B3:指定的DID值

Step2:

1:表示首帧(FF);

8:表示整个数据包的长度为8个字节;即:62 32 15 16 16 51 36 36

Step3:

3:表示流控帧(FC);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值