Blog/DoIP 和 SOME/IP 从信号导向到服务导向

DoIP 和 SOME/IP 从信号导向到服务导向

相比传统的 CAN (Controller Area Network),以太网架构下的 DoIP 和 SOME/IP 代表了汽车电子从“工业控制网络”向“IT 网络架构”的全面演进。

max
max
1 min read

感觉前几年在做的 ASAM CCP 和 ASAM XCP 或者是 ISO 14229 的文档我已经看的够多了。

都是基于 CAN 总线的通讯,感觉已经要是过时或者废弃的通讯方式了。

相比传统的 CAN (Controller Area Network),以太网架构下的 DoIPSOME/IP 代表了汽车电子从“工业控制网络”向“IT 网络架构”的全面演进。

我让 Gemini 给我制定了一个学习路线。

想要掌握 DoIP (Diagnostic over IP)SOME/IP (Scalable service-Oriented MiddlewarE over IP),你实际上是在跨越传统汽车电子(CAN/UDS)与现代车载以太网(Ethernet/TCP/IP)之间的鸿沟。

第一阶段:夯实底层基础 (The Bedrock)

在深入协议之前,你必须理解车载以太网的物理层和标准的网络协议栈。

  • OSI 七层模型: 重点掌握第二层(数据链路)、第三层(网络)和第四层(传输)。
  • 车载以太网物理层: 了解 100BASE-T1 / 1000BASE-T1 与普通家用以太网的区别(双绞线、全双工、PAM3 调制)。
  • TCP/IP 协议族: 深入理解 IP 地址分配 (Static/DHCP/Auto-IP)ARP 协议ICMP 以及 TCP 与 UDP 的本质区别。
  • VLAN (802.1Q): 车载网络通常通过 VLAN 隔离不同域的流量,这是必考点。

第二阶段:DoIP 专项学习 (诊断进阶)

DoIP 主要是为了解决大数据量刷新和多节点诊断效率问题,它是 UDS (ISO 14229) 在以太网上的载体。

  1. 协议标准: 研读 ISO 13400 系列标准。
  2. 核心概念:
    • 边缘节点 (Edge Node) 与网关: 外部诊断仪如何通过边缘节点进入车载网络。
    • 激活线 (Activation Line): 物理层如何激活 DoIP 实体。
    • 节点发现与声明: 诊断仪如何发现车辆(Vehicle Identification)。
    • 路由激活 (Routing Activation): 建立逻辑连接的安全认证过程。
  3. 报文结构: 学习 DoIP Header(协议版本、报文类型、长度)以及 Payload。
  4. 与传统诊断对比: 理解 $UDS\ on\ CAN$ (ISO 15765) 与 $UDS\ on\ IP$ 的映射关系。

第三阶段:SOME/IP 专项学习 (SOA 核心)

SOME/IP 是车载 SOA 架构的基石,复杂度比 DoIP 高得多。

  1. 协议标准: 查阅 AUTOSAR 相关规范。
  2. 通信模式:
    • RR (Request/Response): 经典的请求-响应。
    • FF (Fire & Forget): 只发不管。
    • Events: 订阅/发布模式,理解什么是 Notification
  3. SOME/IP-SD (Service Discovery):
    • 核心功能: 寻找服务、提供服务、订阅/停止订阅。
    • 状态机: 理解 Initial Data Phase、Repetition Phase、Main Phase 的切换。
  4. 序列化 (Serialization): 数据如何在网络中打成二进制流(大端传输、对齐规则)。

第四阶段:实战与工具链

理论之后,你需要知道在工作中如何调试。

  • Wireshark 抓包分析: 学习编写 Wireshark 插件或使用内置解析器分析 DoIP 和 SOME/IP 报文。
  • 常用工具: 了解行业标准工具(如 Vector CANoe/CANalyzer 的 Ethernet Option)。
  • AP/CP AUTOSAR 架构: 了解 Adaptive AUTOSAR 如何集成 SOME/IP。
#DoIP
#SOME/IP