1.1.6.8 i.MX7 Video Capture Driver

文章介绍了i.MX7系列芯片在没有图像处理单元IPU的情况下的图像捕获机制,包括CMOS传感器接口、视频多路复用器和MIPICSI-2接收器的角色。通过v4l2-ctl工具展示了针对OV2680和OV5640传感器的视频捕获管道配置,以及如何使用media-ctl命令设置链接和格式。
摘要由CSDN通过智能技术生成

Introduction
与i.MX5/6系列不同,i.MX7不包含图像处理单元(IPU);因此,执行对捕获帧进行操作或操作的能力要少得多。对于图像捕获,i.MX7有三个单元:-CMOS传感器接口(CSI)-视频多路复用器-MIPI CSI-2接收器。

Entities
imx7-mipi-csi2

这是MIPI CSI-2接收器实体。它有一个接收端口,用于从MIPI CSI-2相机传感器接收像素数据。它有一个源端口,对应虚拟通道0。该模块符合三星D-phy的先前版本,并支持两个D-PHY Rx数据通道。
csi-mux
这是视频多路复用器。它有两个接收端口,可以从具有并行接口的任一相机传感器或MIPI CSI-2虚拟通道0中进行选择。它有一个单一的源端口,路由到CSI。
csi
CSI使芯片能够直接连接到外部CMOS图像传感器。CSI可以直接与并行和MIPI CSI-2总线进行接口。它具有256 x 64的FIFO,用于存储接收的图像像素数据,并嵌入DMA控制器以通过AHB总线从FIFO传输数据。该实体具有一个接收端口,从csi-mux实体接收数据,并具有一个单一的源端口,可将视频帧直接路由到内存缓冲区。此端口被路由到一个捕获设备节点。

Usage Notes
为了帮助配置,并向后兼容V4L2应用程序,这些应用程序仅从视频设备节点访问控制,因此捕获设备接口继承当前管道中活动实体的控件,因此可以直接从子设备或活动捕获设备界面访问控件。例如,传感器控件可以从传感器子设备或活动捕获设备中访问。

Warp7 with OV2680
在这个平台上,一个OV2680 MIPI CSI-2模块连接到内部MIPI CSI-2接收器。下面的示例配置了一个视频捕获管道,输出为800x600,格式为BGGR 10位Bayer格式:

# v4l2-ctl --set-fmt-video=width=800,height=600,pixelformat=BG10 \
--set-ctrl bypass_mode=0 \
--set-selection=target=\"Full sensor\",top=0,left=0,width=800,height=600 \
--stream-mmap --stream-count=1 \
--device=/dev/video0

该命令使用v4l2-ctl工具设置视频格式、选择区域,并启动视频流传输。视频数据将从/dev/video0设备节点读取。

# Setup links
media-ctl -l "'ov2680 1-0036':0 -> 'imx7-mipi-csis.0':0[1]"
media-ctl -l "'imx7-mipi-csis.0':1 -> 'csi-mux':1[1]"
media-ctl -l "'csi-mux':2 -> 'csi':0[1]"
media-ctl -l "'csi':1 -> 'csi capture':0[1]"
# Configure pads for pipeline
media-ctl -V "'ov2680 1-0036':0 [fmt:SBGGR10_1X10/800x600 field:none]"
media-ctl -V "'csi-mux':1 [fmt:SBGGR10_1X10/800x600 field:none]"
media-ctl -V "'csi-mux':2 [fmt:SBGGR10_1X10/800x600 field:none]"
media-ctl -V "'imx7-mipi-csis.0':0 [fmt:SBGGR10_1X10/800x600 field:none]"
media-ctl -V "'csi':0 [fmt:SBGGR10_1X10/800x600 field:none]"

完成这些设置后,可以开始流传输。v4l2-ctl工具可用于选择传感器支持的任何分辨率。

 

i.MX6ULL-EVK with OV5640
在这个平台上,一个并行的OV5640传感器连接到CSI端口。下面的示例配置了一个视频捕获管道,输出为640x480,格式为UYVY8_2X8:

# v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=UYVY \
--stream-mmap --stream-count=1 \
--device=/dev/video0

该命令使用v4l2-ctl工具设置视频格式,并启动视频流传输。视频数据将从/dev/video0设备节点读取。

# Setup links
media-ctl -l "'ov5640 1-003c':0 -> 'csi':0[1]"
media-ctl -l "'csi':1 -> 'csi capture':0[1]"
# Configure pads for pipeline
media-ctl -v -V "'ov5640 1-003c':0 [fmt:UYVY8_2X8/640x480 field:none]"

完成这些设置后,可以开始流传输:

gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw,format=UYVY,width=640,
, →height=480 ! v4l2convert ! fbdevsink

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值