2. 列车通信协议基础

列车通信网关的核心工作是“翻译”:把一种总线上的报文语义,准确、实时地搬运到另一种总线上。要做好这件事,网关开发者必须先建立一张“协议地图”——知道每种协议处在什么位置、帧长什么样、实时性和可靠性边界在哪里。本节围绕列车常用的 RS-485、CAN、MVB、WTB 和以太网,梳理它们的定位、分层模型、帧结构差异,并给出网关选型时的判断依据。

一、五类协议在列车上的角色分工

这五种协议并不是互相替代的关系,而是按“覆盖范围 + 实时性 + 确定性”分层协作。RS-485 是物理层标准,本身只规定差分电气特性和多点总线拓扑,上层常配 Modbus RTU、自定义轮询协议等,多用于车厢内传感器、空调、照明等低速辅助设备。CAN 是带仲裁的串行总线,采用非破坏性位仲裁,广泛用于车门、制动、牵引辅助控制等子系统内部,典型速率 250 kbit/s~1 Mbit/s。MVB(多功能车辆总线)是列车车辆级总线,面向车厢内多个设备的过程数据与消息数据,过程数据周期可短至 1 ms,具备强确定性。WTB(绞线式列车总线)是列车级总线,负责贯通全列、连接各车厢网关节点,采用周期性主从轮询,节点地址可动态配置,适合编组变化场景。以太网则凭借高带宽和成熟生态,承担列车骨干网(ETB)与编组网(ECN)的大流量数据,如视频监控、乘客信息系统和诊断数据回传。

理解分工的关键是记住两条轴:横轴是“覆盖范围”(车辆内 → 列车级),纵轴是“确定性与实时性”(强 → 弱、带宽低 → 高)。网关往往就架在这两条轴的交点上,例如把 MVB 车辆级过程数据转换到 WTB 列车级,或把 CAN 子系统数据汇聚后送上以太网骨干。

二、协议分层模型对照

用 OSI 七层模型对照可以看出各协议的“厚薄”。RS-485 只覆盖物理层,数据链路层及以上由应用协议自行约定,因此互操作性最依赖双方约定。CAN 覆盖物理层与数据链路层,定义了帧格式、仲裁、CRC 和错误处理,但不规定应用层语义,所以出现了 CANopen、J1939 等应用层规范。MVB 和 WTB 由 IEC 61375 系列标准定义,涵盖物理层、链路层和应用层,其中 MVB 的链路层提供过程数据(周期性、广播)和消息数据(事件驱动、点对点)两类服务,WTB 则定义了列车初运行、节点地址分配和周期轮询机制。以太网覆盖物理层与链路层,列车场景下再叠加 IP、UDP/TCP 以及 TRDP(列车实时数据协议)等应用层,形成完整的通信栈。

对网关而言,分层模型直接决定“转换发生在哪一层”。若两端都基于 IP,可在应用层做协议映射;若一端是 MVB 过程数据端口,另一端是 CAN 报文,则网关需要在应用层建立“端口/报文 ID ↔ 信号”的映射表,并自行处理周期、超时和有效性标志。

列车常用协议:分层覆盖与帧结构对比 ① 分层覆盖范围(OSI 视角) 应用层 链路层 物理层 RS-485 仅物理层 CAN 链路+物理 MVB 应用+链路+物理 WTB 应用+链路+物理 以太网 应用+链路+物理 ② 典型帧结构对比(示意,非等比例) CAN 标准帧 SOF 11位ID+控制 数据 0~8 字节 CRC+ACK 短帧、仲裁决定优先级 MVB 过程数据帧 主帧(16位) 从帧 16/32/64/128/256位 周期广播、端口寻址 WTB 帧 帧头 节点地址+数据 校验 主从轮询、可动态编组 以太网帧 前导码 目的MAC 源MAC 类型 数据 46~1500 FCS 长帧、高带宽 网关选型三问 1. 实时性要求? 周期 ≤1ms → MVB 事件型 → CAN 2. 覆盖范围? 车厢内 → MVB/CAN 全列贯通 → WTB 3. 数据量? 大流量 → 以太网 低速辅助 → RS-485 网关 = 跨层映射 + 时序适配

三、帧结构差异带来的转换难点

从帧结构看,差异非常直观。CAN 标准帧只有 11 位标识符和最多 8 字节数据,靠 ID 表达优先级和信号含义,因此网关做 CAN 侧映射时,必须维护“报文 ID + 字节偏移 + 位宽 + 缩放因子”的信号表。MVB 过程数据采用主帧/从帧结构,主帧 16 位指明端口,从帧长度可为 16、32、64、128 或 256 位,数据按端口周期广播,网关需要按端口地址和周期组织收发。WTB 帧带有节点地址,通过主节点轮询各节点完成列车级数据交换,编组变化时地址会重新分配,网关必须支持初运行后的地址更新。以太网帧则携带 MAC 地址和 46~1500 字节载荷,适合承载大块诊断和多媒体数据,但本身不保证实时性,需要靠 TRDP 的周期/事件机制和流量整形来约束。

这些差异意味着网关不能做“透明转发”,而要做“语义重建”。例如把 MVB 某端口 32 位过程数据转换为 CAN 报文时,需要决定拆成几帧、每帧承载哪些信号、周期如何对齐、接收端超时如何置无效。反过来,把 CAN 事件帧汇聚到以太网时,要处理突发流量和缓存溢出,必要时做限速或合并。

四、选型依据与工程判断

实际选型时,建议按以下顺序判断:第一看实时性与确定性,过程控制类数据优先 MVB,事件型控制优先 CAN;第二看覆盖范围,车厢内设备互联用 MVB 或 CAN,跨车厢贯通用 WTB,大流量回传用以太网;第三看互操作生态,RS-485 成本低但需双方约定应用层,CAN 有成熟应用层规范可复用;第四看编组灵活性,需要动态编组的列车级链路选 WTB;第五看带宽与未来扩展,视频、诊断大数据走以太网。

工程提示:网关设计时先画一张“协议—端口—周期—数据长度”映射表,再据此分配缓冲区与调度优先级。对 MVB 过程数据端口,建议按端口号建立独立收发缓冲;对 CAN 报文,按 ID 建立信号解析表;对 WTB,需在初运行完成后刷新节点地址表,避免地址变化导致映射失效。

以一台典型车厢网关为例:其车辆侧接 MVB 过程数据端口,子系统侧接两路 CAN(车门与空调),列车侧接 WTB,诊断口接以太网。假设 MVB 某端口周期 16 ms、数据 32 位,CAN 车门报文周期 50 ms、数据 8 字节,则网关需以 16 ms 为基准节拍调度 MVB 收发,在 50 ms 周期内完成 CAN 轮询与信号打包,并把关键状态经 WTB 周期上送、把诊断日志经以太网批量上传。这里的周期、端口和报文均为教学示例,实际项目应以车辆网络配置文件为准。