自动驾驶记录仪数据提取标准流程(DoIP/UDS)

一、背景

随着汽车技术,特别是新能源汽车的快速发展,车载电控单元数量激增,激光雷达、视频图像等高带宽数据的需求日益增长,传统的CAN总线已逐渐难以满足高效传输的要求。在此背景下,DoIP(以太网诊断协议)等新型通信协议应运而生。

近期,我们项目涉及 DSSAD (数据存储系统,用于自动驾驶)的相关开发。随着L3级自动驾驶在2025年逐步进入标准化与法规化阶段,主流主机厂大多已将其集成至域控制器中。然而,在试验车辆或为通过L3准入而必须加装的自动驾驶记录仪(即"自动驾驶黑匣子")等领域,仍存在一定的市场机会。该设备本质上是对传统EDR(事件数据记录系统)在自动驾驶维度上的功能扩展。

本文旨在结合项目实践,对国标 《GB/T 44497-2024》 进行解读并提出部分实施建议,同时梳理其数据记录流程与报文拼接逻辑。该标准将记录系统分为III型 :I型记录数据相对精简,主要针对时间段事件与时间戳事件;II型 则要求更为全面,至少需要连续存储8小时以上的数据其中包括视频和图片,有的主机厂要求增加激光雷达数据信息的记录,这对车辆的本地存储能力提出了新的挑战。那么我们如何才能赢得市场呢?更低的价格、更高的性能。我想会是一个比较好的方面对于成本严格把控的主机厂来说。

二、国标的相关解读(参考了其他网址的图片)

2.1 不同型系统对应的种类

2.2 不同型系统对于记录的数据要求及数据元素分类

2.3 存储能力的计算(大约)

三、doip的通信流程

3.1 链接流程及其报文

根据国标GB/T 44497-2024与相关协议规定,通过DoIP读取自动驾驶数据记录系统(DSSAD)数据的完整通信流程如下。请注意,流程中ECU的逻辑地址(0x0E01)为占位符,实际地址需由主机厂提供并在车辆说明书中明确。

通信流程概览

整个流程遵循 **GB/T 43258.2 (DoIP)** 与 **GB/T 40822 (UDS)** 标准,采用物理寻址,主要分为:建立连接、数据整合、请求文件、传输数据、校验完整性及处理辅助文件等阶段。

阶段一:建立诊断连接

  1. **路由激活**

* **目的**:在DoIP层建立连接。

* **请求**:`02 fd 00 05 00 00 00 07 0f 80 00 00 00 00 00`

* **肯定响应**:`02 fd 00 06 00 00 00 09 0f 80 0e 01 10 00 00 00 00`

  1. **维持会话(TesterPresent)**

* **目的**:保持诊断会话激活,需**每2秒发送一次**。

* **请求**:`02 fd 80 01 00 00 00 06 0f 80 0e 01 3e 00`

* **肯定响应**:`02 fd 80 02 00 00 00 06 0e 01 0f 80 7e 00`

  1. **进入扩展会话**

* **目的**:使ECU进入可执行特定服务的模式。

* **请求**:`02 fd 80 01 00 00 00 06 0f 80 0e 01 10 03`

* **肯定响应**:`02 fd 80 02 00 00 00 06 0e 01 0f 80 50 03`

阶段二:数据整合

此阶段用于按需整合事件数据,为文件生成做准备。

  1. **读取VIN(车辆识别码)**

* **目的**:获取车辆VIN,用于后续构造文件名。

* **请求**:`02 fd 80 01 00 00 00 07 0f 80 0e 01 22 f1 90`

* **肯定响应**:`02 fd 80 02 00 00 00 18 0e 01 0f 80 62 f1 90 56 49 4e...` (含VIN ASCII码)

  1. **整合事件数据(RoutineControl - 0x31)**

* **目的**:驱动ECU按条件整合"时间戳事件"或"时间段事件"数据。

* **关键**:时间范围(BCD码)或事件序号需**自行构建**。

* **a. 时间戳事件整合**

* **请求**:`02 fd 80 01 00 00 00 16 0f 80 0e 01 31 01 f1 aa 开始时间BCD 结束时间BCD`

* **肯定响应(成功)**:`...71 01 f1 aa 00`

* **否定响应**:`...7f 31 31` (可能因时间超范围或无数据)

* **b. 时间段事件整合**

* **请求**:`02 fd 80 01 00 00 00 09 0f 80 0e 01 31 01 f1 ac 事件序号`

* **肯定响应(成功)**:`...71 01 f1 ac 00`

**阶段三:请求与传输数据文件

  1. **请求文件传输(RequestFileTransfer - 0x38)**

* **目的**:请求ECU准备指定的数据文件(JSON格式)以供下载。

* **关键**:文件路径为 `/var/DSSAD/<文件名>`,路径长度需**自行计算**。文件名中的 `XXXXXXXXXXXXXXXXX` 需替换为**实际读取的VIN**。

* **a. 请求时间戳事件文件**

* **示例请求**:`02 fd 80 01 ... 38 10 00 34 2f 76 61 72...` (路径: `/var/DSSAD/VIN*********_CN-DSSAD_Timestamp.json`)

* **b. 请求时间段事件文件**

* **示例请求**:`02 fd 80 01 ... 38 10 00 38 2f 76 61 72...` (路径: `/var/DSSAD/VIN*********_CN-DSSAD_Time-Sequence.json`)

* **肯定响应**:`02 fd 80 02 00 00 00 10 0e 01 0f 80 78 10 02 04 00 00 00 04 03 11 8a 11`

  1. **传输数据(TransferData - 0x36)**

* **目的**:分块传输文件数据流。

* **关键**:块序列计数器从 `0x01` 开始,每次请求递增,至 `0xFF` 后重置为 `0x00`。

* **请求**:`02 fd 80 01 00 00 00 06 0f 80 0e 01 36 块计数器`

* **肯定响应**:包含实际文件数据(如JSON内容)。

  1. **退出数据传输(RequestTransferExit - 0x37)**

* **目的**:结束当前文件的传输流程。

* **请求**:`02 fd 80 01 00 00 00 05 0f 80 0e 01 37`

* **肯定响应**:`02 fd 80 02 00 00 00 05 0e 01 0f 80 77`

**阶段四:校验与辅助文件处理**

  1. **校验文件完整性**

* **目的**:获取文件的CRC32值,用于验证传输完整性。

* **请求**:`02 fd 80 01 00 00 00 08 0f 80 0e 01 31 01 f1 ab`

* **肯定响应**:`...71 01 f1 ab CRC32值` (需**自行计算比对**)

  1. **解析JSON并读取辅助文件**

* **目的**:若JSON中引用了视频/图像文件,需循环读取。

* **流程**:对每个辅助文件路径,重复执行 **步骤6至9**。

* **注意**:请求路径通常为 `/var/DSSAD/...`,ECU内部会映射到实际存储位置(如 `/data/...`)。

**阶段五:结束诊断**

  1. **退出扩展会话**

* **目的**:使ECU返回默认会话模式。

* **请求**:`02 fd 80 01 00 00 00 06 0f 80 0e 01 10 01`

* **肯定响应**:`02 fd 80 02 00 00 00 06 0e 01 0f 80 50 01`

**总结**:本流程以标准服务为基础,实际开发中需重点注意 **ECU逻辑地址、时间/序号参数构建、文件路径动态生成(基于VIN)、CRC校验** 等需根据实际情况填充或计算的部分。

相关推荐
雪岭飞花2 天前
需要测试多少里程,才能证明自动驾驶系统足够安全?
自动驾驶
Liaiyang662 天前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
地平线开发者3 天前
模型部署|如何解决算子约束
深度学习·算法·自动驾驶
熠速4 天前
HIL测试中的总线与通信协议
人工智能·自动驾驶·仿真测试·硬件在环半实物仿真
深蓝学院6 天前
阿里突袭自动驾驶!开源Qwen-Drive-1.0,统一“感知+规划+问答”
大模型·自动驾驶
AiNightVision7 天前
NMC存算一体与AI ISP
人工智能·算法·车载系统·自动驾驶·无人机·视频·智能硬件
别动我齐刘海7 天前
ROS2 Jazzy + C++ 实战路线——基础学习1
c++·vscode·python·ubuntu·机器学习·自动驾驶·github
JuiceFS7 天前
卓驭:百 PB 级智驾数据存储架构演进
后端·自动驾驶
AiNightVision8 天前
AI-ISP微光全彩夜视技术深度解析:如何在0.001Lux下实现全彩成像
人工智能·计算机视觉·车载系统·自动驾驶·无人机·智能家居·智能硬件
硅谷秋水11 天前
Qwen-Drive-1.0:迈向自动驾驶视觉-语言基础模型的第一步
人工智能·深度学习·机器学习·语言模型·自动驾驶