协议栈与中间件全景
拓展整理,SOME/IP、DDS、DoIP、TSN、UDS 等协议详解与对比
一、协议栈总览
| 协议 |
层级 |
主要用途 |
典型场景 |
| CAN/CANFD |
数据链路 |
传统 ECU 通信 |
动力、底盘、车身 |
| LIN |
数据链路 |
低成本低速 |
车门、座椅、雨刷 |
| FlexRay |
数据链路 |
高确定性与冗余 |
底盘、转向(逐渐减少) |
| Ethernet |
物理+链路 |
高速骨干网 |
域控、智驾、诊断 |
| SOME/IP |
应用/中间件 |
服务发现、RPC、事件 |
座舱、配置、车身服务 |
| DDS |
应用/中间件 |
数据分发、发布订阅 |
智驾、传感器融合 |
| DoIP |
应用 |
基于 IP 的诊断 |
远程诊断、车间诊断 |
| UDS |
应用 |
诊断服务集 |
所有诊断场景 |
| TSN |
链路/网络 |
时敏、确定性 |
智驾、AVB 音视频 |
二、SOME/IP 详解
2.1 概述
- 全称:Scalable service-Oriented Middleware over IP
- 标准:AUTOSAR、GENIVI
- 特点:服务发现、RPC、Event、轻量、面向车载
2.2 核心概念
| 概念 |
说明 |
| Service |
提供能力的功能单元,有 Method、Event、Field |
| Method |
请求-响应式调用(RPC) |
| Event |
事件通知,订阅者接收 |
| Field |
可读写的状态 + 可选 Event |
| Service Discovery |
服务实例发现与订阅 |
2.3 与 Android 的关系
- 座舱/车身服务多通过 SOME/IP 暴露
- Car Config、空调、座椅等常为 SOME/IP 服务
- Android 应用通过 VHAL/OEM 中间件间接调用,一般不直接实现 SOME/IP
三、DDS 详解
3.1 概述
- 全称:Data Distribution Service
- 标准:OMG
- 特点:数据为中心、发布订阅、去中心、高吞吐
3.2 核心概念
| 概念 |
说明 |
| Domain |
逻辑隔离的通信域 |
| Topic |
数据类型 + 名称 |
| Publisher/Subscriber |
发布者/订阅者 |
| Quality of Service (QoS) |
可靠性、时延、持久化等 |
| Discovery |
自动发现,无需中心注册 |
3.3 SOME/IP vs DDS
| 维度 |
SOME/IP |
DDS |
| 设计理念 |
服务导向、RPC/Event |
数据导向、发布订阅 |
| 发现方式 |
集中/分布式服务发现 |
对等自动发现 |
| 资源占用 |
相对轻量 |
相对较大 |
| 适用场景 |
座舱服务、配置、控制 |
智驾数据、传感器融合、大数据量 |
| 标准 |
AUTOSAR |
OMG |
| Android 支持 |
多为底层/OEM 实现 |
明确支持 Android 域控 |
3.4 选型建议
- 座舱、车身、配置:SOME/IP 为主
- 智驾、多节点、高数据量:DDS 更合适
- 混合架构:中央网关做协议转换或桥接
四、DoIP 与 UDS
4.1 DoIP (Diagnostic over IP)
| 项目 |
说明 |
| 标准 |
ISO 13400 |
| 作用 |
在 TCP/UDP 上承载 UDS 诊断 |
| 优点 |
高带宽、支持以太网、便于远程 |
| 典型 |
车间诊断、远程诊断、OTA 前诊断 |
4.2 UDS (Unified Diagnostic Services)
| 项目 |
说明 |
| 标准 |
ISO 14229 |
| 典型服务 |
0x22 读 DID、0x31 例程、0x19 读 DTC、0x14 清 DTC 等 |
| 承载 |
DoIP、DoCAN、DoCANFD、DoLIN |
4.3 DID / RID / DTC
| 术语 |
含义 |
| DID |
Data Identifier,数据标识,如 VIN、里程 |
| RID |
Routine Identifier,例程标识,如自检、复位 |
| DTC |
Diagnostic Trouble Code,故障码 |
五、TSN (Time-Sensitive Networking)
5.1 概述
- 基础:IEEE 802.1 系列
- 目标:在以太网上提供确定性、低时延传输
- 典型机制:时间同步(gPTP)、流量整形(Qbv)、预留带宽等
5.2 应用场景
5.3 与 Android
- Android 非实时 OS,不直接实现 TSN
- 底层网络由 BSP/交换机/网关保证 TSN
- 应用侧只需关注业务逻辑与数据使用
六、协议在整车中的典型分布
┌─────────────┐
│ Cloud/ │
│ Tester │
└──────┬──────┘
│ DoIP / HTTPS
┌──────▼──────┐
│ CGW / TCAM │
│ DoIP,UDS │
└──────┬──────┘
│ SOME/IP, DDS, DoIP
┌─────────────────┼─────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│ Cockpit │ │ ADAS │ │ ZCU │
│ SOME/IP │ │ DDS │ │SOME/IP │
│ (Android) │ │ │ DoIP │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
└─────────────────┼─────────────────┘
│ CAN/CANFD/LIN
┌──────▼──────┐
│ 传统 ECU │
│ DoCAN, UDS │
└─────────────┘
七、开发工具与资源
| 协议 |
典型工具 |
| SOME/IP |
Vector CANoe、vSomeIP、CommonAPI |
| DDS |
Eclipse Cyclone DDS、RTI Connext、OpenDDS |
| DoIP/UDS |
Vector、EB、ETAS 诊断工具 |
| CAN |
Vector CANalyzer、PCAN、SocketCAN |
| TSN |
芯片厂商 TSN 配置工具、交换机配置 |
八、Android 开发者速查
| 需求 |
可能涉及的协议 |
| 读车速、里程、VIN |
VHAL → SOME/IP 或 CAN(底层封装) |
| 调空调、座椅 |
VHAL → SOME/IP 服务 |
| 显示故障码 |
VHAL/诊断服务 → UDS/DoIP |
| 智驾状态展示 |
可能为 DDS 或 SOME/IP(视架构而定) |
| OTA 状态 |
平台 OTA 服务,底层多走 DoIP/HTTPS |
协议选型与实现取决于具体车型与供应商,以项目设计为准。
0 条评论