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. 通信速度

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

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

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


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