详解CAN总线:什么是CAN总线?

      最后更新:2022-08-02 16:42:25 手机定位技术交流文章

      目录

      1、CAN总线简介

      2、CAN节点组成

      3、CAN总线结构

      CAN巴士的物理电特性

      在前面的演讲中,我分享了一系列的文章来理解:SPI协议,I2C协议,PID算法,Modbus协议等。还考虑了写一篇关于CAN总线协议的文章的可能性,但后来的研究发现,发现CAN总线协议是庞大而复杂的,作为新入的汽车电子工业发展小白,文章很难清晰地解释,所以决定在自动电子栏中链接,分享CAN总线协议的信息。

      由于我也是在研究和研究阶段,如果有关于CAN巴士协议不能理解的地方,请在消息的末尾指出。

      BOSCH CAN标准原版V2.0 - 嵌入式文档类资源

      CAN ISO11898综合协议-嵌入式文档类资源

      NXP—CAN Bit Timing Requirements-行业报告文档类资源

      TI-Introduction to the Controller Area Network(CAN)-行业报告文档类资源

      1、CAN总线简介

      CAN总线协议(Controller Area Network),控制器局域网总线,是德国BOSCH( 博世 公司开发的一系列通信协议巴士,它可以使用双线传输信号,它是世界上最广泛使用的现场巴士之一。

      CAN通信协议标准(ISO-11898:2003)描述了设备之间如何传输信息,以及哪些层件符合开放系统互连参考模型(OSI)。实际CAN通信是在连接设备的物理介质中进行的,物理媒体的特性由模型中的物理层定义。ISO11898系统结构定义了七层,OSI模型的最低两个层是数据链层和物理层。如下图所示:

      • LLC用于接收滤波器、过载通知和答复管理;
      • MAC用于数据封锁/脱封锁、帧编码、媒体访问管理、错误检测和标签、响应、序列传输/交换;
      • PLS用于解码/解码,解码时间和同步;
      • PMA是接收器的特征。

      CAN协议主要用于汽车的各个组件之间的通信,取代昂贵和繁琐的配线包。该协议的鲁棒性使它同样适用于自动化和工业环境。

      CAN总线协议距今已经发展40多年,如今,CAN总线已成为汽车(汽车、卡车、公共汽车、拖拉机等)、轮船、飞机、电动汽车电池、机械等的标准配置。

      • CAN以前的版本:汽车ECU是复杂的点到点线
      • 1986年:BOSCH( 博世 )开发了CAN协议作为解决方案
      • 1991年:BOSCH( 博世 )发布了CAN 2.0(CAN 2.0A:11位,2.0B:29位)
      • 1993年:CAN成为国际标准(ISO11898)
      • 2003年:ISO11898成为标准系列
      • 2012年:世博发布CAN FD 1.0
      • 2015年:CAN FD协议标准化(ISO 11898-1)
      • 2016年:CAN物理层,数据速度最大5Mbit/s,ISO11898-2标准化

      高级学习: CAN在自动化中的应用 ( CiA ) : CAN技术的历史 ( can - cia )

      CAN巴士具有以下特点:

      • 符合OSI开放通信系统参考模型;
      • 双线总线结构, 电信号差;
      • 多域控制,当总线闲置时,所有单元可以开始发送消息,首先访问总线的单元可以给予发送权;当多个单元同时开始发送时,发送高度优先ID消息的单元可以给予发送权;
      • 点对点控制,点对多点和全球广播多种传输方式接收数据,网络上的节点可以分为不同的优先次序,可以满足不同的实时要求;
      • 采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据
      • 消息消息不包含源地址或目标地址,只通过标识符显示消息的功能和优先次序;
      • 基于固定消息格式广播总线系统, 短帧结构;
      • 事件触发类型,节点只在发送消息时发送消息到主行;
      • 请求远程帧发送数据到其他节点;
      • 消息数据长度0~8字节;
      • 节点数可达110个;
      • 错误检测功能:所有节点可以检测错误,检测错误的单元会立即通知其他单元;
      • 发送错误消息后节点将自动重新出现;
      • 故障限制,具有自动关闭总线的功能,节点控制器可以判断错误是暂时的数据错误还是持续性错误,当总线上发生持续数据错误时,控制器可将节点从总线上隔离,以使总线上的其他操作不受影响;
      • 通信媒体可以使用双线、轴线和光纤导体,通常是最廉价的双线;
      • 理论上,CAN总线可以与单一信号线通信,但仍装有第二导体,第二导体和第一导体信号作为差价关系,可以有效地抑制电磁干扰;
      • 直通通信距离最大10KM(在4Kbps速度内),最大通信速度最大1MB/s(此时距离为40M);
      • 总线上可同时连接多个节点,可连接节点总数理论上是没有限制的,但实际可连接节点数受总线上时间延迟及电气负载的限制。
      • 每个帧信息都有CRC校正和其它误差检索措施,数据误差率很低;
      • 废除传统的站址编码,相反,它编码了通信数据块。该方法的优点是,网络中的节点数在理论上是无限的。数据块的识别码可以由11位或29位二进制数字组成,因此,可以定义211或229个不同的数据块,该数据块编码方法,它还允许不同的节点同时接收相同的数据,这在逐步控制方面非常重要。

      CAN巴士具有以下具体优势:

      2、CAN节点组成

      CAN节点通常由三个部分组成: CAN接收器、CAN控制器和MCU。

      CAN总线通过差信号传输数据,CAN接收器将差信号转换为TTL平行信号,或TTL平行信号转换为差信号,CAN控制器接收TTL平行信号并将其传输到MCU,如图所示:

      目前,CAN控制器被集成到通常使用的单片机内,如STM32、WAN、RISA等,并可以通过配置读取和发送到CAN消息数据。

      3、CAN总线结构

      CAN巴士是一种广播型巴士,它支持线性拓扑、星系拓扑、树系拓扑和圆形拓扑。CAN网络至少需要两个节点设备来通信。不能仅向特定节点设备发送消息,在传输数据时, 所有节点必然接收所有流量.但是,CAN总线硬件支持本地滤波,因此,每个节点可以配置以响应有效的消息。

      线形拓扑是在一条主干总线分出各个节点支线,其优点在于布线施工简单,接线方便,阻抗匹配规则固定,缺点是拓扑不够灵活,在一定程度上影响通讯距离,如下图所示:

      星系拓扑是一个通过中央设备连接的每个节点的拓扑,其优点是易于扩展,缺点是一旦中央设备失败,总线会集体失败,分支线长度不同,抗力匹配复杂,可能需要通过一些继电器或收集器扩展,如图所示:

      树形拓扑是节点分支比较多,且分支长度不同,其优点是布线方便,缺点是网络拓扑复杂,阻抗匹配困难,通讯中极易出现问题,必须加一些集线器设备,如下图所示:

      环形拓扑是由连接CAN总线头和尾部组成的环形拓扑,其优点是电缆可以在任何位置中切断,而总线没有问题。缺点是信号反射严重,不能用于高带宽和长距离传输。

      虽然CAN总线可以支持多个网络拓扑,但建议在实际应用中使用线性拓扑,同时IOS 11898-2的高速CAN物理层规范也建议用于线性拓扑。

      在ISO 11898-2和ISO 11898-3中,指定了两个CAN总线结构(在BOSCH CAN2),0规范中没有描述总线拓扑结构。

      ISO 11898-2中定义了通信速率为125Kbps~1Mbps的高速闭环CAN通信标准,当通信总线长度≤40米,最大通信速率可达到1Mbps,高速闭环CAN(高速CAN)通信如下图所示:

      ISO 11898-3定义了一种低速开环CAN通信标准,其传输速率为10—125Kbps,如果传输速率为40Kbps,总线距离可以达到100m。 以下图示了低速开环CAN(低速故障容忍CAN)通信:

      CAN巴士的物理电特性

      在CAN总线上,CAN信号由CAN_H和CAN_L线之间的电压差表示。CAN 总线上的电位差分为显性电平(Dominant Voltage)和隐性电平(Recessive Voltage),其中,显而易见的电解是逻辑的0,无形电解体是逻辑的1。

      高速CAN巴士(ISO11898-2,传输可视 (0)信号时,通信速度为125Kbps至1Mbps,可提升CAN_H端到5V高压水平,拖动CAN_L到0V低压水平。当发送隐藏信号时,不能驱动CAN_H或CAN_L端。可视信号CAN_H和CAN_L之间的差值表示2V的电压。当端子阻尼器不驱动时,降低差压到0V.可视信号(0)的共模电压必须在1.5V至3V之间。可视信号的共模电压(1)必须为 +/-12V。

      低速/容错CAN(ISO11898-3,传输可视信号时通信速度为10至125Kbps,驱动CANH最终达到5V,降低CANL端到0V.当发送隐藏信号时,CAN总线的任何端子都不驱动(1)。当电源电压VCC为5V时,可见信号差压必须超过2.3V,无形信号的差幅电压必须小于0.6V。当CAN巴士的两端没有驱动时,端口电阻返回CANL端到RTH电压(当电源电压VCC为5V时,RTH电压至少为Vcc-0.3V=4.7V),同时,CAN H端返回RTL电压(RTL电压最大0.3V)。两条线路必须能够承受27V至40V之间的电压,而不受损。

      在高速和低速CAN中,从可视信号到可视信号的转换速度是更快的,因为CAN电缆被主动驱动,而从可视信号到可视信号的转换速度主要取决于CAN网络的长度和电缆的容量。

      有关高速和低速CAN的知识将在稍后的特别文章中解释。请期待

      拓展学习:

      CAN巴士技术简介?

      为什么CAN巴士分支长度不能太长?

      一个CAN巴士的拓扑 、 物理电路 、 发展历史详细说明.

      CAN巴士第一课-物理层

      CANISO 11898综合协议-嵌入式文档类资源

      BOSCH CAN标准原版V2.0 - 嵌入式文档类资源

      NXP—CAN Bit Timing Requirements-行业报告文档类资源

      TI-Introduction to the Controller Area Network(CAN)-行业报告文档类资源

      CAN_E: Learning Module CAN (vector.com)

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/31310.html

          热门文章

          文章分类