Difference between revisions of "Mv mipi camera manual/zh"

From wiki_veye
Jump to navigation Jump to search
(43 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
[[Mv mipi camera manual|English]]
 
[[Mv mipi camera manual|English]]
  
'''<big>MV系列MIPI图像模组功能手册</big>'''
+
'''<big>MV系列和RAW系列MIPI摄像机模组功能手册</big>'''
  
 
=== 概述 ===
 
=== 概述 ===
 
MV系列是专门为机器视觉设计的系列相机模块。它性能优异,结构紧凑,价格实惠。除了视频流模式外,还提供了触发模式和一系列与触发相关的功能。
 
MV系列是专门为机器视觉设计的系列相机模块。它性能优异,结构紧凑,价格实惠。除了视频流模式外,还提供了触发模式和一系列与触发相关的功能。
 +
 +
RAW系列相机只有一个mcu作为辅助控制芯片,并不包含ISP模块。因此,其功能是MV系列的子集。在后文中每个功能的描述中会列出该功能是否适用于RAW系列相机。
 +
 +
此外,RAW系列相机支持SDA(Sensor direct access)模式,会在本文最后章节详述。
  
 
为方便客户快速开发,我们提供了软硬件说明,寄存器手册以及嵌入式平台下的驱动,demo。
 
为方便客户快速开发,我们提供了软硬件说明,寄存器手册以及嵌入式平台下的驱动,demo。
Line 13: Line 17:
 
本文中,每个功能后[相关命令]一栏列出了[[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]]脚本中于此功能有关的命令'''。'''
 
本文中,每个功能后[相关命令]一栏列出了[[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]]脚本中于此功能有关的命令'''。'''
  
=== 图像采集 ===
+
==== 摄像机型号列表 ====
 +
{| class="wikitable"
 +
!Series
 +
!Model
 +
!Max Resolution
 +
!Shutter Mode
 +
|-
 +
| rowspan="6" |MV series
 +
|MV-MIPI-IMX178M
 +
|3088×2064@22.3 fps
 +
|Rolling
 +
|-
 +
|MV-MIPI-IMX287M
 +
|720×544 @ 530fps RAW8
 +
720×544 @ 437fps RAW10
  
 +
720×544 @ 320fps RAW12
 +
|Global
 +
|-
 +
| MV-MIPI-SC130M
 +
|1280×1024@214fps RAW8
 +
1280×1024@177fps RAW10
 +
|Global
 +
|-
 +
|MV-MIPI-IMX296M
 +
|1456×1088@60.3fps
 +
|Global
 +
|-
 +
|MV-MIPI-IMX265M
 +
|2064×1544@55fps
 +
|Global
 +
|-
 +
|MV-MIPI-IMX264M
 +
|2464×2056@35fps
 +
|Global
 +
|-
 +
| rowspan="3" |RAW series
 +
|RAW-MIPI-SC132M
 +
|1080×1280@120fps
 +
|Global
 +
|-
 +
|RAW-MIPI-IMX462M
 +
|4lane mode@RAW10:1944 x 1096 @120fps
 +
2lane mode@RAW10/RAW12:1944 x 1096 @60fps
 +
|Rolling
 +
|-
 +
|RAW-MIPI-AR0234M
 +
|4lane mode:1920 x 1200 @120fps
 +
2lane mode:1920 x 1200  @60fps
 +
|Global
 +
|}
 +
===图像采集===
 
==== 卷帘式曝光和全局曝光 ====
 
==== 卷帘式曝光和全局曝光 ====
  
Line 41: Line 95:
  
 
===== Rolling shutter(卷帘式曝光) =====
 
===== Rolling shutter(卷帘式曝光) =====
 +
本节适用型号:MV-MIPI-IMX178M。
 +
 
对于rolling shutter的sensor,如IMX178,一个完整的图像帧需要两帧图像周期才可以完成从曝光到输出的过程。所以最大帧率为视频流模式的一半。
 
对于rolling shutter的sensor,如IMX178,一个完整的图像帧需要两帧图像周期才可以完成从曝光到输出的过程。所以最大帧率为视频流模式的一半。
  
Line 50: Line 106:
 
[[File:Rolling shutter Normal trigger mode new2.png|alt=|center|thumb|799x799px|Normal trigger mode( Rolling shutter)]]
 
[[File:Rolling shutter Normal trigger mode new2.png|alt=|center|thumb|799x799px|Normal trigger mode( Rolling shutter)]]
  
===== Global shutter(全局曝光) =====
+
===== Smartsens's Global shutter(全局曝光) =====
todo
+
本节适用于: MV-MIPI-SC130M,RAW-MIPI-SC132M。
 +
 
 +
对于斯特威的global shutter sensor,如SC130GS,一个完整的图像帧,需要经过曝光周期(exp time)和读出周期(read out)才可以完成。读出完成后才可以进行第二帧的曝光。
 +
 
 +
在普通触发模式下,针对global shutter的sensor,我们将一个曝光周期(exp time)和读出周期(read out)称为一个'''''触发周期'''''。
 +
 
 +
因此触发模式下最大帧率受曝光时间长度的影响,而且无法达到与视频流模式同样高的帧率。
 +
 
 +
下图以触发触发帧数设置为2为例:
 +
[[File:Normal trigger mode (Global shutter).png|center|thumb|800x800px|Smartsens's Normal trigger mode (Global shutter)]]
 +
<br />对于RAW系列模组,不支持Exposure Delay和Trigger interval,触发帧数只支持1帧。
 +
 
 +
===== Sony's Global shutter(全局曝光) =====
 +
本节适用于: MV-MIPI-IMX296M,MV-MIPI-IMX265M,MV-MIPI-IMX264M,MV-MIPI-IMX287M。
 +
 
 +
对于Sony的global shutter sensor,在外触发模式下,上一帧的读出和下一帧的曝光可以同步进行。因此,可以达到几乎与视频流模式一样的外触发帧率。
  
 +
下图以触发触发帧数设置为2为例:
 +
[[File:Sony's Normal trigger mode (Global shutter).png.png|center|thumb|800x800px|Sony's Normal trigger mode (Global shutter)]]
 +
<br />
 
==== 高速触发模式 ====
 
==== 高速触发模式 ====
  
 
===== Rolling shutter(卷帘式曝光) =====
 
===== Rolling shutter(卷帘式曝光) =====
 +
本节适用型号:MV-MIPI-IMX178M。
 +
 
在高速触发模式下,假设一次触发帧数设置为N,那么第2到N帧都紧跟着前一帧输出,不再有触发间隔。这样可以达到与视频流模式一样的最高帧率。<br />下图以触发触发帧数设置为3为例:
 
在高速触发模式下,假设一次触发帧数设置为N,那么第2到N帧都紧跟着前一帧输出,不再有触发间隔。这样可以达到与视频流模式一样的最高帧率。<br />下图以触发触发帧数设置为3为例:
 
[[File:Rolling shutter High-speed trigger mode.png|center|thumb|800x800px|High-speed trigger mode(Rolling shutter)]]
 
[[File:Rolling shutter High-speed trigger mode.png|center|thumb|800x800px|High-speed trigger mode(Rolling shutter)]]
Line 92: Line 168:
  
 
==== 像素格式 ====
 
==== 像素格式 ====
 +
MV系列相机输出格式符合MIPI CSI-2标准,不同型号支持的像素格式可能有所不同。见下表:
 +
{| class="wikitable"
 +
!型号
 +
!像素格式
 +
!备注
 +
|-
 +
|MV-MIPI-IMX178M
 +
|Mono8,Mono10,Mono12
 +
|sensor的AD是12bit-depth
 +
|-
 +
|MV-MIPI-SC130M
 +
|Mono8,Mono10
 +
|sensor的AD是10bit-depth
 +
|-
 +
|MV-MIPI-IMX287M
 +
|Mono8,Mono10,Mono12
 +
|sensor的AD是8,10,12bit-depth
 +
|-
 +
|MV-MIPI-IMX296M
 +
|Mono8,Mono10
 +
|sensor的AD是10bit-depth
 +
|-
 +
|MV-MIPI-IMX265M
 +
|Mono8,Mono10,Mono12
 +
|sensor的AD是12bit-depth
 +
|-
 +
|MV-MIPI-IMX264M
 +
|Mono8,Mono10,Mono12
 +
|sensor的AD是12bit-depth
 +
|-
 +
|RAW-MIPI-SC132M
 +
|Mono8,Mono10
 +
|sensor的AD是10bit-depth
 +
|-
 +
|RAW-MIPI-IMX462M
 +
|Mono10,Mono12
 +
|sensor的AD是10,12bit-depth
 +
|-
 +
|RAW-MIPI-AR0234M
 +
|Mono8,Mono10
 +
|sensor的AD是10bit-depth
 +
|}
 +
相关命令:fmtcap,pixelformat。
 +
 +
==== 图像尺寸和最大帧率 ====
 +
图像尺寸取决于传感器。不同型号有所不同。
 +
 +
图像最高帧率取决于传感器和相机处理能力,不同的图像尺寸下,最大帧率不同。
 +
 +
设置完成图像尺寸(ROI区域)后,摄像机会自动计算出最高帧率,提供给用户参考。
  
==== 图像尺寸和ROI区域 ====
+
典型尺寸的最大帧率见下表:
 +
{| class="wikitable"
 +
!型号
 +
!尺寸
 +
!最高帧率
 +
!备注
 +
|-
 +
| rowspan="4" |MV-MIPI-IMX178M
 +
|3088 × 2064
 +
|22.3
 +
|最大尺寸
 +
|-
 +
|2592 x 1944
 +
|28.15
 +
|
 +
|-
 +
|2560 x 2048
 +
|27
 +
|
 +
|-
 +
|1920 x 1080
 +
|67
 +
|
 +
|-
 +
| rowspan="3" |MV-MIPI-SC130M
 +
|1280 × 1024
 +
|214
 +
|最大尺寸,RAW8
 +
|-
 +
|1280 x 720
 +
|249
 +
|RAW8
 +
|-
 +
|640 x 480
 +
|367
 +
|RAW8
 +
|-
 +
| rowspan="2" |MV-MIPI-IMX296M
 +
|1456×1088
 +
|60.3
 +
|最大尺寸
 +
|-
 +
|1280 x 720
 +
|90
 +
|
 +
|-
 +
| rowspan="3" |MV-MIPI-IMX287M
 +
| rowspan="3" |720x544
 +
|530
 +
|RAW8
 +
|-
 +
|437
 +
|RAW10
 +
|-
 +
|320
 +
|RAW12
 +
|-
 +
|MV-MIPI-IMX265M
 +
|2064×1544
 +
|55
 +
|最大尺寸
 +
|-
 +
| rowspan="2" |MV-MIPI-IMX264M
 +
|2464×2056
 +
|35
 +
|最大尺寸
 +
|-
 +
|1920 x 1080
 +
|67
 +
|
 +
|-
 +
|RAW-MIPI-SC132M
 +
|1080×1280
 +
|120
 +
|最大尺寸
 +
|-
 +
| rowspan="2" |RAW-MIPI-IMX462M
 +
|1920x1088@4lane raw10
 +
|120
 +
|
 +
|-
 +
|1920x1088@2lane raw10/12
 +
|60
 +
|
 +
|-
 +
| rowspan="2" |RAW-MIPI-AR0234M
 +
|1920x1200@4lane
 +
|120
 +
|
 +
|-
 +
|1920x1200@2lane
 +
|60
 +
|
 +
|}
  
==== 最大帧率和实际帧率 ====
+
实际帧率可以小于最高帧率,而且可以设置为小数。为了保证相机帧率,我们规定了最大曝光时间不能大于[1/fps]秒。
  
==== 图像翻转 ====
+
相关命令:maxwh,maxfps,fps。
  
 +
==== ROI区域 ====
 +
通过设置相机的图像感兴趣区域(ROI)可以只传输图像的特定区域,输出区域的参数包括输出区域的水平偏移(x)、垂直偏移(y)、宽度(w)和高度(h)。
 +
 +
默认情况下,相机的图像感兴趣区域为传感器的全分辨率区域。
 +
 +
===== ROI参数要求 =====
 +
[x] [y] [height] 的步长为 4,[width] 的步长为 8。
 +
 +
此外不同型号的相机,有不同的最小ROI区域。
 +
{| class="wikitable"
 +
!型号
 +
!最小ROI area
 +
!备注
 +
|-
 +
|MV-MIPI-IMX178M
 +
|376 x 320
 +
|
 +
|-
 +
|MV-MIPI-SC130M
 +
|64 x 64
 +
|
 +
|-
 +
|MV-MIPI-IMX296M
 +
|80x4
 +
|
 +
|-
 +
|MV-MIPI-IMX287M
 +
|264x4
 +
|
 +
|-
 +
|MV-MIPI-IMX265M
 +
|264x4
 +
|
 +
|-
 +
|MV-MIPI-IMX264M
 +
|264x4
 +
|
 +
|-
 +
|RAW-MIPI-SC132M
 +
|64x64
 +
|
 +
|-
 +
|RAW-MIPI-IMX462M
 +
|368x304
 +
|
 +
|-
 +
|RAW-MIPI-AR0234M
 +
|64x64
 +
|
 +
|}摄像机将对用户参数进行必要的调整以满足参数要求。所以建议写完ROI参数之后,重新读出以确认真正生效的ROI区域。
 +
 +
相关命令:roi。
 +
 +
==== 镜像翻转 ====
 +
此功能比较容易理解。需要特别说明的是,同时开启ROI和镜像翻转功能,图像首先ROI裁剪,然后镜像或者翻转。
 +
[[File:ROI Mirror Flip.jpg|alt=|center|thumb|799x799px|ROI and Mirror/Flip]]
 +
<br />相关命令:imgdir。
 
==== 黑电平 ====
 
==== 黑电平 ====
 +
目前黑电平值应用范围只能选择为全部像素,不支持像素选择。 黑电平值越低,对应图像越暗;黑电平值越高,对应图像越亮。
 +
 +
相关命令:blacklevel。
 +
 +
==== 测试图 ====
 +
 +
===== MV-MIPI-IMX178M =====
 +
以下以12bit数据格式为例,说明测试图模式。
 +
 +
====== 模式1:灰度渐变测试图 ======
 +
第一列值为0,每向右一列灰度值增加4。<br />
 +
[[File:Test-pattern1.png|center|thumb|800x800px|Test pattern 1]]
 +
 +
====== 模式2:竖条纹测试图 ======
 +
每列像素依次为FFEh/555h/AAAh/001h。
 +
[[File:Test pattern2 enlarged.png|center|thumb|800x800px|Test pattern2 (enlarged)]]
 +
 +
===== MV-MIPI-SC130M RAW-MIPI-SC132M =====
 +
 +
====== 模式1:灰度渐变测试图 ======
 +
[[File:Test-pattern1 sc130m.png|alt=Test-pattern1 sc130m|center|thumb|800x800px|Test-pattern1 sc130m]]
 +
<br />
 +
 +
===== RAW-MIPI-AR0234M =====
 +
模式1:固定亮度灰度图
 +
 +
固定亮度为最大亮度的一半。
 +
[[File:Test pattern1 of 0234m.jpg|center|thumb|800x800px|Test pattern1 of 0234m]]
 +
 +
 +
模式2:color bar
 +
[[File:Test pattern2 of ar0234m.jpg|center|thumb|800x800px|Test pattern2 of ar0234m]]
 +
 +
相关命令:testimg。
  
 
=== ISP功能 ===
 
=== ISP功能 ===
<br />
+
通常情况下,RAW系列相机在这个部分仅支持手动曝光和手动增益。然而,RAW-MIPI-AR0234M支持AEC控制。
 +
 
 +
RAW-MIPI-AR0234M支持的功能包括:
 +
 
 +
AAROI、手动曝光、自动曝光、手动增益、自动增益。
 +
 
 +
==== 曝光和增益控制 ====
 +
 
 +
===== AAROI =====
 +
相机根据AAROI区域统计出当前的图像亮度,并用于自动曝光、自动增益的计算。默认情况下,AAROI不使能,真正生效的统计区域为输出图像全部区域,即ROI区域。
 +
 
 +
AAROI坐标是ROI区域内的相对坐标,所以该区域必须小于图像的ROI。
 +
 
 +
相关命令:aaroi,aaroienable。
 +
 
 +
===== 曝光 =====
 +
相机曝光时间范围是(0,1000000/fps) us。曝光时间的所有参数都是以微秒为单位。但是,由于传感器的特性,传感器的实际曝光时间单位是1行,不能精确到1us。
 +
 
 +
在任何模式下,都可以通过'''''exptime'''''命令读取当前的实际曝光时间。
 +
 
 +
曝光控制模式:手动曝光、自动曝光、单次自动曝光。
 +
 
 +
相关命令:expmode,exptime。
 +
 
 +
====== 手动曝光 ======
 +
使用固定的曝光时间。
 +
 
 +
相关命令:expmode,metime。
 +
 
 +
====== 自动曝光 ======
 +
自动调节相机的曝光时间,使 AAROI 中的平均亮度达到期望亮度值。这个过程会一直持续,因此可以迅速适应环境亮度的变化。
 +
 
 +
目标亮度值范围时0-255,与pixelformat无关。
 +
 
 +
相关命令:expmode,aatarget, aemaxtime。
 +
 
 +
====== 单次自动曝光 ======
 +
通过expmode命令设置相机进入单次自动曝光模式,则相机会进行一次自动曝光调节,完成调节后关闭自动调节。如果由于环境亮度与最大曝光时间不匹配,无法将调节到目标亮度,超时后也会停止调节。
 +
 
 +
相关命令:expmode,aatarget, aemaxtime。
 +
 
 +
===== 增益 =====
 +
相机的增益范围,取决于使用的sensor。增益的提高会导致噪声提高,建议不要使用过大的增益。
 +
{| class="wikitable"
 +
!model
 +
!Range
 +
!Step
 +
|-
 +
|MV-MIPI-IMX178M
 +
|0-48dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-SC130M
 +
|0-40dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-IMX287M
 +
|0-48dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-IMX296M
 +
|0-48dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-IMX265M
 +
|0-48dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-IMX264M
 +
|0-48dB
 +
|0.1dB
 +
|-
 +
|RAW-MIPI-SC132M
 +
|0-40dB
 +
|0.1dB
 +
|}
 +
 
 +
====== 手动增益 ======
 +
使用固定的增益。
 +
 
 +
相关命令:gainmode,mgain。
 +
 
 +
====== 自动增益 ======
 +
自动调节相机的增益,使 AAROI 中的平均亮度达到期望亮度值。这个过程会一直持续,因此可以迅速适应环境亮度的变化。
 +
 
 +
目标亮度值范围时0-255,与pixelformat无关。
 +
 
 +
相关命令:gainmode,aatarget, agmaxgain。
 +
 
 +
====== 单次自动增益 ======
 +
通过gainmode命令设置相机进入单次自动增益模式,则相机会进行一次自动增益调节,完成调节后关闭自动调节。如果由于环境亮度与最大增益不匹配,无法将调节到目标亮度,超时后也会停止调节。
 +
 
 +
相关命令:gainmode,aatarget, agmaxgain。
 +
 
 +
===== 其他说明 =====
 +
1. 同时使能自动曝光和自动增益时,相机优先使用曝光时间,尽量降低增益的使用。尽量避免由于过大的增益而引起的噪声。
 +
 
 +
2. aeag_run_once_save命令,执行AE once和AG once并将结果保存为手动值。有助于安装调试。
 +
 
 +
==== gamma ====
 +
用户可以使用 Gamma 功能来优化采集图像的亮度,以便在显示器上显示出用户想要的图像亮度。
 +
 
 +
相机根据以下公式将Gamma 校正值(γ)应用于每个像素,来改变每个像素的亮度值。
 +
[[File:Gamma formula.jpg|none|thumb|400x400px|gamma_formula]]
 +
对于 8 位像素格式,最大像素值(Ymax)等于 255;
 +
 
 +
对于 10 位像素格式,最大像素值(Ymax)等于 1023;
 +
 
 +
对于 12 位像素格式,最大像素值(Ymax)等于 4095;
 +
 
 +
gamma值范围是 0 到 4.00。
 +
 
 +
a) 当设置 Gamma = 1.0 时,整体亮度保持不变。
 +
 
 +
b) 当设置 Gamma < 1.0 时,整体亮度增加。
 +
 
 +
c) 当设置 Gamma > 1.0 时,整体亮度降低。
 +
 
 +
在所有情况下,黑色的像素(亮度值= 0)和白色的像素(亮度值=最大值)将不调整其亮度。
 +
 
 +
现阶段,只有8位深度数据支持gamma功能。
 +
 
 +
相关命令:gammaenable,gamma。
 +
 
 +
==== 查找表 ====
 +
摄像机可以根据用户自定义查找表,逐个将摄像机输出值替换为目标值。
 +
 
 +
相关命令:lutenable,lut。
 +
 
 
=== IO控制 ===
 
=== IO控制 ===
 +
对于RAW系列摄像头,输入IO支持触发边沿和触发延迟,不支持触发滤波功能。输出IO是直接引出的sensor的strobe out接口。
  
 
==== 输入引脚配置 ====
 
==== 输入引脚配置 ====
Line 123: Line 562:
  
 
相关命令:trgfilter_enable,trgfilter_time。
 
相关命令:trgfilter_enable,trgfilter_time。
 +
 +
RAW系列摄像机模组不支持触发滤波功能。
  
 
===== 触发延迟 =====
 
===== 触发延迟 =====
Line 149: Line 590:
 
可以使用相机的触发等待信号来优化触发图像采集,并可以有效避免过度触发的问题。  
 
可以使用相机的触发等待信号来优化触发图像采集,并可以有效避免过度触发的问题。  
  
====== 普通触发模式(rolling shutter) ======
+
====== 普通触发模式(global shutter) ======
 +
下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:
 +
[[File:Normal trigger mode details (Global shutter).png|center|thumb|800x800px|Normal trigger mode details (Global shutter)]]
 +
<br />
 +
====== Smartsens's 普通触发模式(rolling shutter) ======
 +
下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:
 +
[[File:Rolling shutter Normal trigger mode full-new.png|alt=|center|thumb|800x800px|Smartsens's Normal trigger mode; Strobe and TriggerWait]]<br />
 +
====== Sony's 普通触发模式(rolling shutter) ======
 
下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:
 
下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:
[[File:Rolling shutter Normal trigger mode full-new.png|alt=|center|thumb|800x800px|Normal trigger mode; Strobe and TriggerWait]]
+
[[File:Sony Normal trigger mode detail(Global shutter).png.png|center|thumb|800x800px|Sony's Normal trigger mode, Strobe and TriggerWait]]
 
+
<br />
 
====== 高速触发模式(rolling shutter) ======
 
====== 高速触发模式(rolling shutter) ======
 
下图以触发触发帧数设置为3为例,列出Strobe信号和TriggerWait信号:
 
下图以触发触发帧数设置为3为例,列出Strobe信号和TriggerWait信号:
Line 172: Line 620:
  
 
相关命令 :gpios_status.
 
相关命令 :gpios_status.
 +
 +
=== RAW series camera的特别说明 ===
 +
RAW系列相机只有一个MCU作为辅助控制芯片。普通模式和SDA模式可以通过[[Mv mipi i2c.sh user guide#mcubypass|mcubypass]]命令进行切换。
 +
 +
==== 普通模式 ====
 +
普通模式下,主板不能直接访问sensor。MCU提供了对sensor的初始化配置以及各种功能的配置。对不同的嵌入式平台,我们都提供了对应的驱动、脚本、demo。
 +
 +
其功能的介绍参考本文上面的描述。
 +
 +
==== SDA 模式 ====
 +
SDA模式是Sensor Direct Access的缩写,此时MCU不再对sensor的i2c做任何控制,而是直接由用户控制sensor。
 +
 +
同时,为了提供必要的系统信息、模式切换、触发信号配置,MCU本身依旧对外提供i2c接口。
 +
 +
比如,RAW系列摄像头在SDA模式下,具备两个i2c地址:0x30是sensor的地址,0x3b是MCU的地址。
 +
 +
SDA模式下,我们提供的驱动和demo均不再适用,只有部分[[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]]指令和[[MV Series MIPI Camera Register Map/zh|寄存器]]可用。
 +
 +
==== 触发延迟 ====
 +
对于RAW系列摄像头,触发信号需要经过MCU的转发而传递给sensor。这个转发有一个固定的850ns左右的延迟。<br />

Revision as of 09:47, 22 October 2023

English

MV系列和RAW系列MIPI摄像机模组功能手册

1 概述

MV系列是专门为机器视觉设计的系列相机模块。它性能优异,结构紧凑,价格实惠。除了视频流模式外,还提供了触发模式和一系列与触发相关的功能。

RAW系列相机只有一个mcu作为辅助控制芯片,并不包含ISP模块。因此,其功能是MV系列的子集。在后文中每个功能的描述中会列出该功能是否适用于RAW系列相机。

此外,RAW系列相机支持SDA(Sensor direct access)模式,会在本文最后章节详述。

为方便客户快速开发,我们提供了软硬件说明,寄存器手册以及嵌入式平台下的驱动,demo。

本文侧重于详细介绍MV系列产品的功能原理。关于硬件手册、寄存器、配置脚本、不同嵌入式平台的驱动及使用,请参考对应文档。

本文中,每个功能后[相关命令]一栏列出了mv_mipi_i2c.sh脚本中于此功能有关的命令

1.1 摄像机型号列表

Series Model Max Resolution Shutter Mode
MV series MV-MIPI-IMX178M 3088×2064@22.3 fps Rolling
MV-MIPI-IMX287M 720×544 @ 530fps RAW8

720×544 @ 437fps RAW10

720×544 @ 320fps RAW12

Global
MV-MIPI-SC130M 1280×1024@214fps RAW8

1280×1024@177fps RAW10

Global
MV-MIPI-IMX296M 1456×1088@60.3fps Global
MV-MIPI-IMX265M 2064×1544@55fps Global
MV-MIPI-IMX264M 2464×2056@35fps Global
RAW series RAW-MIPI-SC132M 1080×1280@120fps Global
RAW-MIPI-IMX462M 4lane mode@RAW10:1944 x 1096 @120fps

2lane mode@RAW10/RAW12:1944 x 1096 @60fps

Rolling
RAW-MIPI-AR0234M 4lane mode:1920 x 1200 @120fps

2lane mode:1920 x 1200 @60fps

Global

2 图像采集

2.1 卷帘式曝光和全局曝光

2.1.1 卷帘式曝光

卷帘式曝光 sensor 实现如下图所示。逐行曝光从第一行开始曝光,一个行周期之后第二行才开始曝光。依次类推,经过 N-1 行后第 N 行开始曝光。第一行曝光结束后开始读出数据,读出一行需要一行周期时间(含行消隐时间)。至第一行完全读出后,第二行刚好开始读出,依次类推,当第 N-1行读完后,第 N行开始读出,直到整幅图像完全读出。

逐行曝光的 sensor 技术难度较全局曝光sensor 低,价格便宜,且分辨率较大,对于一些静态或者慢速物体拍摄是不错的选择。

Rolling shutter mode
Rolling shutter mode


2.1.2 全局曝光

全局曝光sensor实现如下图所示,sensor的所有行同时开始曝光,并同时结束曝光,在曝光结束后,sensor将所有电子从感光区转到存储区,之后逐行的读出像素数据。 这样曝光的好处是拍摄运动物体时图像不会出现偏移和歪斜。

Global shutter mode


2.2 开始/停止采集

可以在任意时刻向相机发送开始采集和停止采集命令。摄像机收到开始采集命令后,如工作在视频流模式,则立刻开始曝光并输出图像;如工作在触发模式,则进入等待触发信号状态。同时,摄像机进入running状态

摄像机收到停止采集命令后,会完成当前正在传输的帧以确保帧完整性,然后停止输出图像并进入standby状态。注意,如果设置了触发多帧,并且还没有完成所有图像帧输出,则会打断触发过程。也就是说,停止采集操作只会保证当前帧的完整性,不保证整个触发周期的完整性。

相关命令:imgacq。

2.3 视频流模式

视频流模式下,摄像机会按照配置的ROI区域和帧率,连续曝光并输出图像。同一个传感器,在不同的ROI配置下,支持的最大帧率不同,请参考对应产品的datasheet。建议更改ROI之后,通过maxfps功能获取支持的最大帧率。
相关命令 :trgmode,roi,fps,maxfps。

2.4 普通触发模式

2.4.1 Rolling shutter(卷帘式曝光)

本节适用型号:MV-MIPI-IMX178M。

对于rolling shutter的sensor,如IMX178,一个完整的图像帧需要两帧图像周期才可以完成从曝光到输出的过程。所以最大帧率为视频流模式的一半。

在普通触发模式下,针对rolling shutter的sensor,我们将两个连续帧周期称为一个触发周期

普通触发模式下,如一次触发多帧,触发延迟作用在本次触发信号后,触发间隔和曝光延迟都在每一个触发周期前有效。

下图以触发触发帧数设置为2为例:

Normal trigger mode( Rolling shutter)
2.4.2 Smartsens's Global shutter(全局曝光)

本节适用于: MV-MIPI-SC130M,RAW-MIPI-SC132M。

对于斯特威的global shutter sensor,如SC130GS,一个完整的图像帧,需要经过曝光周期(exp time)和读出周期(read out)才可以完成。读出完成后才可以进行第二帧的曝光。

在普通触发模式下,针对global shutter的sensor,我们将一个曝光周期(exp time)和读出周期(read out)称为一个触发周期

因此触发模式下最大帧率受曝光时间长度的影响,而且无法达到与视频流模式同样高的帧率。

下图以触发触发帧数设置为2为例:

Smartsens's Normal trigger mode (Global shutter)


对于RAW系列模组,不支持Exposure Delay和Trigger interval,触发帧数只支持1帧。

2.4.3 Sony's Global shutter(全局曝光)

本节适用于: MV-MIPI-IMX296M,MV-MIPI-IMX265M,MV-MIPI-IMX264M,MV-MIPI-IMX287M。

对于Sony的global shutter sensor,在外触发模式下,上一帧的读出和下一帧的曝光可以同步进行。因此,可以达到几乎与视频流模式一样的外触发帧率。

下图以触发触发帧数设置为2为例:

Sony's Normal trigger mode (Global shutter)


2.5 高速触发模式

2.5.1 Rolling shutter(卷帘式曝光)

本节适用型号:MV-MIPI-IMX178M。

在高速触发模式下,假设一次触发帧数设置为N,那么第2到N帧都紧跟着前一帧输出,不再有触发间隔。这样可以达到与视频流模式一样的最高帧率。
下图以触发触发帧数设置为3为例:

High-speed trigger mode(Rolling shutter)


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的AD是12bit-depth
MV-MIPI-SC130M Mono8,Mono10 sensor的AD是10bit-depth
MV-MIPI-IMX287M Mono8,Mono10,Mono12 sensor的AD是8,10,12bit-depth
MV-MIPI-IMX296M Mono8,Mono10 sensor的AD是10bit-depth
MV-MIPI-IMX265M Mono8,Mono10,Mono12 sensor的AD是12bit-depth
MV-MIPI-IMX264M Mono8,Mono10,Mono12 sensor的AD是12bit-depth
RAW-MIPI-SC132M Mono8,Mono10 sensor的AD是10bit-depth
RAW-MIPI-IMX462M Mono10,Mono12 sensor的AD是10,12bit-depth
RAW-MIPI-AR0234M Mono8,Mono10 sensor的AD是10bit-depth

相关命令:fmtcap,pixelformat。

3.2 图像尺寸和最大帧率

图像尺寸取决于传感器。不同型号有所不同。

图像最高帧率取决于传感器和相机处理能力,不同的图像尺寸下,最大帧率不同。

设置完成图像尺寸(ROI区域)后,摄像机会自动计算出最高帧率,提供给用户参考。

典型尺寸的最大帧率见下表:

型号 尺寸 最高帧率 备注
MV-MIPI-IMX178M 3088 × 2064 22.3 最大尺寸
2592 x 1944 28.15
2560 x 2048 27
1920 x 1080 67
MV-MIPI-SC130M 1280 × 1024 214 最大尺寸,RAW8
1280 x 720 249 RAW8
640 x 480 367 RAW8
MV-MIPI-IMX296M 1456×1088 60.3 最大尺寸
1280 x 720 90
MV-MIPI-IMX287M 720x544 530 RAW8
437 RAW10
320 RAW12
MV-MIPI-IMX265M 2064×1544 55 最大尺寸
MV-MIPI-IMX264M 2464×2056 35 最大尺寸
1920 x 1080 67
RAW-MIPI-SC132M 1080×1280 120 最大尺寸
RAW-MIPI-IMX462M 1920x1088@4lane raw10 120
1920x1088@2lane raw10/12 60
RAW-MIPI-AR0234M 1920x1200@4lane 120
1920x1200@2lane 60

实际帧率可以小于最高帧率,而且可以设置为小数。为了保证相机帧率,我们规定了最大曝光时间不能大于[1/fps]秒。

相关命令:maxwh,maxfps,fps。

3.3 ROI区域

通过设置相机的图像感兴趣区域(ROI)可以只传输图像的特定区域,输出区域的参数包括输出区域的水平偏移(x)、垂直偏移(y)、宽度(w)和高度(h)。

默认情况下,相机的图像感兴趣区域为传感器的全分辨率区域。

3.3.1 ROI参数要求

[x] [y] [height] 的步长为 4,[width] 的步长为 8。

此外不同型号的相机,有不同的最小ROI区域。

型号 最小ROI area 备注
MV-MIPI-IMX178M 376 x 320
MV-MIPI-SC130M 64 x 64
MV-MIPI-IMX296M 80x4
MV-MIPI-IMX287M 264x4
MV-MIPI-IMX265M 264x4
MV-MIPI-IMX264M 264x4
RAW-MIPI-SC132M 64x64
RAW-MIPI-IMX462M 368x304
RAW-MIPI-AR0234M 64x64

摄像机将对用户参数进行必要的调整以满足参数要求。所以建议写完ROI参数之后,重新读出以确认真正生效的ROI区域。

相关命令:roi。

3.4 镜像翻转

此功能比较容易理解。需要特别说明的是,同时开启ROI和镜像翻转功能,图像首先ROI裁剪,然后镜像或者翻转。

ROI and Mirror/Flip


相关命令:imgdir。

3.5 黑电平

目前黑电平值应用范围只能选择为全部像素,不支持像素选择。 黑电平值越低,对应图像越暗;黑电平值越高,对应图像越亮。

相关命令:blacklevel。

3.6 测试图

3.6.1 MV-MIPI-IMX178M

以下以12bit数据格式为例,说明测试图模式。

3.6.1.1 模式1:灰度渐变测试图

第一列值为0,每向右一列灰度值增加4。

Test pattern 1
3.6.1.2 模式2:竖条纹测试图

每列像素依次为FFEh/555h/AAAh/001h。

Test pattern2 (enlarged)
3.6.2 MV-MIPI-SC130M RAW-MIPI-SC132M
3.6.2.1 模式1:灰度渐变测试图
Test-pattern1 sc130m
Test-pattern1 sc130m


3.6.3 RAW-MIPI-AR0234M

模式1:固定亮度灰度图

固定亮度为最大亮度的一半。

Test pattern1 of 0234m


模式2:color bar

Test pattern2 of ar0234m

相关命令:testimg。

4 ISP功能

通常情况下,RAW系列相机在这个部分仅支持手动曝光和手动增益。然而,RAW-MIPI-AR0234M支持AEC控制。

RAW-MIPI-AR0234M支持的功能包括:

AAROI、手动曝光、自动曝光、手动增益、自动增益。

4.1 曝光和增益控制

4.1.1 AAROI

相机根据AAROI区域统计出当前的图像亮度,并用于自动曝光、自动增益的计算。默认情况下,AAROI不使能,真正生效的统计区域为输出图像全部区域,即ROI区域。

AAROI坐标是ROI区域内的相对坐标,所以该区域必须小于图像的ROI。

相关命令:aaroi,aaroienable。

4.1.2 曝光

相机曝光时间范围是(0,1000000/fps) us。曝光时间的所有参数都是以微秒为单位。但是,由于传感器的特性,传感器的实际曝光时间单位是1行,不能精确到1us。

在任何模式下,都可以通过exptime命令读取当前的实际曝光时间。

曝光控制模式:手动曝光、自动曝光、单次自动曝光。

相关命令:expmode,exptime。

4.1.2.1 手动曝光

使用固定的曝光时间。

相关命令:expmode,metime。

4.1.2.2 自动曝光

自动调节相机的曝光时间,使 AAROI 中的平均亮度达到期望亮度值。这个过程会一直持续,因此可以迅速适应环境亮度的变化。

目标亮度值范围时0-255,与pixelformat无关。

相关命令:expmode,aatarget, aemaxtime。

4.1.2.3 单次自动曝光

通过expmode命令设置相机进入单次自动曝光模式,则相机会进行一次自动曝光调节,完成调节后关闭自动调节。如果由于环境亮度与最大曝光时间不匹配,无法将调节到目标亮度,超时后也会停止调节。

相关命令:expmode,aatarget, aemaxtime。

4.1.3 增益

相机的增益范围,取决于使用的sensor。增益的提高会导致噪声提高,建议不要使用过大的增益。

model Range Step
MV-MIPI-IMX178M 0-48dB 0.1dB
MV-MIPI-SC130M 0-40dB 0.1dB
MV-MIPI-IMX287M 0-48dB 0.1dB
MV-MIPI-IMX296M 0-48dB 0.1dB
MV-MIPI-IMX265M 0-48dB 0.1dB
MV-MIPI-IMX264M 0-48dB 0.1dB
RAW-MIPI-SC132M 0-40dB 0.1dB
4.1.3.1 手动增益

使用固定的增益。

相关命令:gainmode,mgain。

4.1.3.2 自动增益

自动调节相机的增益,使 AAROI 中的平均亮度达到期望亮度值。这个过程会一直持续,因此可以迅速适应环境亮度的变化。

目标亮度值范围时0-255,与pixelformat无关。

相关命令:gainmode,aatarget, agmaxgain。

4.1.3.3 单次自动增益

通过gainmode命令设置相机进入单次自动增益模式,则相机会进行一次自动增益调节,完成调节后关闭自动调节。如果由于环境亮度与最大增益不匹配,无法将调节到目标亮度,超时后也会停止调节。

相关命令:gainmode,aatarget, agmaxgain。

4.1.4 其他说明

1. 同时使能自动曝光和自动增益时,相机优先使用曝光时间,尽量降低增益的使用。尽量避免由于过大的增益而引起的噪声。

2. aeag_run_once_save命令,执行AE once和AG once并将结果保存为手动值。有助于安装调试。

4.2 gamma

用户可以使用 Gamma 功能来优化采集图像的亮度,以便在显示器上显示出用户想要的图像亮度。

相机根据以下公式将Gamma 校正值(γ)应用于每个像素,来改变每个像素的亮度值。

gamma_formula

对于 8 位像素格式,最大像素值(Ymax)等于 255;

对于 10 位像素格式,最大像素值(Ymax)等于 1023;

对于 12 位像素格式,最大像素值(Ymax)等于 4095;

gamma值范围是 0 到 4.00。

a) 当设置 Gamma = 1.0 时,整体亮度保持不变。

b) 当设置 Gamma < 1.0 时,整体亮度增加。

c) 当设置 Gamma > 1.0 时,整体亮度降低。

在所有情况下,黑色的像素(亮度值= 0)和白色的像素(亮度值=最大值)将不调整其亮度。

现阶段,只有8位深度数据支持gamma功能。

相关命令:gammaenable,gamma。

4.3 查找表

摄像机可以根据用户自定义查找表,逐个将摄像机输出值替换为目标值。

相关命令:lutenable,lut。

5 IO控制

对于RAW系列摄像头,输入IO支持触发边沿和触发延迟,不支持触发滤波功能。输出IO是直接引出的sensor的strobe out接口。

5.1 输入引脚配置

现在只有一个输入引脚:TriggerIN_IO。功能为:硬触发的输入信号。

可以通过Trigger Edge功能配置触发信号的有效沿。

相关命令:trgedge。

5.1.1 触发滤波

为了抑制外触发信号中的干扰,MV系列相机具有外触发滤波功能,包括低电平滤波和高电平滤波。

低电平滤波的作用是滤除低电平上的毛刺信号,高电平滤波的作用是滤除高电平上的毛刺信号。

滤波窗口的范围可以设置为[1,1000000]us。

下图以同时使能低电平滤波和高电平滤波,滤波时间为1ms为例:

Trigger filter

相关命令:trgfilter_enable,trgfilter_time。

RAW系列摄像机模组不支持触发滤波功能。

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 普通触发模式(global shutter)

下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:

Normal trigger mode details (Global shutter)


5.2.3.2 Smartsens's 普通触发模式(rolling shutter)

下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:

Smartsens's Normal trigger mode; Strobe and TriggerWait


5.2.3.3 Sony's 普通触发模式(rolling shutter)

下图以触发触发帧数设置为2为例,列出Strobe信号和TriggerWait信号:

Sony's Normal trigger mode, Strobe and TriggerWait


5.2.3.4 高速触发模式(rolling shutter)

下图以触发触发帧数设置为3为例,列出Strobe信号和TriggerWait信号:

High-speed trigger mode; Strobe and 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.

6 RAW series camera的特别说明

RAW系列相机只有一个MCU作为辅助控制芯片。普通模式和SDA模式可以通过mcubypass命令进行切换。

6.1 普通模式

普通模式下,主板不能直接访问sensor。MCU提供了对sensor的初始化配置以及各种功能的配置。对不同的嵌入式平台,我们都提供了对应的驱动、脚本、demo。

其功能的介绍参考本文上面的描述。

6.2 SDA 模式

SDA模式是Sensor Direct Access的缩写,此时MCU不再对sensor的i2c做任何控制,而是直接由用户控制sensor。

同时,为了提供必要的系统信息、模式切换、触发信号配置,MCU本身依旧对外提供i2c接口。

比如,RAW系列摄像头在SDA模式下,具备两个i2c地址:0x30是sensor的地址,0x3b是MCU的地址。

SDA模式下,我们提供的驱动和demo均不再适用,只有部分mv_mipi_i2c.sh指令和寄存器可用。

6.3 触发延迟

对于RAW系列摄像头,触发信号需要经过MCU的转发而传递给sensor。这个转发有一个固定的850ns左右的延迟。