控制器局域网(CAN)

CAN (控制器局域网) 是一种串行总线系统,它最初于20世纪80年代开发用于汽车应用。CAN协议符合ISO 11898-1国际标准,它包含7层ISO/OSI参考模型中的数据链路层。目前有50多家半导体制造商提供的硬件产品支持CAN总线,它提供两种通讯服务:发送消息(数据帧传输)和请求消息(远程传输请求,RTR)。

CAN协议还指定了在发送错误帧后自动重新传输出错的消息。可通过发送或接收节点发送错误帧。CAN协议指定复杂的错误检测机制,而不是错误限制。

CAN数据链路层提供:

  • 多主控能力:在总线空闲时,任意一个CAN节点均可发送消息。
  • 广播通讯:所有节点都可接收所发送的全部消息。由所有接收节点决定是否接受该消息。这可确保数据一致性,因为系统中的所有节点使用相同的信息。
  • 复杂的错误检测机制和错误消息重新传输机制:这可确保网络内的数据一致性。
  • 非破坏性的总线仲裁:若两个或两个以上CAN节点同时请求消息传输,则协议确保具有最高优先级的消息立即获得总线访问。