Mv mipi camera manual/zh
MV系列MIPI图像模组功能手册
1 概述
MV系列是专门为机器视觉设计的系列相机模块。它性能优异,结构紧凑,价格实惠。除了视频流模式外,还提供了触发模式和一系列与触发相关的功能。
为方便客户快速开发,我们提供了软硬件说明,寄存器手册以及嵌入式平台下的驱动,demo。
本文侧重于详细介绍MV系列产品的功能原理。关于硬件手册、寄存器、配置脚本、不同嵌入式平台的驱动及使用,请参考对应文档。
本文中,每个功能后[相关命令]一栏列出了mv_mipi_i2c.sh脚本中于此功能有关的命令。
2 图像采集
2.1 卷帘式曝光和全局曝光
2.1.1 卷帘式曝光
卷帘式曝光 sensor 实现如下图所示。逐行曝光从第一行开始曝光,一个行周期之后第二行才开始曝光。依次类推,经过 N-1 行后第 N 行开始曝光。第一行曝光结束后开始读出数据,读出一行需要一行周期时间(含行消隐时间)。至第一行完全读出后,第二行刚好开始读出,依次类推,当第 N-1行读完后,第 N行开始读出,直到整幅图像完全读出。
逐行曝光的 sensor 技术难度较全局曝光sensor 低,价格便宜,且分辨率较大,对于一些静态或者慢速物体拍摄是不错的选择。
2.1.2 全局曝光
全局曝光sensor实现如下图所示,sensor的所有行同时开始曝光,并同时结束曝光,在曝光结束后,sensor将所有电子从感光区转到存储区,之后逐行的读出像素数据。 这样曝光的好处是拍摄运动物体时图像不会出现偏移和歪斜。
2.2 开始/停止采集
可以在任意时刻向相机发送开始采集和停止采集命令。摄像机收到开始采集命令后,如工作在视频流模式,则立刻开始曝光并输出图像;如工作在触发模式,则进入等待触发信号状态。同时,摄像机进入running状态。
摄像机收到停止采集命令后,会完成当前正在传输的帧以确保帧完整性,然后停止输出图像并进入standby状态。注意,如果设置了触发多帧,并且还没有完成所有图像帧输出,则会打断触发过程。也就是说,停止采集操作只会保证当前帧的完整性,不保证整个触发周期的完整性。
相关命令:imgacq。
2.3 视频流模式
视频流模式下,摄像机会按照配置的ROI区域和帧率,连续曝光并输出图像。同一个传感器,在不同的ROI配置下,支持的最大帧率不同,请参考对应产品的datasheet。建议更改ROI之后,通过maxfps功能获取支持的最大帧率。
相关命令 :trgmode,roi,fps,maxfps。
2.4 普通触发模式
2.4.1 Rolling shutter(卷帘式曝光)
对于rolling shutter的sensor,如IMX178,一个完整的图像帧需要两帧图像周期才可以完成从曝光到输出的过程。所以最大帧率为视频流模式的一半。
在普通触发模式下,针对rolling shutter的sensor,我们将两个连续帧周期称为一个触发周期。
普通触发模式下,如一次触发多帧,触发延迟作用在本次触发信号后,触发间隔和曝光延迟都在每一个触发周期前有效。
下图以触发触发帧数设置为2为例:
2.4.2 Global shutter(全局曝光)
todo
2.5 高速触发模式
2.5.1 Rolling shutter(卷帘式曝光)
在高速触发模式下,假设一次触发帧数设置为N,那么第2到N帧都紧跟着前一帧输出,不再有触发间隔。这样可以达到与视频流模式一样的最高帧率。
下图以触发触发帧数设置为3为例:
2.6 工作模式的切换
在运行中工作模式不可以任意时刻切换,必须要先停止采集,然后才能切换为新的工作模式。
2.7 触发源
摄像机支持软触发和硬触发两种触发源,这两种方式只是触发信号来源不同。触发延迟、曝光延迟、触发帧数、触发间隔等配置和功能完全一致。
相关命令:trgsrc。
2.7.1 软触发
通过i2c总线,向摄像机对应寄存器写入1,则进行了一次软触发。
由于软件处理和i2c传输均存在一定的延时,因此软触发的及时性比硬触发要差,对及时性要求高的场合,建议采用硬触发。
相关命令:trgone。
2.7.2 硬触发
硬触发模式下,摄像机通过采集TrigIN IO的电平变化获得触发信号。详情见IO控制章节。
2.8 触发统计
触发统计功能统计了总触发数量以及触发丢失的数量。
总触发数量的定义:硬触发模式下,为经过触发过滤之后的触发数;软触发模式下,为所有触发数。
当摄像机接收到硬触发或者软触发信号时,如果其正处于触发周期,将无法响应新的触发信号,此时会造成触发信号丢失。
切换工作模式或者触发源,不会自动清空此统计。
相关命令:trgcount,trgclr。
3 图像属性
3.1 像素格式
MV系列相机输出格式符合MIPI CSI-2标准,不同型号支持的像素格式可能有所不同。见下表:
型号 | 像素格式 | 备注 |
---|---|---|
MV-MIPI-IMX178M | Mono8,Mono10,Mono12 | sensor的输出都是12bit-depth |
相关命令:fmtcap,pixelformat。
3.2 图像尺寸和最大帧率
图像尺寸取决于传感器。不同型号有所不同。
图像最高帧率取决于传感器和相机处理能力,不同的图像尺寸下,最大帧率不同。
设置完成图像尺寸(ROI区域)后,摄像机会自动计算出最高帧率,提供给用户参考。
典型尺寸的最大帧率见下表:
型号 | 尺寸 | 最高帧率 | 备注 |
---|---|---|---|
MV-MIPI-IMX178M | 3088(H) × 2064(V) | 最大尺寸 | |
5M | |||
3M | |||
2M |
实际帧率可以小于最高帧率,而且可以设置为小数。为了保证相机帧率,我们规定了最大曝光时间不能大于[1/fps]秒。
相关命令:maxwh,maxfps,fps。
3.3 ROI区域
通过设置相机的图像感兴趣区域(ROI)可以只传输图像的特定区域,输出区域的参数包括输出区域的水平偏移(x)、垂直偏移(y)、宽度(w)和高度(h)。[x] [y] [height] 的步长为 4,[width] 的步长为 2。
默认情况下,相机的图像感兴趣区域为传感器的全分辨率区域。
相关命令:roi。
3.4 图像翻转
3.5 黑电平
4 ISP功能
5 IO控制
5.1 输入引脚配置
现在只有一个输入引脚:TriggerIN_IO。功能为:硬触发的输入信号。
可以通过Trigger Edge功能配置触发信号的有效沿。
相关命令:trgedge。
5.1.1 触发滤波
为了抑制外触发信号中的干扰,MV系列相机具有外触发滤波功能,包括低电平滤波和高电平滤波。
低电平滤波的作用是滤除低电平上的毛刺信号,高电平滤波的作用是滤除高电平上的毛刺信号。
滤波窗口的范围可以设置为[1,1000000]us。
下图以同时使能低电平滤波和高电平滤波,滤波时间为1ms为例:
相关命令:trgfilter_enable,trgfilter_time。
5.1.2 触发延迟
MV系列摄像机具有触发延迟功能。触发延迟时间可以设置为[1,1000000]us。在硬触发和软触发都是生效的。
相关命令:trgdelay。
5.2 输出引脚配置
MV系列摄像机现在有2路输出信号,OUT_IO1和OUT_IO2。
OUT_IO1可以配置为Strobe和Userout两种功能。
OUT_IO2可以配置为Strobe、Userout、TriggerWait、XVS和XHS五种功能。
相关命令:outio1_mode,outio2_mode。
5.2.1 Strobe
在此模式下相机发送触发信号来激活闪光灯。strobe 信号高电平有效,接收到触发信号后,strobe 信号电平拉高,拉高时间为曝光延迟和触发周期之和。
5.2.2 UserOut
在此模式下用户可以自己设定相机恒定的输出电平来做特别处理,比如控制常亮光源或报警装置。不同的OUT_IO可以单独设置输出电平。
5.2.3 TriggerWait
触发等待信号表示摄像机现在可以随时响应触发信号。
可以使用相机的触发等待信号来优化触发图像采集,并可以有效避免过度触发的问题。
5.2.3.1 普通触发模式(rolling shutter)
下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:
5.2.3.2 高速触发模式(rolling shutter)
下图以触发触发帧数设置为3为例,列出Strobe信号和TriggerWait信号:
5.2.4 XVS
输出sensor的XVS信号。
5.2.5 XHS
输出sensor的XHS信号。
5.2.6 输出引脚翻转
为了方便相机 IO 配置与连接,MV 系列相机具有输出引脚电平反转功能。
相关命令 :outio1_rvs,outio2_rvs.
5.3 读取引脚状态
所有的输入和输出IO引脚都可以通过i2c协议读取其当前状态。
相关命令 :gpios_status.