跳到主要内容

CCG3-8M 应用

自动驾驶感知方案

视频采集卡可应用于无人车系统。无人车通常需要多路摄像头、毫米波雷达、激光雷达、GPS、组合导航等传感器,并需要将这些传感器接入高性能计算平台(如工业计算机)。因此,需要一种能够同时连接多路摄像头并与其他传感器同步的产品。视频采集卡正是面向无人车提供高速、多摄像头、低延迟图像接入的解决方案。以下是典型方案示例。

CCG3-8M 应用 Scenario

系统架构

  • GMSL 摄像头: 多路高分辨率摄像头连接到 CoaxCapture 采集卡,由采集卡汇聚并同步各路视频流。
  • CoaxCapture 采集卡: 通过 PCIe 安装在车辆 IPC(工业计算机)中,接收摄像头数据和同步信号,确保所有通道达到帧级对齐。
  • GPS 模块: 提供 1PPS(每秒脉冲)和 TOD(时间信息)信号,作为全局时间参考。
  • 以太网交换机: 支持 PTP/gPTP(精确时间协议/通用精确时间协议),用于激光雷达、雷达及其他传感器之间的时间同步。
  • 激光雷达/外部设备: 向 CCG3-8M 提供 TTL 方波信号,实现硬件级摄像头同步,确保摄像头采集与传感器测量之间精确对齐。
  • IPC(工业计算机): 中央处理单元,用于采集、处理并存储来自所有传感器的同步数据。

同步流程

  1. GPS 向时间同步盒提供 1PPS 和 TOD 信号,时间同步盒再通过以太网向采集卡及其他设备输出 PTP 信息。
  2. CoaxCapture 采集卡使用这些信号同步所有已连接的 GMSL 摄像头,确保每一帧都具备准确时间戳,并与车辆其他传感器对齐。
  3. 以太网交换机将 PTP/gPTP 信号传递到激光雷达、雷达及其他设备,实现全系统时间同步。
  4. 包括视频、激光雷达和雷达在内的所有传感器数据均由 IPC 采集,用于实时处理和记录。

快速启动

SDK 下载

摄像头Linux 系统版本驱动包下载链接驱动包下载方式
GMSL2 摄像头 (YUV 数据)
(例如: SG3S-ISX031C-GMSL2-Hxxx)
Ubuntu 18.04/20.04/22.04/24.04链接复制完整链接地址到 DownGit 下载

目录结构

该软件包包含以下关键目录和文件:

目录/文件说明
bash/用于设备管理的 Bash 脚本。
Makefile驱动和应用的构建脚本(支持按目录编译)。
xdma_v4l2/PCIe 板卡驱动源代码。
include/xdma 驱动头文件。
./tool/pcie_a53_rw用于读写 PCIe 板卡 PS(Processing System)数据的应用程序。
./tool/pcie_reg_rw用于读写 PCIe 板卡寄存器值的应用程序。
./tool/xdma_v4l2_rw用于通过 V4L2(Video for Linux 2)接口配置驱动的应用程序。

前置条件

  • Ubuntu 18.04、20.04、22.04 或 24.04。

安装与使用

1. 加载驱动

进入 bash/ 目录并执行以下脚本加载驱动:

sudo ./load_modules.sh

成功输出:

Loading Pcie driver...
Pcie driver installed correctly.
Video devices were recognized.
DONE

验证:
加载成功后,/dev 目录中会生成视频设备文件(如 /dev/video0/dev/video1/dev/video2/dev/video3)。同时也会创建控制接口文件(如 xdma0_bypassxdma0_controlxdma0_user)。其中数字(如 0)对应 PCIe 板卡索引(如 0 表示第一张板卡,1 表示第二张,依此类推)。


2. 初始化 PCIe 板卡

执行以下脚本初始化 PCIe 板卡(例如板卡 0)并配置已连接摄像头:

sudo ./pcie_init_card0.sh

成功输出:

Reset Process!
Card Params Init Processed!
Serdes 0 Params Init Processed!
Serdes 1 Params Init Processed!
...
Info: All process in pcie_init.sh passed.

注意:如果有多张采集卡,可再次修改 pcie_init_card*.sh 脚本,然后执行以下命令:

sudo ./pcie_init_card*.sh

3. 图像测试

使用开源工具 guvcview 测试视频采集。

安装 guvcview(如果尚未安装):

sudo apt-get install guvcview

测试视频流:

将摄像头连接到板卡后,运行:

# For video0 (board 0, channel 0)
guvcview -d /dev/video0

# For video1 (board 0, channel 1)
guvcview -d /dev/video1

# Repeat for video2, video3 (if supported)

验证帧率:
如需采集并验证帧率,执行:

v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=1000

配置摄像头参数

如需针对不同摄像头修改参数,请调整:

  1. pcie_init_card0.sh 脚本(用于初始化配置)。
  2. pcie_a53_rw 应用程序(用于底层寄存器/控制调整)。

固件烧录

采集卡出厂时已预烧录固件以支持 YUV 或 RAW12 模式。如需切换模式:

  1. 使用 固件Resources/ 目录中的对应文件重新烧录固件:
    • YUYV/UYVY (YUV):使用 pcie_zu_fw-xxxx-YUV.tar.gz
    • RAW12:使用 pcie_zu_fw-xxxx-RAW12.tar.gz

2.采集卡固件升级命令如下:

cd /tools/pcie_zu_tools
sudo ./pcie_zu-updata.sh ./pcie_zu_fw-xxxx-RAW12.tar.gz

注意事项

  • 初始化板卡前,请确保所有摄像头均已通过同轴线缆正确连接。
  • 如出现问题,请检查 /dev 目录中的视频设备文件,并确认驱动加载日志。