Skip to main content
IQ8-EVK 通过三个 MIPI CSI 接口支持摄像头传感器连接,同时支持 C-PHY 和 D-PHY 模式。

硬件架构

CSI 接口映射

DIP 开关配置

支持的 MIPI CSI 摄像头传感器

ov9282 摄像头传感器

Arducam imx577 摄像头传感器

Arducam 传感器需要额外的转接板(Arducam 22 针转 Qualcomm 30 针 CSI 适配器) Arducam imx577 传感器 + 22 针排线 + 转接板

Arducam imx577 摄像头传感器连接到 iq8275

ov9282 摄像头传感器连接到 iq8275

支持的分辨率

  • IQ-8275 不支持 SHDR、LDC 和 EIS 等高级功能。
  • 没有硬件 JPEG 编码器 — 快照使用在 CPU 上运行的软件编码器。

摄像头流传输

运行摄像头的前提条件

  • 启用摄像头功能
在 Qualcomm Linux 2.0 上,qcom-multimedia-proprietary-image 默认包含下游摄像头软件包,但摄像头功能不会自动启用。 在设备 shell 中运行以下命令,在 qcom-multimedia-proprietary-image 上启用摄像头支持:
  • 清除 GStreamer 注册表(如需要)
如果在启用摄像头 overlay 之前执行过 GStreamer 命令,则必须在启用摄像头 overlay 后清除 GStreamer 注册表。 运行以下命令清除注册表:
  • 已知问题: 由于一个已知问题,IQ8 上的摄像头基本用例无法工作 要解决此问题,请应用以下临时解决方案: 在运行摄像头用例之前,先运行以下命令:

单摄像头流

上述命令以 720p、30 FPS 的配置启动摄像头。 来自摄像头传感器的帧会被 fakesink 丢弃。 如果 gst 流水线状态如下所示变为 “PLAYING”,则表示摄像头正在运行。 由于此命令将摄像头帧转储到 fakesink,设备上不会保存任何内容。 如果流水线状态变为 PLAYING,则摄像头正在运行。按 Ctrl+C 停止。

视频编码

此命令以 720p、30 FPS 的配置启动摄像头,并在 h264 视频编码后将其保存为视频文件。如果 gst 流水线状态变为 “PLAYING”,则表示摄像头正在运行。 要停止摄像头,请按 CTRL+C。 设备上会生成 /opt/mux_avc.mp4。可以在主机 PC 上运行以下 scp 命令从设备拉取录制的内容:

视频编码 + 快照

1

启动流水线

2

拍摄快照

在交互式菜单中:(1) Ready → (3) Playing → (p) Plugin Mode → (11) camerasrc → (37) capture-image → (1) Snapshot → 输入数量
3

停止并获取文件

按 Enter → b(返回)→ q(退出)。

使用离线 IFE 的多摄像头

IQ-8275 有两个用于实时 bayer 到 YUV 处理的 IFE。最多两个摄像头可以通过实时 IFE 并发工作。 离线 IFE 功能允许单个 IFE 以离线模式处理两个摄像头,从而支持最多四个摄像头并发流传输。 每个传感器连接到一个 IFE-Lite 硬件实例,数据通过 RDI 端口转储到 DDR。 使用单个 IFE 硬件通过总线取数引擎 SFE Lite 从两个 IFE-Lite 读取数据,并以离线模式处理数据。 采用这种方式,摄像头帧不是直接送入 IFE,而是从 IFE_LITE 路由并转储到 DDR。然后通过取数引擎 SFE Lite 提供给 IFE 进行 bayer 到 YUV 处理。

验证多摄像头运行

将三个 OV9292 MIPI 摄像头连接到四个 MIPI CSI 插槽(0、1 和 2) 为每个摄像头运行带 multicamera-hint=true 的 GST 命令以启用此功能。例如:
在用户日志中检查以下打印以确认离线 IFE 功能已启用

故障排除

1

检查摄像头模块连接和 DIP 开关设置

2

重启 cam-server

3

运行单流测试

收集日志并搜索 probe success:
预期的探测成功日志:
如果没有出现探测成功日志,请检查排线连接或摄像头模块。
启用 CSI 调试日志并收集 dmesg:
启动摄像头并检查日志中的 SOF/EOF IRQ 消息。 预期日志:

收集调试日志

资源