DoIP 和 SOME/IP 从信号导向到服务导向
相比传统的 CAN (Controller Area Network),以太网架构下的 DoIP 和 SOME/IP 代表了汽车电子从“工业控制网络”向“IT 网络架构”的全面演进。
1 min read
感觉前几年在做的 ASAM CCP 和 ASAM XCP 或者是 ISO 14229 的文档我已经看的够多了。
都是基于 CAN 总线的通讯,感觉已经要是过时或者废弃的通讯方式了。
相比传统的 CAN (Controller Area Network),以太网架构下的 DoIP 和 SOME/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) 在以太网上的载体。
- 协议标准: 研读 ISO 13400 系列标准。
- 核心概念:
- 边缘节点 (Edge Node) 与网关: 外部诊断仪如何通过边缘节点进入车载网络。
- 激活线 (Activation Line): 物理层如何激活 DoIP 实体。
- 节点发现与声明: 诊断仪如何发现车辆(Vehicle Identification)。
- 路由激活 (Routing Activation): 建立逻辑连接的安全认证过程。
- 报文结构: 学习 DoIP Header(协议版本、报文类型、长度)以及 Payload。
- 与传统诊断对比: 理解 $UDS\ on\ CAN$ (ISO 15765) 与 $UDS\ on\ IP$ 的映射关系。
第三阶段:SOME/IP 专项学习 (SOA 核心)
SOME/IP 是车载 SOA 架构的基石,复杂度比 DoIP 高得多。
- 协议标准: 查阅 AUTOSAR 相关规范。
- 通信模式:
- RR (Request/Response): 经典的请求-响应。
- FF (Fire & Forget): 只发不管。
- Events: 订阅/发布模式,理解什么是 Notification。
- SOME/IP-SD (Service Discovery):
- 核心功能: 寻找服务、提供服务、订阅/停止订阅。
- 状态机: 理解 Initial Data Phase、Repetition Phase、Main Phase 的切换。
- 序列化 (Serialization): 数据如何在网络中打成二进制流(大端传输、对齐规则)。
第四阶段:实战与工具链
理论之后,你需要知道在工作中如何调试。
- Wireshark 抓包分析: 学习编写 Wireshark 插件或使用内置解析器分析 DoIP 和 SOME/IP 报文。
- 常用工具: 了解行业标准工具(如 Vector CANoe/CANalyzer 的 Ethernet Option)。
- AP/CP AUTOSAR 架构: 了解 Adaptive AUTOSAR 如何集成 SOME/IP。
#DoIP
#SOME/IP