登录站点

用户名

密码

在iMX8上使用MIPI-CSI摄像头

已有 102 次阅读  2021-03-16 17:25   标签iMX8  MIPI  Camera  NXP  Linux  Toradex  Apalis 

By Toradex胡珊逢

NXP i.MX8QM/QP 处理器能够支持 2  4 lane  MIPI CSI-2 输入,每路最高为 4K@30 分辨率。文章接下来将使用 Apalis iMX8QM 计算机模块配合 e-con 提供的 MIPI CSI-2 摄像头 AR0521 进行演示。

 

E-con MIPI CSI-2 摄像头 AR0521 最高像素 2592 × 1944@28fps,模组集成 ISP。摄像头可以直接连接 Ixora 底板,连接方式如下。线材的卡扣很精密,安装时请小心操作。同时接触摄像头模组前,务必释放上手的静电,如触摸接地设备的金属机壳。

image001.png

 

Apalis iMX8QM  Linux BSP 对摄像头提供无缝集成,只需简单的设置即可使用。这里我们使用 Toradex 最新的 nightly image。由于摄像头需要使用 gstreamer 组件,tdx-reference-multimedia-image 参考镜像包含了常用多媒体软件,该镜像可以直接用于测试摄像头。使用 Toradex Easy Installer 进行镜像安装。

 

安装完毕后修改计算机模块上的  /boot/overlays.txt 文件,通过 device tree overlay 启动 AR0521。在 overlays.txt 中添加 apalis-imx8_ar0521_overlay.dtbo

image003.png

 

关闭 tdx-reference-multimedia-image 开机自启动的 Qt 演示程序。

image004.png

 

重启后可以看到 AR0521 被正确识别。

image005.png

 

 

l  查看摄像头支持的格式

image006.png

 

 

l  预览摄像头画面

image007.png

此时可能需要旋转摄像头上镜头进行对焦,直到清晰地看到拍摄物体。

image008.jpg

 

l  录制摄像

image010.png

 

可以将 test.avi 视频文件复制到电脑上,使用 mediainfo 命令查看该文件的视频信息。

image011.png

 

Gstreamer pipeline 还可以支持 zero-copy 方式处理数据。借助 zero-copy CPU 能够使用一个 element 产生的数据而无需重新复制,从而有效降低 CPU 负荷。使用 io-mode 参数开启 zero-copyio-mode=dmabuf 会使用硬件 DMA。更多的说明请参考 i.MX 8 GStreamer User Guide

image013.png

 

两种模式下 CPU 占用率从 101.7% 下降到 10.6%

image014.png

image016.png

 

 

l  播放视频文件

播放上面录制的 avi 视频文件

image018.png

 

 

l  RTP 网络传输

Apalis iMX8QM 作为 RTP 服务器

image019.png

 

Ubuntu 电脑作为客户端查看视频。上面的 PC_IP 为电脑的 IP 地址。

image020.png

image021.png

 

 

总结

本文简要地介绍了在 Apalis iMX8QM 使用 MIPI-CSI 摄像头的方法。不同的摄像头通常需要对应的驱动,并根据摄像头参数调整 gstreamer pipeline 配置,从而实现高效的采集、编解码、传输和存储。



上一篇: ARM平台设备WinCE下UART配置 下一篇: iMX8模块Ubuntu移植

分享 举报