3、物理层详解:CAN收发器、双绞线、终端电阻、显性/隐性电平、位时序与采样点
CAN(Controller Area Network)协议之所以能在工业控制、车载网络、医疗设备等强干扰环境中稳定运行,其物理层设计功不可没。与以太网或UART不同,CAN物理层并非简单地将逻辑0/1映射为高/低电平,而是采用差分信号、非破坏性仲裁和可配置的位时序机制。本章将深入拆解CAN物理层的五大核心要素:收发器芯片的工作机制、双绞线的电气特性、终端电阻的匹配原理、显性/隐性电平的判定标准,以及位时序与采样点的计算方法。理解这些内容,是进行CAN总线故障排查、网络设计和信号完整性分析的基础。
3.1 CAN收发器:协议控制器与物理总线之间的桥梁
核心原理
CAN收发器(Transceiver)是连接CAN协议控制器(通常集成在MCU内部)与物理双绞线的关键器件。其核心功能有两个方向:发送方向将控制器输出的TTL/CMOS逻辑电平(TXD引脚)转换为差分信号输出到总线;接收方向将总线上的差分信号转换为单端逻辑电平(RXD引脚)送回控制器。常见的收发器型号包括NXP的TJA1050、TJA1042,TI的SN65HVD230,以及Infineon的TLE6250等。
收发器内部集成了差分放大器、比较器、驱动器以及多种保护电路(如过温保护、短路保护、欠压锁定)。以TJA1050为例,其工作电压为5V,支持高达1Mbps的通信速率。收发器还定义了三种工作模式:正常模式(收发双向)、静音模式(只收不发,常用于总线诊断)和待机模式(低功耗监听)。
判断方法或操作流程
在实际工程中,选择收发器需关注以下关键参数:
- 通信速率:低速CAN(<125kbps)可选用TJA1054等容错收发器;高速CAN(最高1Mbps)选用TJA1050/1042。
- 工作电压:传统5V收发器与3.3V MCU接口时需电平转换,或选用TJA1043等支持3.3V供电的型号。
- 待机电流:对于需要常供电的节点(如车门模块),待机电流应小于50μA。
- EMC性能:检查收发器的共模抑制比(CMRR)和电磁辐射指标,TJA1042相比TJA1050在EMC方面有显著改善。
验证收发器是否正常工作的快速流程:
- 用万用表测量VCC引脚对GND电压,应为5V±10%。
- 测量TXD引脚空闲电平,应为高电平(逻辑1)。
- 将示波器探头接在CAN_H和CAN_L之间,总线空闲时差分电压应为0V左右。
- 发送一个显性帧,观察CAN_H应升至约3.5V,CAN_L降至约1.5V。
案例拆解:总线无通信故障排查
背景与现象:某工业设备采用STM32F407 + TJA1050方案,CAN总线无法与上位机通信,示波器测量总线无任何波形。
分析过程:首先检查MCU侧TXD引脚,发现存在正常的方波信号,说明控制器工作正常。接着测量收发器VCC为5V正常,但测量CAN_H对GND电压为0V,CAN_L对GND也为0V,异常(正常空闲时应为2.5V)。进一步检查发现收发器的RS引脚(斜率控制)被直接接地,导致收发器进入高速模式,但此时不应导致输出为0V。最终用万用表二极管档测量收发器CANH/CANL引脚对GND,发现CANH对GND短路(蜂鸣器响)。
根因与解决:焊接时CANH引脚与相邻的GND焊盘桥连,导致短路。重新焊接后,总线空闲电压恢复2.5V,通信正常。
复盘:排查CAN物理层故障时,应遵循“控制器→收发器→总线”的顺序,先确认逻辑侧信号,再检查差分侧电平。收发器引脚间距较小,焊接后务必用放大镜检查桥连。
3.2 双绞线与终端电阻:信号完整性的基石
核心原理
CAN总线使用双绞线作为传输介质,两根线分别称为CAN_H和CAN_L。双绞线的主要优势在于:
- 抗共模干扰:外部电磁干扰在两根导线上感应出近似相等的共模电压,差分接收器只响应两线之间的差值,从而抵消共模噪声。
- 降低辐射:两根导线中的电流方向相反,产生的电磁场相互抵消,减少对外辐射。
- 特征阻抗稳定:标准CAN双绞线的特征阻抗约为120Ω,与终端电阻匹配,避免信号反射。
终端电阻的作用是吸收信号在总线末端产生的反射。根据传输线理论,当线缆阻抗与终端阻抗不匹配时,信号会在末端反射,导致波形过冲、振铃,严重时造成误码。CAN标准规定在总线两端各接入一个120Ω电阻,并联后等效阻抗为60Ω,与双绞线特征阻抗匹配。
判断方法或操作流程
终端电阻的测量与判断:
- 断开总线所有节点电源。
- 用万用表欧姆档测量CAN_H与CAN_L之间的电阻。
- 正常值应为60Ω(两个120Ω电阻并联)。若测得120Ω,说明只有一端有终端电阻;若测得约0Ω,说明总线短路;若测得无穷大,说明终端电阻缺失或总线断路。
双绞线质量检查要点:
- 绞距:每英寸至少绞合3~5次,绞距越短抗干扰能力越强。
- 线径:推荐使用0.5mm²~0.75mm²(AWG20~22)的铜芯线。
- 屏蔽层:在强干扰环境(如电机驱动附近)应使用屏蔽双绞线,屏蔽层单点接地。
案例拆解:通信距离缩短与误码率升高
背景与约束:某车载测试台架,CAN总线长度约15米,通信速率500kbps,原先工作正常。近期改造后,通信距离缩短至不足5米,且频繁出现CRC错误帧。
关键数据:用示波器测量总线波形,发现显性电平幅值正常(约2V差分),但波形上升沿出现明显振铃,过冲幅度达0.8V,持续约200ns。
分析判断:振铃现象通常由阻抗不匹配引起。检查终端电阻,发现改造时施工人员将总线末端的120Ω电阻拆除,仅保留了控制器端的电阻。总线末端处于开路状态,信号反射严重。
实际操作:在总线末端重新接入120Ω电阻,再次测量波形,振铃消失,上升沿变得平滑。通信距离恢复至15米,误码率降为0。
复盘:终端电阻是CAN总线最基础也最容易被忽视的部件。任何涉及总线拓扑变更的操作后,都应重新测量终端电阻值,并观察波形质量。
3.3 显性/隐性电平与位时序、采样点
核心原理
CAN总线采用差分电压表示逻辑状态:
| 逻辑状态 | CAN_H电压 | CAN_L电压 | 差分电压(CAN_H-CAN_L) | 总线状态 |
|---|---|---|---|---|
| 隐性(逻辑1) | ≈2.5V | ≈2.5V | ≈0V | 空闲/仲裁 |
| 显性(逻辑0) | ≈3.5V | ≈1.5V | ≈2V | 占用/数据 |
这种电平设计使得显性位具有优先权:当多个节点同时发送时,只要有一个节点发送显性位,总线上呈现的就是显性电平。这正是CAN非破坏性仲裁的物理基础。
位时序是CAN控制器对每一位时间的细分管理。一个位时间(Bit Time)由四个段组成:
- 同步段(SYNC_SEG):固定为1个时间量子(Tq),用于同步总线上的所有节点。
- 传播段(PROP_SEG):补偿信号在总线上的传播延迟和收发器延迟。
- 相位缓冲段1(PHASE_SEG1):用于补偿相位误差,可被延长(重同步)。
- 相位缓冲段2(PHASE_SEG2):用于补偿相位误差,可被缩短。
采样点位于PHASE_SEG1与PHASE_SEG2的交界处,是控制器读取总线电平的时刻。采样点位置对通信可靠性至关重要,推荐设置在75%~87.5%位时间处。
判断方法或操作流程
位时序参数的计算步骤(以500kbps、系统时钟36MHz为例):
- 确定时间量子Tq = 系统时钟分频值,例如36MHz / 18 = 2MHz,则Tq = 500ns。
- 计算位时间 = 1 / 500kbps = 2000ns,即4个Tq。
- 分配各段:SYNC_SEG=1Tq,PROP_SEG=1Tq,PHASE_SEG1=1Tq,PHASE_SEG2=1Tq。
- 采样点位置 = (SYNC_SEG + PROP_SEG + PHASE_SEG1) / 总Tq = 3/4 = 75%。
实际配置中,通常将采样点设为87.5%,即SYNC_SEG=1,PROP_SEG=2,PHASE_SEG1=4,PHASE_SEG2=1(总8Tq)。
案例拆解:采样点配置不当导致偶发通信故障
背景与约束:某商用车CAN网络,包含发动机ECU、ABS、仪表等12个节点,速率250kbps。车辆行驶中偶发“仪表丢失车速信号”故障,故障码显示为总线错误。
初始现象与数据:用CANoe监测总线,发现错误帧出现频率约为每分钟1~2次,且集中在车辆振动较大的路段。抓取错误帧波形,发现显性位宽度比正常位窄约200ns。
分析判断:对比各节点配置,发现新加入的节点(胎压监测模块)采样点设置为60%,而其他节点均为80%。当总线存在轻微干扰或时钟偏差时,该节点在错误的时刻采样,导致位错误。
实际操作:将胎压监测模块的采样点重新配置为80%(通过修改其CAN控制器寄存器),并重新上电验证。连续运行48小时,未再出现错误帧。
复盘:同一网络中所有节点的采样点应尽量保持一致,偏差不应超过5%。新增节点时,必须核对位时序参数,不能使用默认配置直接接入。
常见误区与总结复盘
- 误区一:认为终端电阻可有可无。缺少终端电阻时,总线在低速率(<125kbps)下可能仍能工作,但波形质量差,抗干扰能力大幅下降。
- 误区二:将显性电平理解为“高电平”,隐性理解为“低电平”。实际上CAN是差分信号,显性对应差分电压约2V,隐性对应0V。
- 误区三:采样点越靠后越好。采样点过于靠后(>90%)会压缩PHASE_SEG2的长度,导致重同步能力下降,反而增加错误率。
- 误区四:忽略收发器共模电压范围。标准CAN收发器共模范围为-2V~+7V,在恶劣接地环境下应选用宽共模范围的收发器(如TJA1043支持-12V~+12V)。
总结而言,CAN物理层是一个精密的模拟与数字混合系统。收发器负责电平转换,双绞线提供差分传输通道,终端电阻保证信号完整性,显性/隐性电平定义逻辑状态,位时序与采样点则确保在正确时刻读取正确的电平。掌握这五个要素的内在联系,是进行CAN总线设计、调试和故障定位的必备技能。在实际项目中,建议使用示波器测量总线波形,结合CAN协议分析仪验证采样点位置,以数据驱动的方式优化物理层配置。