CAN笔记(2) CAN特点

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_32618327/article/details/100511140


1. 多主控制

在总线空闲时
所有的单元都可开始发送消息(多主控制)
最先访问总线的单元可获得发送权(CSMA/CA 方式 1

多个单元同时开始发送时
根据标识符(Identifier 以下称为 ID)决定优先级
ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级
发送高优先级 ID 消息的单元可获得发送权


2. 消息的发送

在 CAN 协议中,所有的消息都以 固定的格式 发送

总线空闲时
所有与总线相连的单元都可以开始发送新消息

两个以上的单元同时开始发送消息时
对各消息 ID 的每个位进行逐个仲裁比较
仲裁获胜(被判定为优先级最高)的单元可继续发送消息
仲裁失利的单元则立刻停止发送而进行接收工作


3. 系统的柔软性

与总线相连的单元没有类似于“地址”的信息
因此在总线上增加单元时
连接在总线上的其它单元的软硬件及应用层都不需要改变


4. 通信速度

根据整个网络的规模,可设定适合的通信速度

在同一网络中,所有单元必须设定成统一的通信速度
即使有一个单元的通信速度与其它的不一样
此单元也会输出错误信号,妨碍整个网络的通信

不同网络间则可以有不同的通信速度

扫描二维码关注公众号,回复: 7218265 查看本文章

5. 远程数据请求

可通过发送 “遥控帧” 请求其他单元发送数据


6. 错误检测、通知、恢复功能

  • 错误 检测 功能:
    所有的单元都可以检测错误
  • 错误 通知 功能:
    检测出错误的单元会立即同时通知其他所有单元
  • 错误 恢复 功能:
    正在发送消息的单元一旦检测出错误
    会强制结束当前的发送
    并且强制结束发送的单元会不断反复地重新发送
    此消息直到成功发送为止

7. 故障封闭

CAN 可以判断出错误的类型是

  • 总线上暂时的数据错误(如外部噪声等)
  • 持续的数据错误(如单元内部故障、驱动器故障、断线等)

由此功能,当总线上发生持续数据错误时
可将引起此故障的单元从总线上隔离出去


8. 连接

CAN 总线是可同时连接多个单元的总线

可连接的单元总数理论上是没有限制的
但实际上可连接的单元数受总线上的时间延迟及电气负载的限制

降低通信速度,可连接的单元数增加
提高通信速度,则可连接单元数减少


参考:
《CAN入门书》


相关推荐:
CAN笔记(1) CAN简介


谢谢!


  1. CSMA/CA:Carrier Sense Multiple Access / Collision Avoidance (载波感应多重访问/碰撞避免) ↩︎

猜你喜欢

转载自blog.csdn.net/qq_32618327/article/details/100511140
CAN