3、物理层详解:差分信号、显性/隐性电平、总线拓扑、终端电阻、线缆选择与布线规范

CAN(Controller Area Network)物理层是CAN总线系统稳定运行的基石。与UART、I2C等单端通信方式不同,CAN总线采用差分信号传输,通过两条导线(CANH和CANL)上的电压差来表示逻辑状态。这种设计赋予了CAN总线极强的抗电磁干扰(EMI)能力、故障容错能力以及远距离传输能力。本章将深入剖析CAN物理层的核心要素,包括差分信号原理、显性/隐性电平定义、总线拓扑结构、终端电阻匹配、线缆选型以及工程布线规范,帮助您从底层硬件视角理解并构建可靠的CAN通信网络。

CAN 物理层核心架构与信号链路 ECU 1 收发器 + 控制器 ECU 2 收发器 + 控制器 ECU n 收发器 + 控制器 CANH (红色) CANL (蓝色) 终端电阻 120Ω 终端电阻 120Ω 差分信号电平定义(ISO 11898-2) 隐性 (Recessive) = 逻辑 1 CANH ≈ 2.5V, CANL ≈ 2.5V, Vdiff ≈ 0V CANH ≈ 3.5V CANL ≈ 1.5V 显性 (Dominant) = 逻辑 0, Vdiff ≈ 2V 工程布线关键规范 • 拓扑:直线型总线,主干末端各接1个120Ω终端电阻,严禁星型/环形 • 线缆:双绞屏蔽线,特性阻抗120Ω,截面积≥0.5mm²(汽车常用0.5~0.75mm²) • 支线:长度≤0.3m(1Mbps时),节点间距≥0.1m,CANH/CANL双绞节距≤20mm

上图展示了CAN总线物理层的核心架构。从图中可以看到,所有ECU(电子控制单元)通过一对差分线(CANH和CANL)以“总线型”拓扑连接,总线两端各有一个120Ω的终端电阻。这种结构是CAN总线能够可靠工作的基础。接下来,我们将逐一拆解每个关键部分。

3.1 差分信号与显性/隐性电平

3.1.1 核心原理:为什么采用差分信号?

CAN总线使用两根导线(CANH和CANL)上的电压差值(Vdiff = VCANH - VCANL)来传输数据。接收器只关心两根线之间的电压差,而不关心它们对地的电压。这种设计带来两大核心优势:

  • 抗共模干扰:外部电磁干扰(如电机火花、继电器吸合)通常以共模形式同时耦合到两根线上,导致两根线的对地电压同时升高或降低,但差值不变,因此接收端不受影响。
  • 抗地电位差:在汽车或工业现场,不同节点的地电位可能存在几伏的偏差。由于接收器只检测差分电压,这种地电位差不会影响通信。

3.1.2 电平定义与逻辑映射

根据ISO 11898-2标准,CAN总线定义了两种逻辑状态:

逻辑状态CANH电压CANL电压差分电压 (Vdiff)总线空闲
显性 (Dominant)3.5V1.5V约 2.0V否(占用总线)
隐性 (Recessive)2.5V2.5V约 0V是(释放总线)

在CAN协议中,显性电平对应逻辑“0”,隐性电平对应逻辑“1”。这种设计实现了“线与”机制:当多个节点同时发送时,只要有一个节点发送显性位,总线上就是显性电平。这为CAN的仲裁机制(非破坏性仲裁)奠定了物理基础。

经验提醒:在调试时,使用示波器测量CANH和CANL对地电压,以及两者之间的差分电压。正常通信时,示波器上应能看到约2V的差分摆幅。如果差分电压低于1.2V,接收器可能无法正确识别显性位,导致通信故障。

3.1.3 案例拆解:示波器实测波形分析

场景:某工业设备CAN总线偶发通信中断,时好时坏。使用示波器测量总线波形。

初始现象:在故障发生时,CANH对地电压为2.5V,CANL对地电压为2.5V,差分电压为0V,总线一直处于隐性状态,没有任何节点在发送。

分析过程:进一步排查发现,故障节点的CAN收发器供电电压为4.8V(正常应为5V)。当收发器供电电压低于4.75V时,其输出驱动能力下降,导致显性电平无法达到标准3.5V/1.5V,接收端无法识别。最终定位为电源模块老化,输出带载能力不足。

解决与复盘:更换电源模块后故障消失。此案例说明,物理层电平的完整性直接取决于供电质量。在CAN总线设计中,必须确保收发器供电稳定,并合理设计电源去耦电容(通常为100nF + 10µF)。

3.2 总线拓扑与终端电阻

3.2.1 标准拓扑结构

CAN总线标准拓扑为直线型(总线型)结构。所有节点通过支线(Stub)连接到主干线(Bus Trunk)上。主干线是贯穿整个网络的双绞线,支线长度应尽可能短。

为什么不能使用星型或环形拓扑?星型拓扑会在中心节点处产生信号反射,导致波形畸变;环形拓扑则可能形成信号环路,引发振荡。CAN协议的设计假设是单一总线信道,任何分支结构都会破坏传输线的阻抗连续性。

3.2.2 终端电阻的作用与匹配

终端电阻连接在总线物理末端的两根线(CANH和CANL)之间,其阻值必须与电缆的特性阻抗相匹配。标准CAN总线电缆的特性阻抗为120Ω,因此总线两端各需一个120Ω电阻。

终端电阻的作用:

  1. 消除信号反射:当信号传输到总线末端时,如果阻抗不匹配,会产生反射波,与原始信号叠加,造成波形过冲、振铃,严重时导致误码。
  2. 保证隐性电平:终端电阻为收发器在隐性状态下的差分电压提供了放电回路,确保隐性电平稳定在0V附近。
风险警告:缺少终端电阻或电阻值错误(如使用60Ω)会导致信号反射加剧。在1Mbps高速通信时,总线两端必须各接一个120Ω电阻。对于低速应用(如125kbps),虽然反射影响较小,但为了标准化和可靠性,仍建议遵循规范。

3.2.3 操作流程:如何正确测量终端电阻

在系统断电状态下,使用万用表欧姆档测量总线两端(或任意节点处)CANH与CANL之间的电阻:

  • 正常值:约60Ω(两个120Ω电阻并联)。
  • 测量值为120Ω:说明总线一端缺少终端电阻。
  • 测量值为0Ω:说明总线存在短路(CANH与CANL短接)。
  • 测量值为无穷大:说明总线断路或终端电阻开路。

3.3 线缆选择与布线规范

3.3.1 线缆选型标准

CAN总线线缆的选择直接影响通信距离和可靠性。推荐使用特性阻抗为120Ω的双绞屏蔽线。

参数项推荐规格说明
特性阻抗120Ω ± 10%与终端电阻匹配,减少反射
线径 (截面积)0.5mm² ~ 0.75mm² (AWG20~22)兼顾机械强度和电压降
双绞节距≤ 20mm节距越小,抗共模干扰能力越强
屏蔽层建议使用铝箔+编织网屏蔽屏蔽层单点接地,避免地环路
线缆颜色CANH:黄色/绿色;CANL:绿色/蓝色便于现场识别与维护

3.3.2 工程布线规范清单

在实际工程中,布线质量往往决定了系统的长期稳定性。以下规范清单是多年项目经验的总结:

  • 主干线长度:根据波特率决定。1Mbps时最大长度约40m;125kbps时最大长度约500m;50kbps时最大长度约1000m。
  • 支线长度:在1Mbps下,支线长度应≤0.3m;在125kbps下,支线长度可放宽至3m。支线越长,反射越严重。
  • 节点间距:相邻节点间主干线长度应≥0.1m,避免过近导致信号耦合。
  • 电源与地线:CAN总线应远离高压线、点火线圈等强干扰源,最小距离≥20cm。若无法避免,必须使用屏蔽层。
  • 屏蔽层接地:屏蔽层应在单一节点(通常为电源地)处接地,避免多点接地形成地环路电流。

3.3.3 实战场景:汽车动力总成CAN网络布线

背景与约束:某新能源车型动力总成CAN网络(500kbps)包含VCU(整车控制器)、MCU(电机控制器)、BMS(电池管理系统)三个节点。发动机舱环境恶劣,存在大电流电缆和高压逆变器。

初始目标:确保CAN通信误码率低于10⁻⁶,且通过整车EMC(电磁兼容)测试。

关键参数与实施:

  1. 线缆选择:采用0.75mm²双绞屏蔽线,节距15mm,特性阻抗120Ω。
  2. 拓扑布局:VCU位于中央,MCU和BMS分别位于两侧,主干线总长1.2m,支线长度均≤0.2m。
  3. 终端电阻:在VCU和BMS端各集成一个120Ω电阻(封装在连接器内部),MCU端不接。
  4. 布线路径:CAN线束与高压线束保持30cm以上距离,并交叉走线(90°交叉),避免平行走线。
  5. 屏蔽处理:屏蔽层在VCU端单点接地,接地电阻小于10mΩ。

结果对比:在整车电波暗室测试中,CAN通信在400MHz~2GHz频段内无异常,误码率测试通过。相比初始方案(未严格双绞、屏蔽层两端接地),辐射发射降低了约15dB。

风险与代价:严格布线增加了线束成本和装配工时,但换来了系统级EMC性能的稳定。复盘经验:在CAN布线中,“一次做对”的成本远低于后期整改的成本。

3.4 常见误区与总结复盘

3.4.1 常见误区

误区1:认为终端电阻可以随意放置。终端电阻必须位于总线物理末端,而不是靠近某个节点。如果放在中间,末端仍会产生反射。
误区2:使用普通双绞线(如网线)代替CAN专用线。网线特性阻抗为100Ω,与120Ω不匹配,会导致反射增大,通信距离缩短。
误区3:忽略隐性电平的稳定性。如果总线对地漏电或电容过大,隐性电平可能无法回到2.5V,导致接收器误判。

3.4.2 总结复盘

本章从物理层底层逻辑出发,系统梳理了CAN总线的关键硬件要素。差分信号是CAN抗干扰的基石,显性/隐性电平定义了通信的逻辑基础,直线型拓扑和120Ω终端电阻保证了信号完整性,而线缆选型和布线规范则是工程落地的保障。在实际项目中,建议遵循以下检查清单:

  1. 确认总线两端均有120Ω终端电阻,断电测量阻值约60Ω。
  2. 使用示波器观察显性/隐性电平,确保差分摆幅≥1.5V。
  3. 检查支线长度是否超标,主干线是否远离干扰源。
  4. 验证屏蔽层是否单点接地,避免地环路。

物理层的可靠性是CAN通信系统稳定运行的前提。只有从每一个电阻、每一段线缆、每一个焊点做起,才能构建出真正经得起现场考验的CAN网络。