控制器局域网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网络所要考虑的,可以查阅相关文献看负载率在多少时合适!


AI时代下 安防产业迎来新旧更替的机遇
CES | 富士康与 NVIDIA 展开合作,打造自动驾驶电动汽车
超声波传感器在自动扶梯行业的应用
以父之名,美国法律如何管到全球八成企业
变频器PID功能的使用
控制器局域网CAN概述、优势及特点
优化医疗电子制造的7个步骤
2016(第五届)中国信息化和工业化融合发展高峰论坛即将在北京举行
低压断路器的四大注意事项
符合PoE供电模块的网线该如何选择
一文详细了解三极管
英飞凌第一财季利润可观,鉴于汇率影响略微上调对2023财年的展望
电话机器人助力金融清收,高效处理不良资产
工业平板电脑主机与IO设备之间是如何工作的
机器学习和AI将如何帮助人类应对气候的无常变化
ANT8908/ANT8918内置高效率升压兼容HT8691R,10.5W单通道G类音频功率放大器
今年第三季度是半导体业拐点
Nordic扩展nRF70系列推出nRF7001 Wi-Fi 6协同IC为客户实现成本优化设计
推进“互联网+”便捷交通_促进智能交通发展的实施方案
开箱国货征拓SuperTank Pro 100W移动电源:支持固件更新