tms570 can 接收大量数据_一文搞懂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”。物理层特征如下图所示。

76feb5f931e3370dcc6384468ad352c7.png


CAN帧的种类 CAN帧总共分为5种类型: 1、数据帧:用于发送节点向接收单元发送数据; ed824ecdec08caf60aefc1204430a238.png 2、遥控帧:用于接收节点向具有相同ID的发送节点请求数据;

6a3c02797263ba6f8255877f102709de.png

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

403964c5d5cccaed95b95f2d4a039096.png

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

d67421db73390b3d0489eb78fa84af93.png

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

c722c396f735c1a295b57f2366dac123.png


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

22331b64f68a6485628abfe5cd3be034.png

1、帧起始

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

682fb5b29f49984c0568b6750fd43134.png

2、仲裁段

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

799373c3d369d540cebbc15f423ca22f.png

3、控制段

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

4d0ae7e60bdac05d9f4a183837070af6.png

4、数据域

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

fcd44e8817805cd27fcd7da133c5e7b6.png

5、CRC域

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

00842d3ec022360812c860a584e9f7c1.png

6、ACK域

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

be22dc0665cbc568dec3a300efa1268e.png

7、帧结束

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

07d1c66a38b157e6be942c97e11672ca.png

免责声明:文章整理于网络,侵删 推荐阅读CAN总线错误处理机制基于CAN的刷写流程CAN消息中的Motorola和IntelCAN一致性测试是什么

8558a7f065b9e5734c66a341fe2de8c1.png

点个“在看”再走!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值