ZHCADU3 February   2024 AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1 , DS90UB953A-Q1 , DS90UB960-Q1 , TDES960 , TSER953

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2将多个 CSI-2 摄像头连接到 SoC
    1. 2.1 使用 SerDes 的 CSI-2 聚合器
    2. 2.2 不使用 SerDes 的 CSI-2 聚合器
  6. 3在软件中启用多个摄像头
    1. 3.1 摄像头子系统软件架构
    2. 3.2 图像流水线软件架构
  7. 4参考设计
    1. 4.1 支持的摄像头
    2. 4.2 设置四个 IMX219 摄像头
    3. 4.3 配置摄像头和 CSI-2 RX 接口
    4. 4.4 从四个摄像头进行流式传输
      1. 4.4.1 将摄像头数据流化传输到显示器
      2. 4.4.2 通过以太网流式传输摄像头数据
      3. 4.4.3 将摄像头数据存储到文件
    5. 4.5 多摄像头深度学习推理
      1. 4.5.1 模型选择
      2. 4.5.2 流水线设置
  8. 5性能分析
  9. 6总结
  10. 7参考资料

摄像头子系统软件架构

图 3-1 展示了 AM62A/AM62P Linux SDK 中摄像头捕捉系统软件的简要方框图,其对应于图 2-2 中的硬件系统。

GUID-20240205-SS0I-JWCB-TS7D-DP9BRBSQLWKZ-low.svg图 3-1 使用 SerDes 的摄像头捕捉系统简要方框图

此软件架构使 SoC 能够使用 SerDes 接收多个摄像头流,如图 2-2 所示。FPD-Link/V3-Link SerDes 为每个摄像头分配一个唯一的 I2C 地址和虚拟通道。应使用每个摄像头的唯一 I2C 地址创建唯一的器件树叠层。CSI-2 RX 驱动程序使用唯一的虚拟通道编号来识别每个摄像头,并为每个摄像头流创建一个 DMA 上下文。针对每个 DMA 上下文会创建一个视频节点。然后,使用 DMA 接收来自每个摄像头的数据,并将其相应地存储到存储器中。用户空间应用程序使用与每个摄像头相对应的视频节点来访问摄像头数据。第 4 章“参考设计”中提供了一些使用此软件架构的示例。

任何与 V4L2 框架兼容的特定传感器驱动程序都可以在此架构中即插即用。请参阅 [8] 来了解如何将新的传感器驱动程序集成到 Linux SDK 中。