CAN通信(三)

目录

四、总线仲裁

五、数据传输

1.位速率

2.位时序

3.硬件同步

4.再同步

5.调整同步的规则

其他CAN通信文章:


四、总线仲裁

仲裁就是要解决总线上两个节点或多个节点同时发送数据的一个冲突问题,保证传输的正确性。

假设一条CAN总线上有两个节点单元1和2,在总线空闲时,总线上为隐性电平,就在这个时候两个单元同时向总线上发送数据,如下图,每个节点都有发送与接收。

当作为发送方的节点会去接收自己发送的内容进行检查,即回读机制(节点在向总线上发送报文的过程中,同时也对总线上的二进制位进行“回读”,对比该节点发出的二进制位总线上当前的二进制位是否一致,就可节点数据是否被正确接收。)

情况1:仲裁在前11位ID就结束 ,如上图

各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性电平最多的单元可继续发送。

 前面的单元1和单元电平都一样,到后面单元1是隐性电平,单元2是显性电平,显性优先级更高,则单元2的优先级更高,获得发送权,而单元1则变为接收状态。

情况2:仲裁在前11位ID未结束,即说明前11位ID相同

根据上表对比,数据帧与遥控帧各自的两个格式,可分为以下四种情况:

(1)标准格式的数据帧与遥控帧:看RTR位,数据帧的RTR位恒为显性,遥控帧的RTR位恒为隐性。故前11位ID号相同时,标准数据帧优先级高于标准遥控帧

(2)扩展格式的数据帧与遥控帧:在前11位ID和后18位ID全相同的情况,与上条一致。

(3)数据帧的标准格式与扩展格式:比较标准格式的RTR位与扩展格式的SRR位,标准格式的RTR位恒为显性,扩展格式的SRR位恒为隐性。故前11位ID号相同时,标准数据帧优先级高于扩展数据帧

(4)遥控帧的标准格式与扩展格式:看IDE位,扩展格式的IDE位恒为隐性,标准格式的IDE位在控制段,恒为显性。故前11位ID号相同时,标准遥控帧优先级高于扩展遥控帧

通过上述分析,我们可以知道在前11位ID号相同时,根据协议设定的RTR, SRR, IDE,就可以保证如下:

  • RTR:保证数据帧优先级高于遥控帧;
  • SRR :保证标准数据帧的优先级高于扩展数据帧;
  • IDE :保证标准遥控帧的优先级高于扩展遥控帧。
  • 由此得出ID 前面的0越多其优先级会更高,把二进制转换成 十 进制,11bit 可以表示的范围为0-2047,所以可以看出ID越小,优先级越高。

五、数据传输

1.位速率

比特率(Bitrate)又称为位速率,是指单位时间内传输或处理的数据量,即每秒能传输的二进制位的数量通常以比特每秒(bps,bits per second)为单位来表示。如8bit/s,意思是一秒传输了8bit。

一个位速率可分为 4 段:同步段(SS)传播时间段(PTS)相位缓冲段 1(PBS1)相位缓冲段 2(PBS2),这些段又由可称为 Time Quantum(以下称为 Tq)的最小时间单位构成。

2.位时序

1 位分为 4 个段,每个段又由若干个 Tq 构成,这称为位时序。

1 位由多少个 Tq 构成、每个段又由多少个 Tq 构成等,可以任意设定位时序。通过设定位时序,多个单元可 同时采样,也可任意设定采样点。 各段的作用和 Tq 数如表5.1所示。1 个位的构成如图下图5.2 所示

表5.1 

图5.2 

3.硬件同步

接收单元在总线空闲状态检测出帧起始时进行的同步调整。 在检测出边沿的地方不考虑 SJW 的值而认为是 SS 段。 硬件同步的过程如图5.3所示。

图5.3 

4.再同步

在接收过程中检测出总线上的电平变化时进行的同步调整。 每当检测出边沿时,根据 SJW 值通过加长 PBS1 段,或缩短 PBS2 段,以调整同步。但如果发生了超出 SJW 值的误差时,最大调整量不能超过 SJW 值。 再同步如图 5.4(此图为上表的图34) 所示。 

图5.4即图34 

5.调整同步的规则

硬件同步和再同步遵从如下规则:

(1) 1 个位中只进行一次同步调整。

(2) 只有当上次采样点的总线值和边沿后的总线值不同时,该边沿才能用于调整同步。

(3) 在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步。

(4) 在总线非空闲时检测到的隐性电平到显性电平的边沿如果满足条件(1)和(2),将进行再同步。但还要 满足下面条件。

(5) 发送单元观测到自身输出的显性电平有延迟时不进行再同步。

(6) 发送单元在帧起始到仲裁段有多个单元同时发送的情况下,对延迟边沿不进行再同步。

其他CAN通信文章:

CAN通信(一)(了解)-CSDN博客 

CAN通信(二)(熟悉)-CSDN博客

CAN通信(四)-CSDN博客

CAN通信(五)(CANFD介绍)-CSDN博客

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值