CAN通信详解

CAN通信详解什么是 CAN 通信 CAN 控制器局域网 是一种串行通信技术 专门用于汽车电子控制单元 ECU 之间的可靠数据交换 为什么要使用 CAN 通信 起初 独立操作的电子 ECU 足以实现电子功能 然而 人们意识到 电子控制单元

大家好,我是讯享网,很高兴认识大家。

什么是CAN通信?

CAN(控制器局域网)是一种串行通信技术,专门用于汽车电子控制单元(ECU)之间的可靠数据交换。

为什么要使用CAN通信?

起初,独立操作的电子ECU足以实现电子功能。然而,人们意识到,电子控制单元(ECU)的协调可以极大地增强车辆的功能。电子控制单元之间的数据交换最初是按照惯例实现的,即为每个要传输的信号分配一个物理通信通道(如下图左侧所示)。然而,密集的布线工作只能实现有限的数据交换。似乎唯一能摆脱这种困境的解决方案是通过单个通信通道(总线)进行串行数据交换。因此,需要根据汽车的要求构思一个串行通信系统。
在1980年代初,博世开始开发这种串行通信系统。它被命名为CAN(控制器局域网)。即使在今天,CAN仍然在动力总成、底盘和便利领域的联网ECU中为机动车辆提供有用的服务。最重要的是,CAN的特点是数据传输非常可靠,可以满足目标使用区域的实时性要求。自从引入CAN以来,汽车中复杂的线束(通常具有许多变体)已成为过去。CAN不仅可以简化项目规划和安装,还可以减少布线重量和空间要求(入下图右侧所示)。
整车各个ECU之间的通信拓扑变化
讯享网

CAN通信标准

自 1994 年以来,CAN 技术已实现标准化,并由四份 ISO 文件描述。

<1>.ISO 11898-1
<2>.ISO 11898-2 & ISO 11898-3

ISO 11898-2 和 ISO 11898-3 这两个 ISO 文档涵盖了数据通信参考模型的两个子层:PMA(物理介质附件)和 PMS(物理介质规范)。它们描述了两个不同的CAN物理层:高速CAN物理层和低速CAN物理层。它们的主要区别在于对电压和数据传输速率(数据速率)的定义。ISO 11898-3 允许高达 125 kbit/s 的数据速率。它主要用于汽车的便利区。ISO 11898-2 允许高达 1 Mbit/s 的数据速率。因此,ISO 11898-2 主要用于汽车的动力总成和底盘领域。物理层的 MDI(介质相关接口)子层不存在标准。CiA DS-102 (CiA: CAN in Automation)仅建议使用非常特定的连接器(SUB-D9)以及符合非常特定的连接器引脚分配。ISO 11898-1 定义了事件驱动的通信。总线负载越高,这可能会导致延迟,特别是对于优先级较低的CAN报文。

<3>.ISO 11898-4

ISO 11898-4标准确保CAN网络中的确定性通信。ISO 11898-4 是数据链路层的扩展,它为基于 CAN 的网络添加了时间触发通信选项。

下图显示了数据通信的ISO/OSI参考模型、CAN标准及其实现之间的关系。
在这里插入图片描述

CAN网络的构成

CAN网络由许多CAN节点组成,这些节点通过物理传输介质(CAN总线)链接在实践中,CAN网络通常基于具有线性总线的线路拓扑结构,每个线性总线上都通过CAN接口连接到许多电子控制单元(如下图所示)。无源星形拓扑结构可用作替代方案。
非屏蔽双绞线是应用(非屏蔽双绞线 — UTP)中最常用的物理传输介质,通过它进行对称信号传输。通常,UTP 的导线横截面在 0.34 mm 之间2和 0,6 毫米2.线路电阻应小于 60 mΩ。最大数据速率为1 Mbit/s。允许的最大网络扩展约为 40 米。
在CAN网络的两端,总线终端电阻器有助于防止瞬态现象(反射)。ISO 11898 将 CAN 节点的最大数量指定为 32。
CAN 网络拓扑结构随着汽车电子化程度的提高,软件的数量和复杂性也在迅速增长。一些豪华车已经拥有 1000 多种软件功能。在许多总线系统中,有 70 多个电子控制单元 (ECU) 在工作。
在CAN网络中执行其任务的ECU称为CAN节点。在ECU网络的最初阶段,CAN接口的充分实现涉及一个简单的CAN驱动程序,它为应用提供了一个基本简单的独立于硬件的接口,以及一个CAN控制器和一个CAN收发器。
如今,离不开操作系统、网络管理功能或诊断程序。与此同时,软件的复杂性也变得巨大,因此有必要对ECU基础设施进行标准化。统一的软件减少了开发工作量并简化了维护。它还有助于提高不同车辆平台之间以及 OEM(原始设备制造商)和供应商之间软件组件的重用和可互换性。AUTOSAR(汽车开放系统架构)为ECU软件提供了参考架构。该参考架构的核心是AUTOSAR运行时环境(RTE),它将网络与应用的软件组件完全分离。运行时环境以基础软件的形式为软件组件提供统一的服务。从下到上,它由三个层次组成:微控制器抽象层、ECU抽象层、服务层。下图“CAN节点”描绘了现代CAN节点的结构。非常有趣的是“通信服务”区域。AUTOSAR COM(通信)提供标准通信服务、诊断服务(诊断COM管理器)和网络管理服务(通用NM/CAN NM)。PDU(协议数据单元)处理各个通信层之间的内部节点通信,并协调AUTOSAR COM、诊断COM管理器和CAN TP(传输协议)之间的通信。
在这里插入图片描述

如何参与CAN 通信?

想要参与CAN通信的电子控制单元(ECU)需要CAN接口。这包括一个CAN控制器和一个CAN收发器
CAN控制器实现了CAN协议规定的通信功能,大大减轻了主机的负担。
CAN收发器将CAN控制器连接到物理传输介质。
通常,这两个组件通过光或磁去耦进行电气隔离,因此,尽管CAN总线上的过电压可能会损坏CAN收发器,但CAN控制器和底层主机得以保留。
在CAN网络中,CAN节点发送或接收的CAN报文数量不同。发送和接收的频率也存在很大差异。例如,一个 CAN 节点可能接收五个不同的 CAN 报文,每个报文的周期为 10 毫秒,而另一个 CAN 节点只需要每 100 毫秒接收一条 CAN 报文。这些明显的差异产生了两种基本的CAN控制器架构:带和不带对象存储的CAN控制器。然而,无论CAN控制器类型如何,CAN控制器都可以集成,也可以用作独立的芯片组件,如下图所示。在这种情况下,微控制器将CAN控制器视为存储芯片。独立的CAN控制器与收发器在硬件设计上更加灵活,但集成式控制与收发芯片的优点是需要更少的空间,且微控制器和CAN控制器之间的通信更快、更可靠。
在这里插入图片描述
以前,CAN控制器经常通过分立电路连接到通信介质(CAN总线)。然而,今天,CAN收发器处理总线连接。CAN收发器始终有两个总线引脚:一个用于CAN高压线(CANH),一个用于CAN低线(CANL)。这是因为CAN网络中的物理信号传输是对称的,以实现电磁兼容,而CAN网络中的物理传输介质由两条线组成。

CAN收发器的特点

通常,高速CAN收发器和低速CAN收发器是有区别的。高速CAN收发器支持高达1 Mbit/s的数据速率。低速CAN收发器仅支持高达125 kbit/s的数据速率。然而,低速CAN收发器确保了总线接口的容错布局(例如,两条通信线路中的一条故障不会导致整个通信故障)。下图“CAN收发器布局”显示了高速CAN收发器的基本布局。当两个输出晶体管都阻断时,两条CAN线都假定相同的电位(0.5*Vcc),差分电压为零。一旦两个晶体管导通,就会在两条线路之间产生差分电压,该电压是负载电阻的函数。根据 ISO 11898-2,此差值应为 2 伏。因此,大约有35 mA的电流流过。
在这里插入图片描述
一般来说,CAN收发器的特点是电磁辐射非常低,共模工作范围宽,具有高抗噪性。此外,当今的CAN收发器提供高达8 kV的ESD保护。尽管在非常关键的使用领域具有很高的共模抑制,但插入输出附近的共模扼流圈 (CMC) 有助于进一步降低辐射(如下图所示)。
在这里插入图片描述
在 ISO 11898 中,最大 CAN 节点数指定为 32。但在实践中,CAN节点的最大数量很大程度上取决于所使用的CAN收发器的性能,以及它是高速还是低速CAN网络。例如,如果在高速CAN网络中使用TJA1050高速CAN收发器,则每个规范可以在一个CAN网络中连接多达110个CAN节点。

CAN网络为什么要采用差分信号?

120Ω终端电阻的作用是什么?

由于信号传播速度有限,瞬态现象(反射)的影响随着数据速率和总线扩展的增加而增加。使用终端电阻器端接通信通道的两端(模拟传输介质的电气特性)可防止高速CAN网络中的反射。总线终端电阻的关键参数是所谓的电气线路的特性阻抗,这是 120 欧姆。与 ISO 11898-2 相比,ISO 11898-3(低速 CAN)没有指定任何总线终端电阻,因为最大数据速率较低,为 125 kbit/s。
在这里插入图片描述

CAN信号传输电压值的确定

CAN网络中的物理信号传输基于差分信号传输。具体的差分电压取决于所使用的总线接口。这里区分了高速CAN总线接口(ISO 11898-2)和低速总线接口(ISO 11898-3)。
ISO 11898-2 将逻辑“1”分配给 0 V的典型差分电压。逻辑“0”的典型差分电压为 2 V。高速 CAN 收发器将超过 0.9 V 的差分电压解释为共模工作范围内的主导电平,通常介于 12 V 和 -12 V 之间。然而,低于 0.5 V时,差分电压被解释为隐性电平。迟滞电路可提高对干扰电压的抗扰度。ISO 11898-3 将 5 V的典型差分电压分配给逻辑“1”,将 2 V的典型差分电压对应于逻辑“0”。图“高速CAN总线电平”和图“低速CAN总线电平”描述了CAN总线上的不同电压关系。
高速CAN总线电平
低速CAN总线电平

CAN网络中信号的显隐性

在CAN网络中实现平稳通信的一个基本前提,特别是对于总线访问、故障指示和确认,是明确区分显性和隐性总线电平。主总线电平对应于逻辑“0”隐性总线电平对应于逻辑“1”。显性总线电平覆盖隐性总线电平。当不同的CAN节点同时发送显性和隐性总线电平时,CAN总线假定为显性总线电平。仅当所有CAN节点都发送隐性电平时,才会发生隐性总线电平。就逻辑而言,这种行为是 AND 逻辑。在物理上,AND逻辑由所谓的集电极开路电路实现。下图显示总线不同CAN节点发送显隐电平与CAN总线电平之间的逻辑关系。
在这里插入图片描述
在安全关键型应用场合,例如动力总成领域的应用,对通信系统的可用性提出了严格的要求。因此,将总线分配的责任分配给单个总线节点是不利的。此易受攻击的总线节点发生故障将导致所有通信失败。

CAN报文的传输

为了提升CAN通信系统的可靠性,一个更好的解决方案是采用分散总线访问,以便每个总线节点都有权访问总线。这就是为什么CAN网络是基于多主站架构和线路拓扑结构的组合:基本上每个CAN节点都被授权在CAN网络的总线上放置CAN报文。
CAN报文的传输不遵循任何预定的时间序列,而是事件驱动的。只有当实际需要传输新信息时,通信通道才会繁忙,这样总线访问的速度会很快。原则上,在CAN网络中,毫秒级的实时数据传输是没有问题的,因为它能够对异步事件做出快速反应,并且数据速率非常高,最高可达1 MBit/s。
在CAN网络中使用接收机选择寻址方法,以防止总线节点之间的依赖性,从而提高配置灵活性:每个CAN报文都可供每个CAN节点接收(广播)。先决条件是必须能够通过报文标识符 (ID) 和特定于节点的过滤来识别每个 CAN 报文。虽然这会增加开销,但它允许集成额外的CAN节点,而无需修改CAN网络。以下视频展示CAN网络中传输消息。

can communication principle

小讯
上一篇 2025-03-01 23:13
下一篇 2025-02-25 09:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/13460.html