Hi3519DV500 + OS04A10 双目同步完整方案:从硬件接线到SVP深度引擎全打通

发布时间:2026/6/6 11:00:27

Hi3519DV500 + OS04A10 双目同步完整方案:从硬件接线到SVP深度引擎全打通 Hi3519DV500 OS04A10 双目同步完整方案从硬件接线到SVP深度引擎全打通在 Hi3519DV500 上实现双 OS04A10 传感器双目同步从硬件接线、驱动配置到 VI 管道和 SVP 双目深度引擎完整记录方案选型、关键踩坑点和快速上手步骤。前言双目视觉是嵌入式视觉领域进阶之路上的必修课——测距、深度估计、3D 重建都离不开它。但在 Hi3519DV500 上跑双 OS04A10 传感器同步远比想象中复杂Sensor 之间的同步信号怎么接驱动怎么配VI 管道如何同时收两路 MIPISVP 双目深度引擎怎么调我在鸿鸥派Hi3519DV500开发板上完整跑通了双 OS04A10 双目同步方案本文从硬件接线 → 方案选型 → 驱动配置 → VI 管道 → SVP 深度引擎全链路记录附带两种方案对比和 4 个关键踩坑点。一、整体架构双 OS04A10 双目系统的核心思路是主 Sensor 生成时序 → 从 Sensor 跟随同步 → Hi3519 同时收两路 MIPI┌─────────────────┐ HS/VS ┌─────────────────┐ │ OS04A10(Master) │ ─────────────▶ │ OS04A10(Slave) │ │ (普通驱动) │ │ (slave驱动) │ └────────┬────────┘ └────────┬────────┘ │ MIPI0 │ MIPI1 ▼ ▼ ┌──────────────────────────────────────────┐ │ Hi3519DV500 │ │ VI_Dev0 ← Master VI_Dev1 ← Slave │ │ ↓ ↓ │ │ VPSS/AVS 或 SVP 双目深度 │ └──────────────────────────────────────────┘关键点不是 Hi3519 去同步两个 Sensor而是 Sensor 之间自己同步Hi3519 只负责收两路 MIPI 数据。二、硬件接线4 根关键线连接从 → 到作用MIPI0 (2/4 lane)Master OS04A10 → Hi3519MIPI_RX0主图像数据MIPI1 (2/4 lane)Slave OS04A10 → Hi3519MIPI_RX1从图像数据HS 线Master HS_OUT → SlaveHS_IN行同步VS 线Master VS_OUT → SlaveVS_IN帧同步⚠️关键纠正Master 的 HS/VS 是连到 Slave Sensor 的输入引脚不是连 Hi3519 的 VI_HS/VS 引脚。很多人在这里搞混以为 SPI/I2C 之类的同步方式。实际接线图示意OS04A10(M) OS04A10(S) ┌──────┐ ┌──────┐ │HS_OUT├────────────▶│HS_IN │ │VS_OUT├────────────▶│VS_IN │ │ MIPI ├───MIPI0───▶│ │ └──────┘ └──────┘ │ │ │ │ ▼ ▼ Hi3519 MIPI_RX0 Hi3519 MIPI_RX1硬件选型要点HS/VS 电平OS04A10 的 HS/VS 是 1.8V CMOS 电平确认线长不超过 10cm 为佳MIPI lane 数OS04A10 支持 2-lane 或 4-lane MIPI两个 Sensor 必须用相同配置分线如果只有一个 OS04A10 的 FFC 座需要硬件上设计第二路 MIPI 接口三、两种双目同步方案对比方案 ASensor Master-Slave✅ 推荐OS04A10(Master) ──HS/VS──▶ OS04A10(Slave) │ │ MIPI0 MIPI1 │ │ └────── Hi3519DV500 ──────┘主 Sensor 输出 HS/VS → 从 Sensor 的 HS/VS 输入两个 Sensor 的 MIPI 分别接入 Hi3519 的 MIPI0 和 MIPI1驱动主 Sensor 用普通os04a10驱动从 Sensor 直接用 SDK 里的os04a10_slave驱动推荐理由SDK 自带驱动硬件改动最小时序可靠性高方案 BHi3519 VI 作 Sync MasterHi3519DV500 ──VI_SYNC──▶ OS04A10_0 ──VI_SYNC──▶ OS04A10_1Hi3519 的 VI 模块输出同步信号给两个 Sensor需要 OS04A10 支持外部触发模式external trigger不推荐OS04A10 的 slave 模式是接收另一个 sensor 的 HS/VS不是接收 VI 的触发信号与现有 slave 驱动不匹配四、软件配置3 步搞定Step 1驱动加载cd/komod# Master 用普通 os04a10 驱动Slave 用 SDK 自带的 slave 驱动./load3519dv500-a-sensor0os04a10-sensor1os04a10_slave-vo_intfmipitxSDK 里的os04a10_slave驱动已经配好了 slave 模式所需的全部寄存器直接复用即可不需要自己写。Step 2VI 管道配置两个 Sensor 建议分到不同的 VI Dev 以确保同时采集// VI Dev0 ← Master sensor (MIPI0)VI_DEV_ATTR_S dev0{.enIntfModeVI_INTF_MIPI,.enWorkModeVI_WORK_MODE_1Multiplex,// 独立采集.stDevMipiAttr{.MipiDev0}};// VI Dev1 ← Slave sensor (MIPI1)VI_DEV_ATTR_S dev1{.enIntfModeVI_INTF_MIPI,.enWorkModeVI_WORK_MODE_1Multiplex,.stDevMipiAttr{.MipiDev1}};如果两个 sensor 接入同一个 VI Dev用VI_WORK_MODE_2Multiplex模式但注意时分会降低帧率。Step 3SVP 双目深度业务// 参考 SDK 文档双目深度开发指南.pdf// VI Dev0 Dev1 分别出图 → 送入 SVP 双目匹配模块HI_MPI_SVP_Depth_Cal(handle,left_img,right_img);SDK 内的双目深度开发指南.pdf有完整的 API 调用说明和参数配置。五、快速上手步骤1. 硬件接线Master sensor MIPI → Hi3519 MIPI0 Slave sensor MIPI → Hi3519 MIPI1 Master HS → Slave HS_IN Master VS → Slave VS_IN2. 驱动配置cd/komod ./load3519dv500-a-sensor0os04a10-sensor1os04a10_slave-vo_intfmipitx3. 验证同步同时抓两个 sensor 的图像查看时间戳是否一致有条件的用 MIPI 分析仪抓 HS/VS 波形确认帧同步最简单的方法拍一个运动的物体看两帧是否对齐六、关键踩坑记录️ 坑 1HS/VS 接错方向现象Slave sensor 不出图或者图像撕裂解决确认 Master 的 HS/VS 是输出到 Slave 的输入引脚HS_IN/VS_IN不是接到 Hi3519 的 VI_HS/VI_VS 引脚。方向反了就没法同步。️ 坑 2MIPI lane 速率不一致现象Slave sensor 图像异常、丢帧解决两个 sensor 的 MIPI 时钟必须完全相同lane 配置也必须一致要么都是 2-lane要么都是 4-lane️ 坑 3VI 管道配置选错现象只有一路出图或者帧率减半解决推荐用两个独立的 VI DevDev0 Dev1各自独立采集。如果用同一个 Dev 的 2Multiplex 模式帧率会减半。️ 坑 4Sensor slave 寄存器没配全现象驱动加载成功但同步失败解决OS04A10 进入 slave 模式不只是改一个寄存器需要配一组寄存器同步使能、引脚方向、延时补偿等。直接复用 SDK 的os04a10_slave驱动不要自己从头写。七、方案总结维度要点硬件Master HS/VS 接 Slave HS/VS_IN两路 MIPI 分别进 Hi3519 MIPI0/1软件主 sensor 用普通驱动从 sensor 用 SDK 自带的os04a10_slave驱动业务VI Dev0 Dev1 独立采集 → 送入 SVP 双目深度引擎文档SDK 内双目深度开发指南.pdf有完整 API 说明关注我后台私信领取资料作者科技界的一粒微尘嵌入式AI开发实战 | 欢迎关注

相关新闻