CAN通信1

CAN简介

CAN 是 Controller Area Network 的缩写,是 ISO 国际标准化的串行通信协议。

这里是引用

在这里插入图片描述
CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平(线“与”),二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。

这里是引用

CAN特点

(1) 多主控制
在总线空闲时,所有的单元都可开始发送消息(多主控制)。
最先访问总线的单元可获得发送权(CSMA/CA 方式)。
多个单元同时开始发送时,发送高优先级 ID 消息的单元可获得发送权。
(2) 消息的发送
在 CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新
消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不
是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消
息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的
单元则立刻停止发送而进行接收工作。
(3) 系统的柔软性
与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬
件及应用层都不需要改变。
(4) 通信速度
根据整个网络的规模,可设定适合的通信速度。
在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元
也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。
(5) 远程数据请求
可通过发送“遥控帧” 请求其他单元发送数据。
(6) 错误检测功能·错误通知功能·错误恢复功能
所有的单元都可以检测错误(错误检测功能)。
检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。
正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送
此消息直到成功发送为止(错误恢复功能)。
(7) 故障封闭
CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部
故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上
隔离出去。
(8) 连接
CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元
数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接
的单元数减少。

错误

总线上的单元状态分为三种:主动错误状态(正常参加总线通信)、被动错误状态(接收时不能积极地发送错误通知,检测出错误时输出被动错误标志;在间隔帧期间内(下次发送前)必须插入“延迟传送”(8个位的隐性位))、总线关闭状态(接受和发送均被禁止)。
三种状态间的切换以发送错误计数和接收错误计数为判断标准。如下图:

这里是引用
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d83013bc650742c0acb9a3d6baa5d983.png

CAN协议的基本概念

这里是引用
CAN 协议如下表所示涵盖了 ISO 规定的 OSI*1 基本参照模型中的传输层、数据链路层及物理层。
CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图 5 所示。在这里插入图片描述

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值