【CAN-通讯协议】

■ CAN-简介

在这里插入图片描述
CAN-主流通讯协议对比
在这里插入图片描述

■ CAN-硬件电路

在这里插入图片描述

■ CAN-物理层特性

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

■ CAN-电平标准

在这里插入图片描述

■ CAN-收发器-TJA1050(高速CAN)

在这里插入图片描述

■ CAN-总线帧格式

在这里插入图片描述

帧用途
数据帧用于发送单元向接收单元传送数据的帧。
遥控帧用于接收单元向具有相同 ID 的发送单元请求数据的帧。
错误帧用于当检测出错误时向其它单元通知错误的帧。
过载帧用于接收单元通知其尚未做好接收准备的帧。
帧间隔用于将数据帧及遥控帧与前面的帧分离开来的帧。

■ CAN-数据帧

数据帧 | 用于发送单元向接收单元传送数据的帧。
在这里插入图片描述

■ 1. 帧起始

标准、扩展格式相同,   表示帧开始的段。 1 个位的显性位。

在这里插入图片描述

■ 2. 仲裁段

表示数据的优先级的段。
标准格式和扩展格式在此的构成有所不同。

在这里插入图片描述

■ 3. 控制段

控制段由 6 个位构成,表示数据段的字节数。标准格式和扩展格式的构成有所不同。

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

■ 4. 数据段

数据段可包含 0~8 个字节的数据。从 MSB(最高位)开始输出。
在这里插入图片描述

■ 5. CRC段 (标准/扩展格式相同)

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

■ 6. ACK段

ACK 段用来确认是否正常接收。由 ACK 槽(ACK Slot)和 ACK 界定符 2 个位构成。
在这里插入图片描述
在这里插入图片描述

■ 7. 帧结束

帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。
在这里插入图片描述

■ CAN-遥控帧

遥控帧 | 用于接收单元向具有相同 ID 的发送单元请求数据的帧。
在这里插入图片描述
==RTR 段为1 表示遥控帧,RTR段为0表示为数据帧。 ==
在这里插入图片描述

■ CAN-错误帧

错误帧 | 用于当检测出错误时向其它单元通知错误的帧。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

■ CAN-过载帧

过载帧 | 用于接收单元通知其尚未做好接收准备的帧。
在这里插入图片描述
在这里插入图片描述

■ CAN-帧间隔

帧间隔 | 用于将数据帧及遥控帧与前面的帧分离开来的帧。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

■ CAN-仲裁

■ 1. 仲裁-优先级的决定

在总线空闲态,最先开始发送消息的单元获得发送权。
多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性电平最多的单元可继
续发送。

CAN模块在发送的同时也在读取线上的电平状态
在这里插入图片描述

■ 2. 仲裁-数据帧和遥控帧的优先级

具有相同 ID 的数据帧和遥控帧在总线上竞争时, 仲裁段的最后一位(RTR) 为显性位的数据帧具有优先权,可继续发送。
数据帧和遥控帧的仲裁过程如图
在这里插入图片描述

■ 3. 仲裁-标准格式和扩展格式的优先级

标准格式 ID 与具有相同 ID 的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的 RTR 位为显性位的具有优先权,可继续发送。
标准格式和扩展格式的仲裁过程如图
在这里插入图片描述

■ CAN-位填充

位填充是为防止突发错误而设定的功能。当同样的电平持续 5 位时则添加一个位的反型数据。
位填充的构成如图
在这里插入图片描述
在这里插入图片描述

■ CAN-错误帧

■ CAN-错误帧的种类

在这里插入图片描述

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

■ CAN-错误帧的输出

检测出满足错误条件的单元输出错误标志通报错误。
处于主动错误状态的单元输出的错误标志为主动错误标志;处于被动错误状态的单元输出的错误标志为被动错误标志。
发送单元发送完错误帧后,将再次发送数据帧或遥控帧。
错误标志输出时序如表 10 所示。
在这里插入图片描述

■ CAN-位时序

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

■ CAN-同步

■ 1. 取得同步的方法

在这里插入图片描述

■ 2. 硬件同步

接收单元在总线空闲状态检测出帧起始时进行的同步调整。
在检测出边沿的地方不考虑 SJW 的值而认为是 SS 段。
在这里插入图片描述

■ 3. 再同步

在接收过程中检测出总线上的电平变化时进行的同步调整。
每当检测出边沿时,根据 SJW 值通过加长 PBS1 段,或缩短 PBS2 段,以调整同步。但如果发生了超出 SJW
值的误差时,最大调整量不能超过 SJW 值。
在这里插入图片描述

■ 4. 调整同步的规则

硬件同步和再同步遵从如下规则。
(1) 1 个位中只进行一次同步调整。
(2) 只有当上次采样点的总线值和边沿后的总线值不同时,该边沿才能用于调整同步。
(3) 在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步。
(4) 在总线非空闲时检测到的隐性电平到显性电平的边沿如果满足条件( 1)和( 2),将进行再同步。但还要满足下面条件。
(5) 发送单元观测到自身输出的显性电平有延迟时不进行再同步。
(6) 发送单元在帧起始到仲裁段有多个单元同时发送的情况下,对延迟边沿不进行再同步。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光芒Shine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值