ttps://v.qq.com/x/page/g3129odlwl9.html
控制器局域网 (CAN) - 在汽车网络技术中,控制区域网络 (CAN) 标志着一个重要的里程碑。它已成为现代车辆中采用最多的网络协议之一,具有灵活性和鲁棒性。XecoV的这一部分深入探讨了CAN的基础知识并定义了CAN的特性,研究了其实际应用和局限性,并简要提到了现代替代方案。
CAN的基本概念和特点
控制器局域网 (CAN 总线) – 控制区域网络是一种车辆总线标准,旨在主要实现电子控制器 (ECU) 之间的高效通信。CAN总线协议最初是为了通过多路复用降低汽车布线的复杂性和成本而开发的,此后已在各种环境中得到应用。这种基于广播的面向消息的协议通过称为仲裁的过程确保数据的完整性和优先级,如果多个设备尝试同时发送数据,而其他设备则停止,则允许具有最高优先级的设备继续传输。差分信号增强了其可靠性,从而减少了电气干扰。CAN协议的流行版本包括CAN 2.0、CAN FD和CAN XL,它们能够支持不同的数据速率和最大数据负载大小。
在车辆中,CAN是一种串行通信总线,旨在实现设备(通常称为节点)之间高效、稳健的通信。任何设备都可以将数据传输到网络上的其他设备,这意味着CAN在多主机串行通信总线上运行。
主机微控制器、CAN收发器和CAN控制器包含在单个CAN节点中。微控制器的内部外设通常是CAN控制器。终端电阻器在完善两条信号线之间的电路和最大限度地减少线路上的潜在反射方面起着至关重要的作用。标准总线电压通常以 5V 电压工作,信号被组织成带或不带护套的双绞线。
数据速率:标准 CAN 的速度高达 1 Mbps,可传输数据。CAN FD(灵活数据速率)等较新版本有助于实现更高的数据速率。
故障处理:为了确保即使在电气干扰环境中也能保持稳健的通信,CAN具有广泛的故障检测和纠正功能,如CRC(循环冗余校验)、报文识别和位填充。
优先级管理:CAN 报文根据其 ID 进行优先级排序。通过仲裁程序可以实现消息传输的优先权,在仲裁程序中,ID号较低的消息被赋予更高的优先级,从而确保重要消息的早期传输。
保密性:虽然CAN本身并不安全,但它可以通过安全协议进行增强,以提高其保护级别。
标准化:为确保制造商之间的一致实施,CAN 在 ISO 11898 中进行了标准化。
CAN物理组织
CAN是一种多主机串行总线标准,用于连接电子控制单元(ECU),也称为节点(汽车电子是一个主要应用领域)。需要 CAN 总线上的两个或多个按钮才能进行通信。单个节点可以与简单的数字逻辑(如PLD)通过FPGA到运行大量软件的嵌入式计算机的设备进行通信。这种计算机也可以是一个端口,允许通用计算机(如笔记本电脑)通过USB或以太网端口与CAN总线上的设备进行通信。
CAN有几个不同的物理层可供您使用。这些物理层对 CAN 网络的某些方面进行分类,例如功率水平、信号方案、电缆阻抗、最大传输速率等。下面介绍了最常见和广泛使用的物理层:
低速容错CAN
低速CAN总线具有容错功能。国际标准化组织 11898-3
容错低速CAN:LS-CAN(最高125 kbit/s)具有容错性,并在ISO 11898-3和ISO-11992-1中进行了标准化。它可以使用线性总线、星形总线或由线性总线连接的多个星形总线进行部署。确定总端接电阻不小于100 Ω。LS-CAN在收发器上有终止电阻,而在电缆上没有。
低速CAN信号传输。国际标准化组织 11898-3
LS-CAN实现可以承受其中一个数据流上的开放性、短路和不正确的负载,因为它具有容错性。如果发生错误,网络将继续使用单条数据线运行。每个节点(而不仅仅是端点节点)的端到端电阻允许维持网络功能。通过相同的容错特性,数据速率限制为125 kbit/s。
高速 CAN
高速CAN总线。国际标准化组织 11898-2
HS-CAN是最流行的CAN实现,支持从40 kbit/s到1 Mbit/s的传输速率。在汽车系统中,最常见的速度是500 kbit/s。HS-CAN使用的一些管理标准和要求,包括:
ISO-11898-1、-2、-5
ISO-11783-2认证
SAE J1939
SAE J2284-1、-2、-3 CANopen
设备网络
MilCAN
电缆长度与传输速度有关,从1 Mbit/s时约40 m到40 kbit/s时约1 km不等。此外,与可以放置节点的中央CAN网络之间的距离(短截线长度)也与传输速度有关。汽车网络中的CAN网络短截线通常应小于1米。
具有灵活数据速率的 CAN (CAN FD)
CAN FD 是 ISO 11898-1 中规定的 CAN 总线协议的扩展。CAN FD允许ECU动态转换为具有更大或更小报文大小的不同数据速率。
一般来说,较慢的数据速率可以在同一个CAN框架内传输更多数据,并以优化的速度通过CAN总线传输这些数据。通过使用CAN FD,传感器数据和控制数据可以单独优化。ECU还可以更快地发送和接收数据。ECU执行发出的命令也更快地到达输出控制器。
由于 CRC 算法性能的提高,未检测到的错误更少。
与现有 CAN 2.0 网络的兼容性意味着 CAN FD 可以与经典 CAN 在同一网络上运行。
比特率最高可达 8MBit/s,收发器能够改善正确的 CAN 信号 (SIC),传输的数据比传统 CAN 多 8 倍。
单线CAN硬件
单线CAN接口可以以高达33.3 kbit/s的速度与设备通信(高速模式下为88.3 kbit/s)。单线 CAN 的其他名称包括 SAE-J2411、CAN A 和 GMLAN。汽车中的传统单线器件不需要高性能。常见应用包括座椅调节器和后视镜等舒适设备。
电气特性
无论是高速还是低速CAN,当从俯冲状态过渡到主导状态时,转换速率会更快,因为CAN线正在被主动控制。从显性状态到浸没状态的转变速度主要取决于CAN网络的长度和所用电线的电容。
高速CAN通常用于汽车和工业应用,在这些应用中,总线从环境的一端运行到另一端。当需要将节点组相互连接时,通常使用容错 CAN。
规范要求总线保持在最小和最大共模总线电压范围内,但没有具体说明如何使总线保持在此范围内。
CAN总线必须终止。需要使用终端电阻器来防止反射,并使总线恢复到浸没或非活动状态。
高速CAN在线性总线的两端使用120 Ω电阻。低速CAN在每个节点上使用电阻。其他类型的端接(如端接极化电路)在 ISO11783 中定义。
除了在四线电缆上提供 CAN 信号外,端接极化电路还提供电源和接地。该电路提供自动极化,并在每个总线段的每一端端接。ISO11783网络设计用于热插拔和移除总线段和ECU。
节点
每个节点都应具有:
中央处理器、微处理器或服务器处理器
服务器处理器确定它接收到的消息的含义以及它想要传达的消息。
传感器、执行器和控制设备可以连接到主机处理器。
CAN控制器 – 通常是微控制器的组成部分
接收:CAN控制器存储从总线接收的串行位,直到整个消息出现,然后主机处理器可以检索该消息(通常由CAN控制器触发中断)。
发送:主机处理器向CAN控制器发送传输消息,当总线空闲时,CAN控制器将顺序位传输到总线。
根据 ISO 11898-2/3 介质访问单元 [MAU] 定义的收发器
接收:将CAN总线级别的数据流转换为CAN控制器使用的级别。它通常有一个保护电路来保护CAN控制器。
传输:将来自CAN控制器的数据流转换为CAN总线电平。
每个节点都可以发送和接收消息,但不能同时发送和接收。消息或帧主要由一个 ID(标识符)和最多 8 个字节的数据组成,该 ID (标识符)指示消息的优先级。CRC、确认槽 [ACK] 和其他成本也是消息的一部分。改进的 CAN FD 将数据部分的长度扩展到每帧 64 个字节。消息使用零无返回 (NRZ) 格式按顺序传输到总线,所有节点都可以接收。
通过CAN网络连接的设备通常是传感器、执行器和其他控制设备。这些设备通过主机处理器、CAN控制器和CAN收发器连接到总线。
CAN协议术语
CAN设备通过CAN网络以称为帧的数据包形式发送数据。CAN框架由以下几部分组成。
CAN框架 – 整个CAN传输:仲裁ID、数据字节、确认位等。帧也称为消息。
SOF(帧开始)位 – 表示具有主导位(逻辑 0)的消息的开始。
仲裁 ID – 标识消息并指示消息的优先级。该框架有两种格式:标准格式(使用 11 位仲裁 ID)和扩展格式(使用 29 位仲裁 ID)。
IDE(标识符扩展)位 – 允许区分标准帧和扩展帧。
RTR(远程传输请求)位 – 用于区分远程帧和数据帧。主导 RTR 位(逻辑 0)表示数据帧。潜水 RTR 位(逻辑 1)表示远程帧。
DLC(数据长度代码) – 表示数据字段包含的字节数。
数据字段 – 包含 0 到 8 个字节的数据。
CRC(循环冗余校验) – 包含一个 15 位循环冗余校验代码和一个潜水分离符。CRC 字段用于检测错误。
ACK (ACKknowledgement) 插槽 – 任何接收正确报文的 CAN 控制器都将在报文末尾发送一个 ACK 位。发送按钮检查总线上是否存在 ACK 位,如果未检测到确认,则重试传输。
CAN信号 – 包含在CAN框架数据字段中的单个数据。您也可以将 CAN 信号称为通道。由于数据字段最多可以包含 8 个字节的数据,因此 CAN 帧可以包含 0 到 64 个单独的信号(对于 64 个通道,它们都是二进制的)。
版本
CAN 2.0(CAN经典)
由于其继承性,CAN 2.0 是使用最广泛的协议,但其最大有效载荷大小为 8 字节,典型传输速率为 500 kbit/s,因此不适合带宽密集型应用。经典CAN,包括CAN 2.0A(标准CAN)和CAN 2.0B(扩展CAN),在标识符字段长度上有根本区别:CAN 2.0A使用11位标识符,而CAN 2.0B使用29位标识符。CAN 2.0B中较长的标识符允许更多唯一的报文标识符,这在具有多个节点和数据类型的复杂系统中是有益的,但它也增加了帧长度,降低了最大数据速率。此外,由于可用的标识符更多,扩展标识符可以更好地控制消息优先级。但是,可能会出现兼容性问题,因为CAN 2.0B设备通常可以与CAN 2.0A设备通信,但不能与CAN 2.0A设备通信,因为在处理较长的标识符时可能会出错。高速CAN 2.0支持从40 kbit/s到1 Mbit/s的比特率,是更高层协议的基础。相比之下,低速 CAN 2.0 支持的比特率从每秒 40 kbits 到每秒 125 kbits,并通过允许通信继续进行,即使任一线路出现故障,每个节点都保持自己的端接,从而提供容错能力。
CAN FD(灵活数据速率)
CAN FD(灵活数据速率)是博世于 2012 年开发并发布的,根据 ISO 11898-1 进行标准化,旨在满足现代高性能车辆对数据传输日益增长的需求。它在单帧传输期间提供可变数据速率,允许仲裁阶段以较低的数据速率进行,以实现稳健的信息传输,而数据有效载荷以较高的数据速率传输以提高吞吐量, 在电气干扰环境中特别有用,具有更好的抗干扰能力。CAN FD还引入了灵活的数据字段大小,将最大大小从8字节增加到64字节。这种灵活性通过减少大数据传输所需的帧数来实现更高效的数据传输,这对于高分辨率传感器数据或软件更新等应用非常有益。
CAN FD使用与CAN 2.0B相同的帧格式保持与CAN 2.0设备的向后兼容性,并添加了一个新的控制字段,以指示帧是CAN FD帧还是标准CAN 2.0帧。这使得CAN FD设备可以与CAN 2.0设备在同一总线上共存,而更高的数据速率和更大的数据有效载荷只有在与其他CAN FD设备通信时才可用。
CAN XL系列
CAN XL 由 CiA 610-1 指定,并作为 ISO11898-1 的一部分进行标准化,支持高达 2,048 字节的有效载荷和高达 20 Mbit/s 的数据速率。它弥合了 CAN FD 和以太网 (100BASE-T1) 之间的差距,同时保持了 CAN 的冲突解决优势。CAN XL控制器还可以处理经典的CAN和CAN FD通信,确保在混合网络中的兼容性。其大数据字段允许更高层的协议,如IP(互联网协议)和以太网帧的隧道。
CAN在车辆中的应用
由于其多功能性和可靠性,CAN是各种应用的理想选择:
动力总成控制:发动机、变速箱和其他相关元件协调在一起。
底盘控制:集成了牵引力控制、ABS 和安全气囊系统等系统。
信息娱乐系统:多媒体、导航和车载娱乐设备均受到管理。
诊断工具:可以很容易地实时诊断潜在问题和车辆性能。
信息学和电信:可以实现车对基础设施 (V2I) 和车对车 (V2V) 通信。
车队管理:对于车队来说,集中监控是可能的。
CAN的局限性和现代替代方案
即使被广泛使用,CAN也有一些局限性:
有限的数据速率:现代应用程序需要以高于 1 Mbit/s 的速度传输数据。因此,传统的CAN数据速率对他们来说是不够的。
缺乏安全性:为确保通信安全,需要从外部添加安全功能,这可能会导致复杂的问题。
大型网络的复杂性:随着网络的增长,管理多个节点之间的通信可能会变得复杂。总线负载速度不应超过平均 50%,这表明在确保可靠运行的同时,对可以连接到总线的最大节点数有严格的物理限制。
现代替代品:
CAN FD(灵活数据速率):CAN FD是CAN的扩展,允许更高的数据速率和更大的数据场。CAN FD中的控制字段可以使用不同的数据速率和任意长度,从而提供更大的灵活性。
汽车以太网:尽管汽车以太网价格昂贵,但它已成为需要更大数据和强大安全性的应用的替代方案。
FlexRay的:FlexRay提供更大的带宽和明确的通信,因此被用于安全关键型应用。
在汽车网络中,控制区域网络(CAN)就是最好的证明。从动力总成操控到信息娱乐系统,其功能使其成为各种车载应用的理想选择。尽管汽车技术特别灵活可靠,但汽车技术的发展揭示了控制区域网络 (CAN) 的某些局限性,导致了现代替代方案的出现。了解 CAN,包括其实际应用、限制和影响其未来的开发驱动因素,对于深入了解现代汽车系统的互联前景至关重要。
来源:XecoV.Com
免责声明:本微信公众号对所有原创、转载、分享的内容、陈述、观点、判断均保持中立,推送文章仅供读者参考,发布的文章、视频、图片等版权归作者享有。部分转载作品如有作者、来源标记有误或涉及侵权,请原创作者友情提醒并联系小编删除。
如果您喜欢本文,欢迎转发,分享知识,收获快乐。