干货知识!CAN详解,错误数据格式坑&优先级&电阻&报文数量!

什么是CAN(控制器局域网)

控制器局域网 (Controller Area Network,简称CAN或者CAN bus) 是一种功能丰富的车用总线标准。被设计用于在不需要主机(Host)的情况下,允许网络上的单片机和仪器相互通信。 它基于消息传递协议,设计之初在车辆上采用复用通信线缆,以降低铜线使用量,后来也被其他行业所使用。CAN创建在基于信息导向传输协定的广播机制(Broadcast Communication Mechanism)上。其根据信息的内容,利用信息标志符(Message Identifier,每个标志符在整个网络中独一无二)来定义内容和消息的优先顺序进行传递,而并非指派特定站点地址(Station Address)的方式。因此,CAN拥有了良好的弹性调整能力,可以在现有网络中增加节点而不用在软、硬件上做出调整。除此之外,消息的传递不基于特殊种类的节点,增加了升级网络的便利性。

优势及特点

特点:

1.CAN是一个用于连接电子控制单元(ECU)的多主机串行总线标准。电子控制单元有时也被称作节点。CAN网络上需要至少两个节点才可进行通信。节点的复杂程度可以只是简单的输入输出设备,也可以是包含有CAN交互器并搭载了软件的嵌入式组件。所有节点通过两根平行的总线连接在一起。两条电线组成一条双绞线,并且接有120Ω的特性抗。

2.数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序。

3.多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞。

4.通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M)。

5.CAN总线传输介质可以是双绞线,同轴电缆,CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。

优势:

1.可在各节点之间实现自由通信:CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。

2.结构简单:只有2根线与外部相连,并且内部集成了错误探测和管理模块。

3.数据纠错:采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作,每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用。

4.完成对通信数据的成帧处理:CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

5.节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响,可以点对点,一对多及广播集中方式传送和接受数据。

CAN总线的数据格式与基本工作原理

数据格式:

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

2.数据帧:结构上由7个段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)结构上由7个段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。标准帧为11位,扩展帧为29位。这也是我们在使用中接触最多的格式。

3.远程帧:与数据帧相比没有数据段,结构上由7个段组成。当你需要总线上的一个节点向你发送数据,使用次节点的ID,发送一帧远程帧。

4.错误帧:虽然CAN总线是可靠性很高的总线,但是依然会出错:CAN总线上会出现5种错误。

5.过载帧和帧间隔:过载帧:当某个节点没有做好接收下帧数据将发送过载帧通知节点。帧间隔:只存在于数据帧与远程帧之间,用于帧之间的分离。

基本工作原理:

跟其他总线一样,CAN总线的通信也是通过一种类似于“会议” 的机制实现的,只不过会议的过程并不是由一方(节点)主导,而 是,每一个会议参加人员都可以自由的提出会议议题(多主通信模式),二者对应关系如下:

仲裁与优先级

假设节点A、B和C都发送相同格式相同类型的帧,如标准格式数据帧,它们竞争总线的过程是

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

CAN总线上的电平

CAN2.0A/B标准规定:总线空闲:CAN_H和CAN_L上的电压为2.5V

传输数据: 显性电平(逻辑 0):CAN_H 3.5V,CAN_L 1.5V

隐性电平(逻辑 1):CAN_H 2.5V,CAN_L 2.5V

CAN收发器:

照BOSCH CAN总线标准将0或1逻辑信号转换为标准中规定的电平,同时有反馈功能。

CAN总线的硬件抗干扰:

(1)在电路中增加共模电感。

(2)使用更高精度的电阻。

注意:并不是每个节点都需要增加电阻,只需要在总线相聚最远的两个节点使用电阻即可。

电阻也不是固定的120欧姆,根据导线的材质有关。

CAN总线负载率计算

计算例子:

假设CAN总线波特率为250Kbit/s,总线报文发送时间间隔为10ms, 报文为数据帧(8个字节数据),那么10ms内总线能够支持的最大报文数量为多少?

第一步:根据通信波特率计算10ms总共可以发送多少bit (250000/1000)*10 = 2500bit

第二步:计算最长的一帧报文有多少个bit

1sof + 29id + 1ide + 1rtr + 1srr + 2r + 4dlc + 8*8data

+ 16crc + 2ack + 7eof = 128bit

第三步:计算10ms内可以支持的报文数目

2500/128 ≈ 19

结论:

由上面的计算可知,当10ms间隔的报文数量超过19条时,就会出现丢帧,总线饱和。计算报文数量也是设计CAN网络所要考虑的,可以查阅相关文献看负载率在多少时合适!

(0)

相关推荐

  • CAN总线学习笔记(2)- CAN协议数据帧、遥控帧、错误帧

    本专辑是依照瑞萨公司<CAN入门书>的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成的笔记.希望对初学者有所帮助. 01 CAN 协议中的帧 在了解CAN ...

  • 【干货】PPT详解丨汽车底盘基础知识

     智 享 导 读  GEAR SHARE 本文提供PDF下载,进入公众号,回复关键词"原文"获取下载路径. 免费资料包下载: [干货合集]底盘篇丨系统集成 -  正文 - 说明:文 ...

  • 计算机核心理论知识全详解

    我们每个程序员或许都有一个梦,那就是成为大牛,我们或许都沉浸在各种框架中,以为框架就是一切,以为应用层才是最重要的,你错了.在当今计算机行业中,会应用是基本素质,如果你懂其原理才能让你在行业中走的更远 ...

  • 电脑基础进阶必学知识,详解电脑主板跳线!

    在DIY装机时新手总会有不同的问题,虽然目前网上流传着各种版本的教学文章或者视频,但是细致的小技巧讲解还是有限,不少网友在装机的时候虽然大致明白各个硬件的组合,但是在跳线的环节可以难住了不少的人,也挡 ...

  • 「干货分享」详解茶山秘境易武凤凰窝普洱茶

    易武国有林包括帕溪河的香椿林,瑶族丁家寨的弯弓.白茶园.凤凰窝,高山寨的芭蕉林.蛮秋摆,上中山的铜箐河,布龙河的百花潭,以及刮风寨.' '刮风寨再进行细分有茶王树.白沙河.冷水河.茶坪.还有西双版纳第 ...

  • 京胡的《基础知识》详解!

    京胡,又称胡琴.拉弦乐器. 清代中叶以来,随着京剧的形成,在民间传统拉弦乐器基础上改制而成.早期琴杆短.琴筒小,蒙蟒皮或蛇皮,张丝弦,用软弓拉奏,称软弓胡琴.十九世纪后出现硬弓.二十世纪上半叶形成今日 ...

  • 图文并茂展示二十六种宝石 知识寓意详解!

    珍珠--水韵精灵 珍珠选购标准有.颜色:珍珠的颜色很多,其中以白色稍带玫瑰红色为最佳,以蓝黑色带金属光泽为特佳,但若见到明显的黑色.灰色珍珠,就应引起警惕,有可能是染色珠.光泽:光泽越强,质量越佳.由 ...

  • 财经知识分享-详解火热的华为鸿蒙系统是什么?

    财经知识分享-详解火热的华为鸿蒙系统是什么? 最近股票的软件概念炒得火热,特别是润和软件短短两周时间股价已经翻倍,那么是什么原因导致的呢,为此我也特意去研究了一下,给大家答疑解惑,下面跟大家来聊聊最新 ...

  • 干货贴:详解分水岭梗死部位及分型

    在一个神经内科初学者的眼里,分水岭梗死是变化莫测的,各种不同的部位总是让人眼花缭乱,为了完美应对主任提问,现整理了分水岭梗死部位及分型,为迷宫似的分水岭梗死寻一条出路. 分水岭梗死以大脑半球常见,小脑 ...

  • 陈红平:奇门遁甲基础知识全套详解

    昨天写了一个奇门读象的技法,有奇门易友反馈写的太干了,说目前市面上没有人会把这些技法说出来. 这是肯定的,毕竟奇门技法不象现代的一些技术存在过期的可能,这套技法学会了一生都会了,只会越来越精进. 说的 ...