CAN协议,系统结构和帧结构

CAN:Controller Area Network,控制器局域网

是一种能有效支持分布式控制和实时控制的串行通讯网络。

CAN-bus: Controller Area Network-bus,控制器局域网总线技术

 

CAN总线系统结构

  1. CAN 控制器

接收控制单元中微处理器发出的数据,处理数据并传给CAN收发器

  1. CAN收发器

将数据传到总线 or 从总线接收数据给控制器

  1. CAN数据传递终端

避免数据传输终了反射回来

  1. CAN数据总线

    传输数据的数据线,两根 CAN-high and CAN-low,差分信号

CAN总线系统的数据传输

 

CAN总线节点上的节点发送数据是以报文的形式广播给网络中所有节点。收发器接收到数据就把数据传送给控制器,再由控制器检查判断是不是所需数据。不是则忽略。

  • 网络上任何一个节点在任何时候都可以发送数据
  • 多个节点发送数据,优先级低主动退出发送
  • 短帧结构,每帧数据信息为0~8字节(具体用户定义),对数据编码而不是地址编码
  • CAN每帧都有CRC校验和其他检验措施,严重错误的情况下具有自动关闭输出的功能

 

CAN总线系统数据格式

CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔

五种类型。

  • 数据帧

    结构上由7个段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。

帧起始、帧结束

仲裁段

显性隐性

总线仲裁

 

  • 从该分析过程得出结论是:帧ID值越小,优先级越高
  • 对于同为扩展格式数据帧、标准格式远程帧和扩展格式远程帧的情况同理。

    控制段

    数据段

    CRC段

    ACK段

     

    远程帧

    数据帧与远程帧的区别

     

    CAN-bus 错误类型

     

    过载帧

     

    帧间隔

     

posted @ 2018-08-23 12:01  isAndyWu  阅读(687)  评论(0编辑  收藏  举报