CAN总线

作者: XKMar | 来源:发表于2018-01-04 15:42 被阅读14次

CAN是Controller Area Network 的缩写,是ISO国际标准化的串行通信协议。


CAN协议

CAN的通信是通过下列5种类型的帧进行的:

数据帧


用于发送单元向接受单元传送数据的帧。

数据帧的构成

帧起始:表示帧开始的段,由1个位的显性电平构成;

仲裁段:表示数据的优先级的段,扩展格式和标准格式在此构成不同;

控制段:由6位构成,表示数据段的字节数。保留位(r0,r1)必须全部以显性电平发送,接收方可以接收显性,隐形及其任意组合的电平。数据长度码(DLC)表示数据字节数(0~8),但是接收方对DLC = (9~15)的情况不视为错误;

数据段:数据段可包含(0~8)字节的数据,从MSB(最高位)开始输出;

CRC段:检查帧传输错误的帧,由15个位CRC顺序和1个位的CRC界定符构成。CRC顺序是指根据多项式生成的CRC值,计算范围包括帧起始、仲裁段、控制段、数据段;

ACK段:用来确认是否正常接收,由ACK槽和ACK界定符两个位构成。发送单元的ACK段发送2个位的隐形位,接收单元接收到正确数据时在ACK槽发送显性位;

帧结束:表示该帧的结束的段,由7个位的隐性位构成;

遥控帧


接收单元向发送单元请求发送数据所用的帧,遥控帧由6个段构成,没有数据帧的数据段。遥控帧的RTR位为隐性位

遥控帧的构成

帧起始:表示帧开始的段,由1个位的显性电平构成;

仲裁段:表示数据的优先级的段,可请求具有相同ID的数据帧;

控制段:由6位构成,表示数据段的字节数。保留位(r0,r1)必须全部以显性电平发送,接收方可以接收显性,隐形及其任意组合的电平。数据长度码(DLC)表示数据字节数(0~8),但是接收方对DLC = (9~15)的情况不视为错误;

CRC段:检查帧传输错误的帧,由15个位CRC顺序和1个位的CRC界定符构成。CRC顺序是指根据多项式生成的CRC值,计算范围包括帧起始、仲裁段、控制段、数据段;

ACK段:用来确认是否正常接收,由ACK槽和ACK界定符两个位构成。发送单元的ACK段发送2个位的隐形位,接收单元接收到正确数据时在ACK槽发送显性位;

帧结束:表示该帧的结束的段,由7个位的隐性位构成;

错误帧


用于接收和发送消息时检测出错误,并通知错误的帧,错误帧由错误标志和错误界定符构成。

错误帧

错误标志:包括主动错误标志和被动错误标志,主动错误标志是6个位的显性位,被动错误标志是6个位的隐性位;

错误界定符:由8个位的隐性位构成;

过载帧


用于接收单元通知其尚未完成接收准备的帧,过载帧由过载标志和过载界定符组成。

过载帧

过载标志:6个位的显性位,与主动错误标志的构成相同;

过载界定符:8个位的隐性位;

帧间隔


用来分离数据帧和遥控帧的帧,数据帧和遥控帧可以通过插入帧间隔将本帧和前面的任何帧分开。过载帧和错误帧前不能插入帧间隔。

帧间隔

间隔:3个位的隐性位;

总线空闲:隐性位,无长度限制,本状态下可视为总线空闲;

延迟传送:8个位的隐性位,只在被动错误状态的单元刚发送一个消息后,帧间隔中包含的段;


优先级的确定

在总线空闲阶段,最先开始发送消息的单元获得发送权;

在多个单元同时发送时,各发送单元从仲裁段的第一位开始仲裁,连续输出显性电平最多的单元可继续发送。

优先级的确定

1. 具有相同ID的数据帧和遥控帧在总线上竞争时,仲裁段的最后一位(RTR)为显性位的数据帧具有优先权。

2. 标准格式ID和具有扩展格式的ID的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的RTR位为显性位的具有优先权。


位填充

是为了防止突发错误而设定的功能,当同样的功能电平持续5位时,则添加一个位的反型数据。

位填充

发送单元的工作:在发送数据帧和遥控帧时,SOF~CRC段间的数据,相同的电平如果持续5位,则在在第6位插入与前5位相反的电平;

接收单元的工作:在发送数据帧和遥控帧时,SOF~CRC段间的数据,相同的电平如果持续5位,需要删除第6位数据。若第6位数据电平与前5位相同,则发出错误帧;


位时序

由发送单元在非同步的情况下发送的每秒中的位数称为位速率,一个位可以分为4段。这些段又由的最小时间单位构成。

段及其作用 1个位的构成

采样点是指读取总线电平,将读到的电平作为位值的点。

相关文章

  • CAN总线控制器如何进行验收滤波

    了解CAN总线的人都知道,CAN总线在的帧数据在总线上传送时,其它的CAN控制器是通过验收滤波来决定总线上的数据帧...

  • 汽车控制系统

    介绍一下CAN总线 CAN(Controller Area Network, CAN)控制局域网总线网络,是汽车控...

  • 电路识读39-车载网络(CAN)系统组成及电路图识读

    一、CAN总线的组成与功能 1.CAN 数据传输总线系统的组成 以马自达6 汽车为例介绍CAN总线系统结构与原理。...

  • Arduino CAN总线实验结果

    CAN总线实现方案 CAN总线节点框架主要由三部分组成: MCU,应用控制器; CAN控制器,总线控制器,往往通过...

  • CAN总线

    CAN(Contronller Area Network)控制器局域网,是一种能够实现分布式实时控制的串行通信网络...

  • CAN总线

    CAN是Controller Area Network 的缩写,是ISO国际标准化的串行通信协议。 CAN协议 C...

  • CAN总线

    1、什么是CAN总线 通俗的讲:CAN总线就是一种总线形式,通信用的,比如咱们用的网线,就是一种总线形式,网线就是...

  • 记录

    something about CAN/LIN总线 汽车的控制单元间通过CAN/LIN总线进行数据交换 LIN是主...

  • can的ACR和AMR

    can的ACR和AMR can总线中有ACR和AMR。他们是CAN总线实现点对点,一点对多点的重要寄存器。其中AM...

  • 小电阻之大作用——CAN终端电阻

    CAN总线终端电阻,顾名思义就是加在总线末端的电阻。此电阻虽小,但在CAN总线通信中却有十分重要的作用。 终端电阻...

网友评论

    本文标题:CAN总线

    本文链接:https://www.haomeiwen.com/subject/rfirsxtx.html