Back to Blog

基于Jetson+FPGA+GMSL+AI的自动驾驶数据采集解决方案

#自动驾驶#人工智能#机器学习

基于 Jetson + FPGA + GMSL + AI 的自动驾驶数据采集解决方案

在自动驾驶系统研发的关键阶段,海量传感器数据的高质量采集、同步、存储与转移是验证感知算法、训练模型以及进行闭环测试的基石。本文围绕 Jetson + FPGA + GMSL + AI 的整体方案,详细阐述其硬件架构、关键技术指标以及在实际道路测试中的应用价值,帮助研发团队快速构建可靠的数据采集平台。

方案概述

自动驾驶车辆通常装配 Lidar、摄像头、IMU、雷达等多种高带宽传感器,这些传感器在不同的时钟域、不同的物理接口上产生的数据量可达数十 GB/s。为确保数据在采集、传输、处理到存储的全链路保持一致性,需要:

  1. 多类型传感器统一采集能力
  2. 强大的边缘计算算力(用于实时预处理、压缩、标记等)
  3. 灵活的软硬件配置(支持模块化扩展、快速迭代)
  4. 可靠的时间同步与高带宽传输

针对上述需求,Sienovo 提供了集成 Jetson 系列嵌入式 AI 计算平台、可编程 FPGA、GMSL 高速串行链路以及专属软件栈的完整解决方案,帮助研发团队在道路测试期间实现“采集即分析、存储即压缩、传输即监控”。

方案优势

本方案在硬件选型、系统集成和软件生态上均做了深度优化,能够在保持高性能的同时,提供易用的配置接口和可扩展的模块化设计。以下图示概括了主要优势点:

精准授时与同步

自动驾驶算法对时间戳的精度要求极高,尤其在多传感器融合(Sensor Fusion)阶段,时间误差直接影响定位与感知的准确性。方案实现了 纳秒级时间同步,具体表现为:

  • 相机与 Lidar 时间戳同步误差 < 1 ms
  • Lidar 通过 gPTP(IEEE 802.1AS)授时精度 < 20 µs
  • 多路相机 Trigger 模式曝光同步误差 < 10 µs

这些指标保证了在后端融合时,各传感器数据能够在同一时间基准下对齐,极大提升了算法验证的可信度。

同步实现要点

  1. FPGA 作为时间分发中心:利用 FPGA 的硬件计数器实现 1 ns 级别的全局时钟,向所有传感器接口输出统一的时间基准。
  2. gPTP 协议栈:在 Jetson 上运行 Linux gPTP 实现 IEEE 802.1AS,确保网络中 Lidar 设备能够自动对齐至全局时钟。
  3. Trigger 线同步:相机的曝光触发线通过 FPGA 产生统一的脉冲,保证多相机在同一帧时刻开始曝光,误差控制在 10 µs 以内。

高带宽传输及存储

在实际道路测试中,原始传感器数据往往以未压缩的形式采集,以保留全部细节供离线分析使用。方案提供 10 GB/s 的高速数据采集 能力,并通过 磁盘阵列卡 + SAS 固态硬盘 实现 理论最高 8 GB/s 的写入速率。关键指标如下:

  • 最高可无损存储原始数据达 120 TB
  • 支持 50~200 倍比例压缩(基于硬件 H.264/H.265 编码或自研无损压缩算法)

这些能力使得一次长时间的道路跑测(如 4 h)仍能完整记录全部传感器原始流,且在压缩后占用的存储空间可控制在可接受范围。

存储子系统设计

  • RAID 0+1 组合:通过磁盘阵列卡将多块 2 TB SAS SSD 组成 RAID 0+1,实现高速写入同时提供冗余。
  • 分层缓存:Jetson 的内置 LPDDR4 与 FPGA 的 DDR4 作为前置缓存,平滑突发写入带来的 IO 峰值。
  • 压缩管线:在 FPGA 中嵌入实时压缩 IP 核,压缩后直接写入 SSD,降低磁盘写入压力并提升整体系统稳定性。

旁路采集无感分流

在不干扰主控系统(如车辆 CAN 总线、ADAS 计算平台)正常运行的前提下,实时监控传感器数据流是调试和故障定位的重要手段。方案实现 旁路采集,具体表现为:

  • 不破坏原有的数据流:通过硬件分流芯片(如 PCIe Switch)在不影响原始链路的情况下复制数据。
  • 主机系统无感受:采集卡独立工作,主控 CPU 负载不受额外数据复制影响。
  • 支持多通道数据传输:可同时旁路 4~8 条高带宽链路,满足多传感器同步采集需求。

实现方式

  1. PCIe Switch:在 Jetson 与传感器之间插入 PCIe Switch,利用其镜像功能将原始数据复制到采集卡。
  2. GMSL 分路器:对于使用 GMSL(Gigabit Multimedia Serial Link)的摄像头,采用专用分路器实现光纤级别的无损复制。
  3. 软件透明层:在 Linux 上通过 v4l2loopback 创建虚拟设备,供调试工具实时读取旁路数据。

数据高一致性

在整个采集链路中保持数据的一致性是保证后续分析结果可信的前提。方案通过统一时间基准、同步存储以及连续写入策略,实现 ΔT 时间误差 < 1 ms 的高一致性,并支持 连续存储不丢帧

  • 采集总线数据与摄像头数据时间统一:所有传感器的时间戳均基于同一全局时钟,误差控制在毫秒级以下。
  • 连续存储不丢帧:通过 FPGA 的硬件流控和 SSD 的高速写入,确保在高负载情况下仍能完整写入每一帧数据。

典型使用流程

下面给出一个典型的道路测试部署步骤,帮助用户快速上手:

  1. 硬件搭建

    • 将 Jetson(如 Xavier AGX)通过 PCIe 与 FPGA(如 Xilinx ZU7)相连。
    • 使用 GMSL 线缆将摄像头、Lidar 等传感器接入 FPGA 的对应接口。
    • 将磁盘阵列卡插入 Jetson 的 PCIe x8 插槽,连接 8 TB SAS SSD(可根据需求扩容)。
  2. 系统初始化

    • 在 Jetson 上部署 Ubuntu 20.04 + ROS 2,安装 gPTP 软件包并配置为时间主机。
    • 启动 FPGA 固件,确保全局时钟、Trigger 线和数据分流功能正常。
  3. 同步校准

    • 使用 ptp4lphc2sys 将 Lidar 与全局时钟对齐,检查时间戳误差是否低于 20 µs。
    • 通过摄像头的 Trigger 配置界面确认曝光同步误差 < 10 µs。
  4. 数据采集

    • 启动 ROS 2 节点 data_recorder,指定保存路径与压缩模式(无损/有损)。
    • 监控磁盘写入速率,确保实际写入不低于 6 GB/s(留有余量)。
  5. 实时旁路监控

    • 在另一台工作站上运行 v4l2-ctl 或自研的实时可视化工具,读取旁路摄像头流。
    • 检查是否出现帧丢失或延迟,若出现异常则通过 FPGA 的硬件日志定位问题。
  6. 后处理

    • 完成测试后,将 SSD 中的原始数据通过 10 GbE 网络传输至离线服务器。
    • 使用压缩日志对比压缩前后数据完整性,确保压缩比例在 50~200 倍范围内且无信息丢失。

小结

通过 Jetson + FPGA + GMSL + AI 的组合,本方案在时间同步、带宽传输、存储容量、旁路采集以及数据一致性方面提供了业界领先的技术指标。研发团队可以在保持系统稳定性的前提下,灵活配置传感器种类与数量,实现从原始数据采集到压缩存储的全链路自动化。借助这些能力,自动驾驶算法的验证、模型的迭代以及道路测试的效率都将得到显著提升。

如果您对方案的细节实现、定制化需求或软硬件集成有进一步的兴趣,欢迎联系 Sienovo 的技术支持团队获取完整技术文档与现场演示。