LIN总线增强型校验_一文搞懂CAN总线

最近在整理总线的基本知识,前几天对LIN总线进行了整理—>LIN总线。今天来整理一下CAN总线,首先回顾一下之前写过的CAN相关的文章。

  1. CAN总线错误处理机制
  2. 基于CAN的刷写流程
  3. CAN消息中的Motorola和Intel
  4. CAN一致性测试是什么

CAN历史

1983年,BOSCH开始着手开发CAN总线;

1986年,在SAE会议上,CAN总线正式发布;

1987年,Intel和Philips推出第一款CAN控制器芯片;

1991年,奔驰 500E 是世界上第一款基于CAN总线系统的量产车型;

1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);

1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:

ISO 11898-1:数据链路层协议

ISO 11898-2:高速CAN总线物理层协议

ISO 11898-3:低速CAN总线物理层协议

注意:ISO 11898-2和ISO 11898-3物理层协议不属于 BOSCH CAN 2.0标准。

2012年,BOSCH发布 CAN FD 1.0 标准(CAN with Flexible Data-Rate),CAN FD定义了在仲裁后使用不同的数据帧结构,从而达到最高 12Mbps 数据传输速率。CAN FD与CAN 2.0协议兼容,可以与传统的CAN 2.0设备共存于同样的网络。

CAN总线特点

CAN总线是一种串行数据通讯协议,具有对数据的位填充,数据块编码,循环冗余校验,帧优先级的判别等功能。其主要特点如下:

1、多主控制:在总线空闲时,所有节点都可以发送消息,最先访问总线的节点获得发送权,或当同时发时,高优先级ID获得发送权;

2、系统的柔软性:在CAN局域网内,增加节点不影响局域网内其他节点;

3、远程数据请求:可通过发送“遥控帧”请求其他节点发送数据;

4、错误检测功能、错误通知功能、错误恢复功能 ,CAN错误可以回顾CAN总线错误处理机制,对CAN故障及恢复有详细的讲解。

5、远程数据请求:可通过发送“遥控帧”请求局域网内其他节点发送数据。

总线拓扑

CAN总线采用双线传输,两根导线分别作为CAN_H、CAN_L,并在终端配备有120Ω电阻。收到总线信号时,CAN收发器将信号电平转化为逻辑状态,即CAN_H与CAN_L电平相减后,得到一个插值电平。总线上执行逻辑上的线“与”,显性电平为“0”,隐性电平为“1”。物理层特征如下图所示。

f772939c9b69ab28f7d048e8dca62fdb.png

CAN帧的种类CAN帧总共分为5种类型:1、数据帧:用于发送节点向接收单元发送数据;

ca831f648e700e5e911153754f47c18f.png

2、遥控帧:用于接收节点向具有相同ID的发送节点请求数据;

c05c1f3e19051f1ae75b3474e76c3d48.png

3、错误帧:用于当检测到错误时向其他节点通知错误;

fb7858aed91d5d039f6020e5dec3c5bb.png

4、过载帧:用于接收节点通知其尚未做好接收准备;

c04a27e92dbf03b5b3b20d7fae76412d.png

5、帧间隔:用于将数据帧及遥控帧与前面的帧分离开;

718e0454cd9ce13dc2bc86e943fe6208.png

数据帧的帧结构数据帧构成如下图所示,其由7部分构成。

c15cdef6826b0a6ae36f64586379888e.png

1、帧起始

在总线空闲时,总线为隐性状态。帧起始由单个显性位构成,标志着报文的开始,并在总线上起着同步作用。

34f9de3b7d717d99ed6daf06cb2ce899.png

2、仲裁段

仲裁的主要是定义了报文的标识符,也俗称ID。在CAN2.0A规范中,标识符为11位,而在CAN2.0B中变为了29位。这意味着在2.0B中可以存在更多不同类型的报文,但是也降低了总线的利用率。

1697412f8298d7c3a1a22e3342deaa00.png

3、控制段

主要定义了数据域字节的长度。通过数据长度码,接收节点可以判断报文数据是否完整。

f24a0a36db415cc099d9193fca03dde5.png

4、数据域

包含有0~8个字节数据。

4b3effdee0cb87bb1cd1fb45626426fb.png

5、CRC域

CRC又称循环冗余码校验,是检查帧传输错误的帧。由 15 个位的 CRC 顺序和 1 个位的 CRC 界定符组成,其CRC的计算范围包括帧起始、仲裁段、控制段、数据段。

63d2ee4be35d2378d056bdd3370f2984.png

6、ACK域

用于接收节点确认是否正常接收,由ACK槽和ACK界定符组成。

15ff4fc79241203f188d6d3586cb1dbf.png

7、帧结束

由连续的7个隐性位组成,表示报文帧的结束。

8b53ccce2ba6113a48c1b9379a5fb9e4.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值