Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
SAE J1939-31 是 J1939 协议栈中定义网络层(OSI 第三层)的核心标准。它规定了电子控制单元(ECU)如何在不同网段之间实现互操作,是构建分布式车辆控制系统的关键。2023年修订版进一步澄清了术语,并针对采用不同数据链路层的网段(J1939-21 与 J1939-22)提出了明确的网关要求。本文将从网络架构、互连设备类型、以及2023更新要点三个方面进行解读,并给出实用的设计建议。
J1939-31 定义了网络层服务与协议,其核心功能是使位于不同物理网段的 ECU 能够像在同一个网段中一样交换信息。这种能力对于重型车辆(如卡车、工程机械、农用设备)的多网段架构至关重要。网络层负责消息的转发、过滤、地址翻译以及必要的协议转换。标准中明确了四种网络互连 ECU(NIECU)类型:中继器、桥接器、路由器和网关,分别适用于不同复杂度的场景。
🛠️ 设计洞察:网络分段的动机通常包括:隔离不同功能区域的广播流量、突破单段CAN总线的负载限制、以及适应物理拓扑的限制(如牵引车-挂车之间的跨接)。选择正确的 NIECU 类型直接影响系统的实时性与可靠性。例如,仅需要延长物理距离时使用中继器;需要流量隔离时使用桥接器;需要跨网段路由时使用路由器;而如果网段的数据链路层不同(如 J1939-21 与 J1939-22),则必须使用网关。
标准特别强调了“Off-Tractor Network Segment”(拖车/农具网段)的独立寻址方案,并保留了专有消息与专有网络的接口机制,以支持制造商自定义功能。此外,还为 CAN 11位标识符、SAE J1587 和 SAE J1922 等异构网络提供了映射方法。
J1939-31 将 NIECU 按功能从简单到复杂分为四类,下表总结了它们的转发机制、延迟要求及典型应用场景:
| NIECU 类型 | 转发方式 | 最大延迟要求 | 典型用途 |
|---|---|---|---|
| 中继器 | 位转发(Bitwise) | 位级别,无存储 | 延长总线物理长度 |
| 桥接器 | 存储转发 | 参考标准要求 | 隔离不同网段的流量,转发匹配消息 |
| 路由器 | 存储转发 + 地址路由 | 根据网络负载设计 | 在不同网段间根据目标地址转发 |
| 网关 | 协议转换 + 存储转发 | 取决于转换复杂度 | 连接 J1939-21 与 J1939-22 网段,或其他非 J1939 网络 |
⚠️ 常见误区:许多设计人员混淆“路由器”与“网关”的界限。请记住:仅在两个网段使用相同的 J1939 数据链路层(均为 J1939-21 或均为 J1939-22)时,才可考虑路由器;若一端是 J1939-21 而另一端是 J1939-22,则必须使用网关 NIECU,因为网关需要处理数据帧格式和消息语义的差异。
在消息过滤方面,标准定义了两种模式:阻塞模式(Block Mode Filter)和通过模式(Pass Mode Filter)。前者配置为拒绝某些类型消息,后者配置为仅允许匹配的消息通过。合理的过滤规则可以显著降低非必要流量对网段带宽的占用,这是设计多网段系统时必须仔细考虑的。
2023年版本(取代2018版)重点做了以下几项调整:
基于这些更新,实践中应避免以下常见错误:
🔍 此外,标准还提供了网络管理消息(如 N.MFDB)用于配置和监视 NIECU 的过滤数据库,这对于需要动态调整网络拓扑的系统尤为重要。
首先要根据实时性要求选择合适的 NIECU 类型。对延迟极度敏感的信号(如控制指令)应尽量避免经过路由器或网关,如果必须经过,应使用优先级队列并进行充分测试。桥接器和路由器的存储转发时间必须控制在 J1939-31 规定的最大延迟以内。此外,合理设计过滤规则可减少非必要等待。
J1939-31 对 off-tractor 网段定义了独立的地址空间,通常通过一个网关或路由器实现与拖拉机网段的互通。每个网段内部仍遵循 J1939 的 29位标识符寻址,但网关负责将地址映射到对应网段,并处理跨接线路上的物理层差异。
阻塞模式适用于已知大多数消息都需要转发,仅需禁止少数特定消息类型(如专有消息)通过的场景。通过模式更适用于仅需转发少数特定消息(如关键参数组)而拒绝全部其他消息的安全隔离场景。通常,通过模式更为严格,适合高安全要求的网段。