4、物理层与链路层基础:CAN总线特性、波特率、终端电阻、帧格式(标准帧/扩展帧)及错误处理

GB27930标准所定义的电动汽车直流快充通信,其物理载体是控制器局域网(CAN)总线。CAN总线自20世纪80年代由Bosch公司开发以来,凭借其高可靠性、实时性和抗干扰能力,成为汽车电子系统的事实标准。在直流快充场景中,充电桩与电池管理系统(BMS)通过CAN总线进行报文交互,任何物理层或链路层的异常都可能导致充电中断甚至安全事故。本章将深入剖析CAN总线的电气特性、通信参数配置、报文帧结构以及错误处理机制,为后续理解GB27930的报文定义与状态机切换打下坚实基础。

CAN总线物理层与链路层核心要素 物理层特性 差分信号 CAN_H / CAN_L 电压差 波特率 典型值 250kbps / 500kbps 终端电阻 两端各 120Ω 匹配 总线电平 隐性 2.5V / 显性 3.5V+1.5V 链路层帧格式 标准帧 (CAN 2.0A) 11位标识符 + 数据场 最大 8 字节数据 扩展帧 (CAN 2.0B) 29位标识符 + 数据场 GB27930 采用此格式 仲裁机制 ID越小优先级越高 位填充 连续5个相同位插入反相位 错误处理机制 错误检测 CRC / 位填充 / 应答检查 错误状态 主动错误 / 被动错误 / 总线关闭 错误帧 6个显性位 + 8个隐性位 恢复机制 TEC>255 进入总线关闭 GB27930 直流快充通信:物理层保证信号传输,链路层保证报文组织,错误处理保证可靠性

4.1 CAN总线电气特性与物理层设计

4.1.1 差分信号与总线电平

CAN总线采用差分信号传输方式,通过两根导线CAN_H和CAN_L之间的电压差来表示逻辑状态。这种设计使得总线具有极强的共模干扰抑制能力,非常适合电动汽车内部电机、逆变器等强干扰环境。在显性状态(逻辑0)下,CAN_H电压约为3.5V,CAN_L电压约为1.5V,差分电压约为2V;在隐性状态(逻辑1)下,两根线均被偏置到2.5V,差分电压接近0V。值得注意的是,显性电平会覆盖隐性电平,这是CAN总线仲裁机制的基础。

关键参数速查:GB27930规定的直流快充通信波特率为250kbps,对应的位时间为4μs。在实际工程中,CAN收发器(如TJA1050、SN65HVD230)的传输延迟、上升/下降时间以及总线线缆的传播延迟必须满足位时间预算要求。对于250kbps速率,总线长度一般不超过40米,而充电桩与车辆之间的线缆通常控制在5-10米,留有充足裕量。

4.1.2 终端电阻与信号完整性

CAN总线两端必须各接入一个120Ω的终端电阻,用于匹配传输线阻抗,防止信号反射。在直流快充场景中,充电桩侧和车辆BMS侧各有一个终端电阻。若终端电阻缺失或阻值漂移,会导致信号过冲、振铃甚至位错误。工程上,终端电阻通常集成在CAN收发器模块或连接器内部,但维修时需使用万用表测量CAN_H与CAN_L之间的电阻值,正常应为60Ω(两个120Ω并联)。

检查项目正常范围异常表现可能原因
CAN_H对地电压2.0-3.0V(静态)低于1.5V或高于4V收发器损坏、短路
CAN_L对地电压2.0-3.0V(静态)低于1.5V或高于4V收发器损坏、断路
CAN_H与CAN_L间电阻约60Ω无穷大或接近0Ω终端电阻缺失、短路
总线空闲电平CAN_H≈CAN_L≈2.5V持续显性电平节点故障、总线锁死

4.1.3 波特率配置与同步机制

CAN总线的波特率由位时间(Bit Time)决定,位时间由同步段(SYNC_SEG)、传播时间段(PROP_SEG)、相位缓冲段1(PHASE_SEG1)和相位缓冲段2(PHASE_SEG2)组成。GB27930规定使用250kbps,采样点通常设置在75%-80%位置。若采样点设置不当,在总线较长或节点时钟偏差较大时,容易产生位错误。工程中,BMS和充电桩的CAN控制器均需配置为相同的波特率和采样点,否则无法正常通信。

// 以S32K144为例,250kbps波特率配置(16MHz总线时钟)
// 预分频器 = 4,位时间 = 16个时间量子
// SYNC_SEG = 1, PROP_SEG = 3, PHASE_SEG1 = 8, PHASE_SEG2 = 4
// 采样点 = (1+3+8)/16 = 75%
CAN.CTRL1 = CAN_CTRL1_PRESDIV(3) | CAN_CTRL1_PROPSEG(2) |
            CAN_CTRL1_PSEG1(7) | CAN_CTRL1_PSEG2(3) |
            CAN_CTRL1_RJW(1) | CAN_CTRL1_SMP_ONE;

4.2 CAN帧格式详解

4.2.1 标准帧与扩展帧结构对比

CAN协议定义了两种帧格式:标准帧(CAN 2.0A)使用11位标识符,扩展帧(CAN 2.0B)使用29位标识符。GB27930明确规定使用扩展帧格式,原因在于29位标识符可以承载更多信息,例如源地址、目的地址、报文类型等。扩展帧的仲裁场由29位ID、SRR位、IDE位和RTR位组成,其结构比标准帧复杂,但提供了更灵活的寻址能力。

帧格式标识符长度仲裁场结构最大数据长度GB27930使用
标准帧11位ID[10:0] + RTR8字节否
扩展帧29位ID[28:18] + SRR + IDE + ID[17:0] + RTR8字节是

4.2.2 扩展帧的位场组成

一个完整的扩展帧数据帧包含以下位场:帧起始(SOF,1位显性)、仲裁场(32位)、控制场(6位)、数据场(0-8字节)、CRC场(15位CRC + 1位界定符)、应答场(2位)和帧结束(EOF,7位隐性)。在GB27930中,报文ID的分配遵循特定规则:例如,BMS发送的报文ID范围通常为0x1800xxxx至0x18FFxxxx,充电桩发送的报文ID范围通常为0x1000xxxx至0x10FFxxxx。ID的高位字节表示报文优先级和类型,低位字节表示源地址和目标地址。

工程经验:在解析GB27930报文时,务必使用CAN分析仪(如PCAN、CANoe)的扩展帧模式抓包。若误设为标准帧模式,29位ID会被截断为11位,导致报文无法识别。同时,注意CAN控制器硬件FIFO的深度配置,避免在高速充电过程中因中断响应不及时而丢失报文。

4.2.3 位填充与CRC校验

CAN协议采用位填充机制:在发送端,若连续出现5个相同电平的位,则自动插入一个反相位的填充位;接收端在检测到5个相同位后,会删除紧随其后的填充位。这一机制保证了时钟同步的可靠性。CRC校验场使用15位CRC多项式(x^15 + x^14 + x^10 + x^8 + x^7 + x^4 + x^3 + 1),覆盖从帧起始到数据场结束的所有位。在GB27930通信中,CRC错误是最常见的错误类型之一,通常由电磁干扰或总线终端不匹配引起。

4.3 CAN错误处理与故障恢复

4.3.1 错误类型与检测机制

CAN协议定义了五种错误检测机制:位错误、填充错误、CRC错误、形式错误和应答错误。位错误发生在发送节点监控总线电平与自身发送电平不一致时;填充错误发生在接收节点检测到连续6个相同位时;CRC错误发生在接收节点计算的CRC与发送节点不一致时;形式错误发生在检测到非法位场格式时;应答错误发生在发送节点在应答场未检测到显性位时。每种错误都会触发错误帧的发送,错误帧由6个显性位和8个隐性位组成。

4.3.2 错误状态机与恢复流程

每个CAN节点维护两个计数器:发送错误计数器(TEC)和接收错误计数器(REC)。节点根据计数器值处于三种状态之一:主动错误状态(TEC<128,REC<128)、被动错误状态(TEC>127或REC>127)和总线关闭状态(TEC>255)。在主动错误状态,节点可主动发送错误帧;在被动错误状态,节点只能被动接收,且发送错误帧前需等待8个隐性位;在总线关闭状态,节点完全脱离总线,需等待128次总线空闲检测后才能恢复。

风险提示:在直流快充过程中,若BMS或充电桩的CAN控制器进入总线关闭状态,将导致通信中断,充电流程立即停止。此时,故障节点需要重新初始化CAN控制器并等待总线恢复。在工程设计中,建议在应用层增加通信超时检测和自动重连机制,避免因单次错误导致充电失败。

4.3.3 错误处理实战案例

场景描述:某充电桩在批量生产测试中发现,约3%的桩与车辆BMS握手失败,故障码显示"CAN通信超时"。使用CANoe抓取总线数据,发现BMS发送的报文存在间歇性CRC错误,且错误频率随充电功率升高而增加。

分析过程:首先检查终端电阻,测得CAN_H与CAN_L间电阻为58Ω,略低于标准值,但仍在可接受范围。进一步使用示波器观察总线波形,发现显性电平的上升沿存在明显过冲,幅值超过5V,且振铃持续约1μs。分析认为,充电桩内部的高压DC-DC变换器产生的电磁干扰耦合到CAN总线,导致信号完整性恶化。

解决措施:①在CAN收发器的VCC引脚增加100nF去耦电容,并串联磁珠(600Ω@100MHz)抑制高频干扰;②将CAN总线线缆更换为双绞屏蔽线,屏蔽层单点接地;③调整CAN控制器采样点从75%移至80%,增加相位缓冲段1的长度,提高对信号畸变的容忍度。

结果对比:整改后,CRC错误率从0.5%降至0.01%以下,握手成功率恢复至99.9%以上。该案例表明,CAN物理层的抗干扰设计对GB27930通信可靠性至关重要。

4.4 常见误区与设计要点

  • 误区一:认为终端电阻可以省略或使用任意阻值。实际上,终端电阻不匹配会导致信号反射,严重时引发位错误。
  • 误区二:忽视CAN收发器的共模电压范围。在充电桩与车辆地电位不一致时,共模电压可能超出收发器允许范围(-12V至+12V),导致通信异常。
  • 误区三:将标准帧和扩展帧混用。GB27930严格要求扩展帧,若BMS或充电桩误配置为标准帧,将无法解析报文。
  • 误区四:忽略CAN控制器的时钟精度。若晶振偏差超过0.5%,在250kbps速率下可能导致位时间漂移,引发同步错误。
设计检查清单:①确认总线两端各有一个120Ω终端电阻;②使用双绞屏蔽线,屏蔽层单点接地;③CAN收发器电源加磁珠和去耦电容;④采样点设置在75%-80%;⑤配置扩展帧模式,ID按GB27930规范分配;⑥启用CAN控制器硬件过滤,减少无效中断;⑦在应用层实现通信超时检测和重连机制。

物理层与链路层是GB27930通信协议的基础保障。只有确保CAN总线电气特性正确、帧格式配置无误、错误处理机制完善,才能保证直流快充过程中BMS与充电桩之间的报文交互稳定可靠。在实际工程中,建议使用CAN分析仪进行一致性测试,并参考ISO 11898-2标准进行物理层验证。