发布询价单
您的位置:首页 > 资讯 > 企业动态 > 正文

科普:了解 CAN 总线的综合指南

2024-02-04 13:39 性质:原创 作者:Mulan 来源:AGV
免责声明:无人机网(www.youuav.com)尊重合法版权,反对侵权盗版。(凡是我网所转载之文章,文中所有文字内容和图片视频之知识产权均系原作者和机构所有。文章内容观点,与本网无关。如有需要删除,敬请来电商榷!)

CAN 总线结构

CAN 总线系统的结构 [6] 设计用于促进多个节点之间的高效通信。最基本的 CAN 总线系统由两条线路组成,即 CAN-高(或 CANH)和 CAN-低(或 CANL),连接到系统中的所有节点。这两条线路传输代表传输数据的差分信号。

图 2.CAN 总线结构

系统中的每个节点都有一个收发器(或 CAN 收发器)和一个控制器(或 CAN 控制器),前者负责与总线线路连接,后者负责处理数据成帧和错误检查。CAN 收发器负责将 CAN 控制器的数字信号转换为总线上的差分信号,反之亦然。控制器则负责创建包含待传输数据的帧,并检查接收到的帧是否有误。

节点

在 CAN 总线系统中,节点指的是与总线相连并能发送和接收报文的任何设备。每个节点都有自己的控制器和收发器,以便与总线连接。节点可以是任何设备,从简单的传感器或执行器到复杂的设备,如发动机控制单元(ECU)。

只要总线空闲,CAN 总线系统中的每个节点都会传输数据。数据以帧的形式发送,帧中包含数据以及表示信息内容的标识符。总线上的所有其他节点都会收到该帧,并根据标识符值决定是否接受该帧。

CAN 总线系统中的节点还负责错误检测。每个节点都会使用多种方法检查接收到的帧是否存在错误,包括位监控和帧检查序列。如果一个节点检测到错误,它就会传输一个错误帧,提醒所有其他节点注意该错误。

总线线路

在 CAN 总线系统中,总线线路是节点之间传输数据的物理介质。有两条总线线路,即 CAN-High 和 CAN-Low,它们携带互补信号。这些总线通常被绞合在一起,形成一对双绞线,这有助于减少电磁干扰和提高信号完整性。

CAN 总线系统中使用的差分信号具有以下几个优点:

共模噪声:确保总线线路接收到的任何噪声对两条线路的影响相同,从而提高抗噪声能力。由于接收节点只关心两条线路上的电压差,因此这种共模噪声被有效抵消。

减少磁场:互补信号的使用意味着一条线路上的电流与另一条线路上的电流相等且相反。这就减少了电流产生的净磁场,进一步降低了电磁干扰。

总线线路的两端使用电阻器(通常为 120 欧姆)进行端接,以匹配线路的特性阻抗。这种端接对于防止信号反射至关重要,信号反射会导致数据传输错误。在某些情况下,还可使用称为偏置电阻器的附加电阻器,以确保总线线路在无节点传输时处于已知状态。

总线线路的长度和与之相连的节点数量会影响 CAN 总线系统的性能。较长的总线线路和较多的节点会导致电容增加,从而减慢信号的上升和下降时间。这反过来又会限制总线上可实现的最大数据传输速率。为缓解这一问题,CAN 总线规范定义了不同的数据传输速率和最大总线长度,使系统设计人员能够根据具体应用选择合适的组合。

CAN 协议

CAN 总线是公认的数据通信国际标准。CAN 总线通信系统使用多种协议 [7],每种协议都有自己的特点和功能。这些协议定义了数据传输规则,包括帧格式、数据速率和错误处理。要为特定应用选择合适的协议,了解这些协议之间的差异至关重要。

使用最广泛的 CAN 总线协议是 CAN 2.0A、CAN 2.0B(也称为传统 CAN)和 CAN FD(灵活数据速率)。这些协议都建立在 CAN 总线系统的基本原理之上,并增加了新的特性和功能,以满足汽车和工业应用不断发展的需求。

CAN 协议 2.0A 和 2.0B

经典 CAN(即 CAN 2.0A 和 CAN 2.0B)是两个密切相关的协议,主要区别在于其标识符字段的长度。CAN 2.0A 也称为标准 CAN,使用 11 位标识符,而 CAN 2.0B 或扩展 CAN 使用 29 位标识符。标识符长度上的这种差异(如图 1 所示)对数据传输有若干影响。下面我们来谈谈几个基本影响:

适用于复杂系统:CAN 2.0B 中较长的标识符允许使用更多的唯一报文标识符,这在具有许多节点和数据类型的复杂系统中非常有用。不过,较长的标识符也会增加帧的长度,从而降低总线上可实现的最大数据传输速率。

更精细的优先级:CAN 2.0B 中更长的标识符为报文的优先级排序提供了更多机会。由于较低的标识符值在 CAN 总线系统中具有最高的优先级,CAN 2.0B 标识符中的额外位允许对报文优先级进行更精细的控制。

灵活性:在 CAN 2.0A 和 CAN 2.0B 中使用不同长度的标识符会影响设备之间的兼容性。虽然 CAN 2.0B 设备通常可以与 CAN 2.0A 设备进行通信,但情况并非总是如此。这是因为 CAN 2.0B 帧中较长的标识符可能会导致设计上不适合处理这些标识符的 CAN 2.0A 设备出错。

图 3.CAN FD 数据框图

CAN FD(灵活数据速率)是 CAN 总线协议系列(2012 年)的最新成员,旨在解决 CAN 2.0A 和 CAN 2.0B 的一些局限性。CAN FD 的主要优点是能够支持更高的数据传输速率和更大的数据有效载荷,因此非常适合需要更快通信速度和更大数据吞吐量的现代汽车和工业应用。

CAN FD 通过对 CAN 总线协议引入两个关键变化来实现这些改进:

可变数据速率:它允许在单帧传输过程中采用可变数据速率。这意味着,在节点争夺总线访问权的仲裁阶段,可以采用较低的数据传输速率,以确保通信的稳健性,而数据有效载荷则以较高的数据传输速率传输,以提高吞吐量。这在电噪声环境中尤其有用,因为较低的数据传输速率可以提供更好的抗噪能力。

灵活的数据字段大小:CAN FD 将帧中数据字段的最大大小从 CAN 2.0 的 8 字节增加到 64 字节。更大的数据有效载荷可以提高数据传输效率,因为传输相同数量的信息所需的帧数更少。这对于需要快速传输大量数据(如高分辨率传感器数据或软件更新)的应用尤其有利。

向后兼容性:尽管有这些改进,CAN FD 仍保持了与 CAN 2.0A 和 CAN 2.0B 设备的向后兼容性。这是通过使用与 CAN 2.0B 相同的帧格式实现的,但增加了一个新的控制字段,用于指示该帧是 CAN FD 帧还是标准 CAN 2.0B 帧。这样,CAN FD 设备就可以与 CAN 2.0A 和 CAN 2.0B 设备在同一总线上共存,但 CAN FD 的更高数据传输速率和更大数据有效载荷只有在与其他 CAN FD 设备通信时才能使用。

CAN 总线变体

CAN 总线的物理层和数据链路层功能与 RS-485 类似。必须认识到,有两种广泛使用的 CAN 总线规格。一听到 "CAN 总线 "一词,几乎每个人都会立即想到 ISO 11898-2 标准,也称为高速 CAN。CAN 协议有两种变体,即高速 CAN 和低速 CAN,每种变体都是为了满足特定的通信要求而设计的。

高速 CAN 适用于需要实时和快速数据交换的用途。最大数据传输速率可达 1 Mbps。高速 CAN 的典型电压值确保了通信的可靠性,隐性状态下的电压值为 2.5V,显性状态下的电压值为 3.5V。这一点在嘈杂的工业和汽车环境中尤为重要。

图 4.高速 CAN 总线

相反,CAN 总线标准的容错和低速变体是 ISO 11898-3 或低速 CAN。它适用于对数据传输速率要求较低的系统,最高可达 125 Kbps。低速 CAN 采用与高速 CAN 相同的电压电平,即隐性状态约为 2.5V,显性状态约为 3.5V。与高速 CAN 不同的是,这里的电阻分散在每个节点上,而不是在总线的起点和终点使用两个终端电阻。

此外,低速容错 CAN 可以有多种不同的设计方式,例如星形总线、类似高速 CAN 的线性总线或由线性总线连接的多个星形总线。

图 5.低速 CAN 总线

CAN 总线在汽车中的应用

CAN 总线以其高效性和灵活性成为现代汽车工业不可或缺的一部分。它用于促进汽车内各种电子控制单元(ECU)和传感器之间的通信,实现众多子系统的无缝集成。CAN 总线在汽车系统中的一些主要应用包括发动机控制、安全系统、车身控制和信息娱乐系统。通过使用通用通信协议,CAN 总线简化了布线,降低了汽车电子结构的复杂性,从而减轻了重量,降低了制造成本,并使诊断更加容易。

发动机控制

CAN 总线在汽车系统中的主要应用之一是发动机控制。发动机控制模块(ECM)负责管理发动机运行的各个方面,如燃油喷射、点火正时和排放控制。为了执行这些任务,ECM 需要接收来自节气门位置传感器、氧传感器和曲轴位置传感器等各种传感器的数据,并向喷油器和点火线圈等执行器发送指令。

CAN 总线在促进 ECM 与其他设备之间的通信方面发挥着至关重要的作用。通过使用单一总线在 ECM 与各种传感器和执行器之间传输数据,CAN 总线简化了布线并减少了所需连接的数量。这不仅减轻了发动机控制系统的重量和复杂性,还提高了其可靠性和可维护性。

此外,CAN 总线的使用允许对发动机的运行进行实时监控。这使得 ECM 能够根据从传感器接收到的数据对发动机参数进行快速调整,从而确保最佳的性能、燃油效率和排放控制。此外,CAN 总线通信可实现先进的诊断功能,使技术人员能够快速识别和解决发动机控制系统的问题。

安全系统

CAN 总线通信在车辆安全系统的各种操作中发挥着至关重要的作用。这些系统依靠传感器、执行器和控制模块之间有效的数据交换来确保车内人员和其他道路使用者的安全。使用 CAN 总线的一些关键安全系统包括防抱死制动系统 (ABS)、电子稳定性控制系统 (ESC) 和高级驾驶员辅助系统 (ADAS)。

防抱死制动系统 (ABS) 的设计目的是防止在重制动时车轮抱死,否则会导致侧滑和失控。防抱死制动系统控制模块从车轮速度传感器接收数据,并利用这些信息调节施加到每个车轮上的制动力。通过 CAN 总线传输这些数据,ABS 控制模块可以快速、准确地调节制动力,确保最佳的制动性能和车辆稳定性。

电子稳定性控制系统(ESC)是另一个依靠 CAN 总线进行通信的安全系统。ESC 的设计目的是通过选择性制动和调整发动机扭矩来检测和纠正牵引力损失或车辆侧滑。ESC 控制模块从转向角传感器、偏航率传感器和车轮速度传感器等各种传感器接收数据,并利用这些信息确定适当的纠正措施。CAN 总线实现了 ESC 控制模块与其他设备之间的快速通信,使系统能够对不断变化的条件做出快速反应,并保持车辆稳定性。

高级驾驶员辅助系统(ADAS)包括自适应巡航控制、车道偏离警告和防碰撞系统等多种安全功能。这些系统依靠摄像头、雷达和激光雷达等各种传感器的数据来监控车辆周围的环境,并为驾驶员提供帮助。CAN 总线对于在 ADAS 控制模块和其他设备之间传输这些数据至关重要,可实现车辆安全系统的实时决策和控制。

通过促进这些系统之间的有效通信,CAN 总线有助于提高车辆的整体安全性,降低事故发生的可能性。

CAN 总线在工业领域的应用

CAN 总线除了在汽车系统中得到广泛应用外,在各种工业环境中也有应用。它的坚固性、可靠性和灵活性使其成为工业自动化和控制系统中设备间通信的理想选择。CAN 总线的一些主要工业应用包括机器控制、传感器网络和分布式控制系统。

机器控制

机器控制是工业自动化的一个重要方面,它需要电机、执行器和传感器等各种设备之间的精确协调,以确保高效准确的运行。CAN 总线可实现设备间的实时通信,并允许执行复杂的控制算法,因此非常适合实现这一目的。

在典型的机器控制应用中,中央控制模块(通常称为可编程逻辑控制器 (PLC))负责协调各种设备的运行。PLC 接收来自位置传感器、温度传感器和压力传感器等传感器的数据,并利用这些信息确定电机、阀门和电磁阀等执行器的适当操作。

CAN 总线促进了 PLC 与各种设备之间的通信,从而实现了快速数据交换和实时控制。通过使用单一总线进行通信,CAN 总线简化了布线,降低了机器控制系统的复杂性,从而降低了安装和维护成本。此外,CAN 总线精确的错误检测和处理能力确保了可靠的通信,即使在电气噪声较大的工业环境中也是如此。

在机器控制应用中使用 CAN 总线还能实现分布式控制和远程监控等高级功能。分布式控制实现了控制任务的分散化,系统中的每个设备都能根据本地数据做出决策。这可以提高系统的整体性能和灵活性,并减轻中央控制模块的负担。另一方面,远程监控使操作员能够从远程位置监控系统,提高效率并减少停机时间。

网友评论
文明上网,理性发言,拒绝广告

相关资讯

推荐图文

关注官方微信

手机扫码看新闻