2. 总线基础
车载总线是电子控制单元(ECU)之间交换信息的“神经系统”。在 HIL(硬件在环)总线仿真与网络测试中,理解各总线的帧结构、通信机制与典型应用场景,是设计仿真节点、构造测试用例、分析报文时序的前提。本节从物理层、数据链路层到应用场景,梳理五类主流车载总线的核心差异。
一、核心原理:从事件触发到时间触发
车载总线按通信触发方式可分为事件触发与时间触发两类。CAN、CAN FD、LIN 属于事件触发:节点在总线空闲时竞争发送,优先级由标识符决定。FlexRay 属于时间触发与事件触发混合:通信周期内划分静态段与动态段,静态段按时间槽严格调度,动态段采用微时槽竞争。Automotive Ethernet 则基于交换式全双工通信,通过 VLAN、优先级和流量整形实现确定性传输。
CAN 采用“线与”逻辑,显性位(逻辑 0)覆盖隐性位(逻辑 1),因此标识符数值越小优先级越高。CAN FD 在仲裁阶段保持 CAN 的仲裁机制,在数据阶段切换为更高比特率,并扩展数据场至 64 字节。LIN 是单线、主从结构,主节点发送报头,从节点根据标识符决定是否应答,成本低但带宽有限。FlexRay 使用双通道冗余,支持 10 Mbps 速率,适合线控底盘等安全关键系统。Automotive Ethernet 以 100BASE-T1、1000BASE-T1 等单对双绞线为载体,支持 IP 协议栈,面向高带宽、大数据量场景。
二、帧结构与通信机制要点
CAN 标准帧包含仲裁场(11 位标识符 + RTR)、控制场(IDE、DLC)、数据场(0~8 字节)、CRC 场、ACK 场和帧结束。扩展帧使用 29 位标识符。CAN FD 在控制场中增加 FDF、BRS、ESI 位,数据场长度由 DLC 编码为 0~64 字节,CRC 多项式也升级为 17 位或 21 位。
LIN 报文由主节点发送的报头(同步间隔场、同步场、PID 保护标识符)和从节点应答(1~8 字节数据 + 校验和)组成。PID 低 6 位为帧 ID,高 2 位为奇偶校验。LIN 采用调度表机制,主节点按顺序轮询各从节点,保证确定性但实时性较弱。
FlexRay 通信周期由静态段、动态段、符号窗和网络空闲时间组成。静态段使用 TDMA,每个节点在固定时槽发送;动态段使用 FT DMA,按微时槽优先级分配。FlexRay 帧包含头部、有效载荷(0~254 字节)和尾部,头部含帧 ID、载荷长度、头部 CRC 和周期计数。
Automotive Ethernet 帧格式遵循 IEEE 802.3,包含前导码、SFD、目的 MAC、源 MAC、以太网类型/长度、有效载荷、FCS。车载以太网常配合 VLAN 标签(802.1Q)和优先级(PCP)实现流量分级,并通过 TSN 时间敏感网络增强确定性。
三、典型应用场景与选型对照
| 总线类型 | 拓扑 | 速率 | 数据长度 | 触发方式 | 典型场景 |
|---|---|---|---|---|---|
| CAN | 总线型 | ≤ 1 Mbps | 0~8 字节 | 事件触发 | 车身、动力、诊断 |
| CAN FD | 总线型 | ≤ 8 Mbps | 0~64 字节 | 事件触发 | 刷写、BMS、域控 |
| LIN | 单线主从 | ≤ 20 kbps | 1~8 字节 | 主节点调度 | 车窗、雨刮、座椅 |
| FlexRay | 双通道总线/星型 | 10 Mbps | 0~254 字节 | 时间触发+事件 | 线控、悬架、制动 |
| Automotive Ethernet | 交换式星型 | 100M~10G | 1500 字节以上 | 全双工交换 | ADAS、摄像头、OTA |
四、HIL 仿真中的配置示例与误区复盘
在 HIL 台架中,常用 DBC 文件描述 CAN/CAN FD 报文与信号,用 LDF 描述 LIN 调度,用 FIBEX 或 ARXML 描述 FlexRay 与以太网通信矩阵。以下是一个 CAN FD 报文配置片段:
BO_ 256 VCU_Status: 64 VCU
SG_ VehSpeed : 0|16@1+ (0.01,0) [0|655.35] "km/h" ECU
SG_ GearPos : 16|4@1+ (1,0) [0|15] "" ECU
SG_ TorqueReq: 20|12@1- (0.5,-1000) [-1000|1047.5] "Nm" ECU