CAN总线数据链路层

CAN报文帧种类:

  • 数据帧:用于发送节点向接收节点传送数据,是使用最多的帧类型
  • 远程帧:用于接收节点向某个发送节点请求数据
  • 错误帧:用于当某节点检测出错误时向其他节点通知错误的帧
  • 过载帧:用于接收节点向发送节点通知自身接收能力的帧
  • 帧间隔:将数据帧或远程帧与前面的帧分离的帧

数据帧分为:标准帧和扩展帧。

数据帧结构的起始bit位是:帧起始

CAN总线数据链路层_第1张图片

CAN总线空闲时,总线保持隐性位状态。当数据帧发送到总线上时,数据帧的起始位-帧起始是一个显性位,也就是此bit位的值为0。当接收节点从总线上检测到显性位时,开始同步。

仲裁段:

CAN总线数据链路层_第2张图片

仲裁段的最主要内容是数据帧的ID。标准帧的ID长度为11 bits,扩展帧的ID长度为29 bits。

CAN通信的节点间采用多主通信方式。什么是多主通信?就是每个节点都可以根据自己的需要决定什么时候发送帧报文到总线上。但是,如果有多个节点同时往总线上发送帧消息时,会造成总线使用时的冲突,此时就要决定哪条报文有优先发送权。

所以,CAN总线有一个总线仲裁处理机制。原理是:参与竞争的所有帧消息的ID的bit位从高到低在总线上采用线与的方式,得到的总线电平如果与帧消息的bit位不相同,则此帧消息退出竞争

你可能感兴趣的:(【付费专栏】汽车通信协议,CAN)