Changes

Jump to navigation Jump to search
8,915 bytes added ,  09:47, 22 October 2023
Line 1: Line 1:  
[[Mv mipi camera manual/zh|查看中文]]
 
[[Mv mipi camera manual/zh|查看中文]]
   −
'''<big>MV series MIPI image module manual</big>'''
+
'''<big>MV series and RAW series MIPI camea module manual</big>'''
 
===Overview===
 
===Overview===
 
MV series is a series of camera modules specially designed for machine vision. It is excellent in performance, compact and affordable in price. In addition to the video streaming mode, a trigger mode and a series of functions related to triggering are also provided. Provides a better option for embedded systems for machine vision applications.  
 
MV series is a series of camera modules specially designed for machine vision. It is excellent in performance, compact and affordable in price. In addition to the video streaming mode, a trigger mode and a series of functions related to triggering are also provided. Provides a better option for embedded systems for machine vision applications.  
 +
 +
The RAW series cameras have only one mcu as an auxiliary control chip and do not contain an ISP module. Therefore, its functions are a subset of the MV series. Whether or not the feature is applicable to RAW series cameras will be listed in the description of each feature later on.
 +
 +
In addition, RAW series cameras support SDA (Sensor direct access) mode, which will be detailed in the last section of this article.
    
To facilitate rapid development, we provide hardware datasheet , register manuals and drivers for embedded platforms, demos.
 
To facilitate rapid development, we provide hardware datasheet , register manuals and drivers for embedded platforms, demos.
Line 10: Line 14:     
In this article, the ''[Related Commands]'' column after each function lists the commands in the [[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]] script that are related to this function.
 
In this article, the ''[Related Commands]'' column after each function lists the commands in the [[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]] script that are related to this function.
 +
====Camera Module List====
 +
{| 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
 +
|}
 
===Image Acquisition===
 
===Image Acquisition===
 
====Rolling shutter and Global shutter====
 
====Rolling shutter and Global shutter====
Line 37: Line 92:     
===== Rolling shutter =====
 
===== Rolling shutter =====
 +
This section applies to model: MV-MIPI-IMX178M.
 +
 
For a rolling shutter sensor, such as IMX178, a complete image frame requires two image cycles to complete the process from exposure to output. So the maximum frame rate is half of the video streaming mode.
 
For a rolling shutter sensor, such as IMX178, a complete image frame requires two image cycles to complete the process from exposure to output. So the maximum frame rate is half of the video streaming mode.
   Line 45: Line 102:  
The following figure shows an example of a trigger period  with Trigger Number set to 2:<br />
 
The following figure shows an example of a trigger period  with Trigger Number set to 2:<br />
 
[[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
+
This section applies to model: MV-MIPI-SC130M,RAW-MIPI-SC132M.
 +
 
 +
For Smartsens's global shutter sensor, such as the SC130GS, a complete image frame requires an exposure time and a read out cycle to complete. The second frame can be exposed only after the  read out cycle is completed.
 +
 
 +
In normal trigger mode, for the global shutter sensor, we call one exp time and one read out cycle a '''''trigger cycle'''''.
 +
 
 +
Therefore the maximum frame rate in trigger mode is influenced by the length of the exposure time,and cannot achieve the same frame rate as the video streaming mode.
 +
 
 +
The following figure shows an example of a trigger period  with Trigger Number set to 2:
 +
[[File:Normal trigger mode (Global shutter).png|center|thumb|800x800px|Smartsens's  Normal trigger mode (Global shutter)]]
 +
<br />For RAW series modules, Exposure Delay and Trigger Dealy are not supported and Trigger number only support 1.
 +
 
 +
===== Sony's Global shutter =====
 +
This section applies to model: MV-MIPI-IMX296M,MV-MIPI-IMX265M,MV-MIPI-IMX264M,MV-MIPI-IMX287M.
 +
 
 +
For Sony's global shutter sensor, the readout of the previous frame and the exposure of the next frame can be synchronized in the trigger mode.
    +
Therefore, it is possible to achieve almost the same external trigger frame rate as in video streaming mode.
 +
[[File:Sony's Normal trigger mode (Global shutter).png.png|link=http://wiki.veye.cc/index.php/File:Sony's%20Normal%20trigger%20mode%20(Global%20shutter).png.png|center|thumb|800x800px|Sony's Normal trigger mode (Global shutter)]]
 +
<br />
 
==== High-speed continuous trigger mode ====
 
==== High-speed continuous trigger mode ====
    
===== Rolling shutter =====
 
===== Rolling shutter =====
 +
This section applies to model: MV-MIPI-IMX178M.
 +
 
In high-speed trigger mode, assume '''Trigger Number''' is N, frames 2 to N are output immediately after the previous frame and there is no more trigger interval. This allows the same maximum frame rate to be achieved as in video streaming mode.
 
In high-speed trigger mode, assume '''Trigger Number''' is N, frames 2 to N are output immediately after the previous frame and there is no more trigger interval. This allows the same maximum frame rate to be achieved as in video streaming mode.
   Line 96: Line 173:  
|MV-MIPI-IMX178M
 
|MV-MIPI-IMX178M
 
|Mono8,Mono10,Mono12
 
|Mono8,Mono10,Mono12
|sensor output data is always12bit-depth
+
|sensor's AD is 12bit-depth
 +
|-
 +
|MV-MIPI-SC130M
 +
|Mono8,Mono10
 +
|sensor's AD is 10bit-depth
 +
|-
 +
|MV-MIPI-IMX296M
 +
|Mono8,Mono10
 +
|sensor's AD is 10bit-depth
 +
|-
 +
|MV-MIPI-IMX287M
 +
|Mono8,Mono10,Mono12
 +
|sensor's AD is 8,10,12bit-depth
 +
|-
 +
|MV-MIPI-IMX265M
 +
|Mono8,Mono10,Mono12
 +
|sensor's AD is 12bit-depth
 +
|-
 +
|MV-MIPI-IMX264M
 +
|Mono8,Mono10,Mono12
 +
|sensor's AD is 12bit-depth
 +
|-
 +
|RAW-MIPI-SC132M
 +
|Mono8,Mono10
 +
|sensor's AD is 10bit-depth
 +
|-
 +
|RAW-MIPI-IMX462M
 +
|Mono10,Mono12
 +
|sensor的AD is 10,12bit-depth
 +
|-
 +
|RAW-MIPI-AR0234M
 +
|Mono8,Mono10
 +
|sensor的AD is 10bit-depth
 
|}
 
|}
 
Related commands :fmtcap, pixelformat.
 
Related commands :fmtcap, pixelformat.
Line 111: Line 220:  
!model
 
!model
 
!size
 
!size
! max framerate
+
!max framerate
 
!Note
 
!Note
 
|-
 
|-
| rowspan="4" |MV-MIPI-IMX178M
+
| rowspan="4" | MV-MIPI-IMX178M
 
|3088 × 2064
 
|3088 × 2064
 
|22.3
 
|22.3
|Max size
+
| Max size
 
|-
 
|-
 
|2592 x 1944
 
|2592 x 1944
Line 127: Line 236:  
|
 
|
 
|-
 
|-
| 1920 x 1080
+
|1920 x 1080
 
|67
 
|67
 
|
 
|
|}
+
|-
The actual frame rate can be less than the maximum frame rate and can be set to a decimal number.  
+
| rowspan="3" |MV-MIPI-SC130M
 +
|1280 × 1024
 +
| 214
 +
|Max size,RAW8
 +
|-
 +
|1280 x 720
 +
|249
 +
|RAW8
 +
|-
 +
|640 x 480
 +
|367
 +
|RAW8
 +
|-
 +
| rowspan="2" |MV-MIPI-IMX296M
 +
|1456×1088
 +
|60.3
 +
| Max size
 +
|-
 +
|1280 x 720
 +
| 90
 +
|
 +
|-
 +
| rowspan="3" |MV-MIPI-IMX287M
 +
| rowspan="3" |720x544
 +
|530
 +
|RAW8
 +
|-
 +
|437
 +
| RAW10
 +
|-
 +
|320
 +
|RAW12
 +
|-
 +
|MV-MIPI-IMX265M
 +
|2064×1544
 +
|55
 +
| Max size
 +
|-
 +
| rowspan="2" |MV-MIPI-IMX264M
 +
|2464×2056
 +
|35
 +
|Max size
 +
|-
 +
|1920 x 1080
 +
| 67
 +
|
 +
|-
 +
|RAW-MIPI-SC132M
 +
|1080×1280
 +
|120
 +
|Max size
 +
|-
 +
| 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
 +
|
 +
|}The actual frame rate can be less than the maximum frame rate and can be set to a decimal number.  
    
To guarantee the camera frame rate, we specify that the maximum exposure time cannot be greater than [1/fps] seconds.
 
To guarantee the camera frame rate, we specify that the maximum exposure time cannot be greater than [1/fps] seconds.
Line 154: Line 332:  
|376 x 320
 
|376 x 320
 
|
 
|
|}The camera will make necessary adjustments to the user parameters to meet the parameter requirements.
+
|-
 +
|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
 +
|
 +
|}
 +
The camera will make necessary adjustments to the user parameters to meet the parameter requirements.
    
So it is highly recommended that you read out the actual ROI parameters after writing them.
 
So it is highly recommended that you read out the actual ROI parameters after writing them.
Line 161: Line 372:     
==== Mirror and Flip ====
 
==== Mirror and Flip ====
This function is relatively easy to understand. A special note is that with both ROI and Mirror/Flip on, the image is first mirrored/flipped, and then ROI cropped.
+
This function is relatively easy to understand. A special note is that with both ROI and Mirror/Flip on, the image is first ROI cropped, and then mirrored/flipped.
[[File:Roi region and MF.jpg|link=http://wiki.veye.cc/index.php/File:Roi%20region%20and%20MF.jpg|center|thumb|800x800px|ROI and Mirror/Flip]]
+
[[File:ROI Mirror Flip.jpg|alt=|center|thumb|799x799px|ROI and Mirror/Flip]]
 
<br />Related commands:imgdir.
 
<br />Related commands:imgdir.
   Line 171: Line 382:     
==== Test Pattern ====
 
==== Test Pattern ====
 +
 +
===== MV-MIPI-IMX178M =====
 
The following is an example of the test chart pattern in 12bit data format.
 
The following is an example of the test chart pattern in 12bit data format.
   −
===== Mode 1: Grayscale gradient test pattern =====
+
====== IMX178 Mode 1: Grayscale gradient test pattern ======
 
The value of the first column is 0, and the grayscale value increases by 4 for each column to the right.<br />
 
The value of the first column is 0, and the grayscale value increases by 4 for each column to the right.<br />
 
[[File:Test-pattern1.png|link=http://wiki.veye.cc/index.php/File:Test-pattern1.png|center|thumb|800x800px|Test pattern 1]]
 
[[File:Test-pattern1.png|link=http://wiki.veye.cc/index.php/File:Test-pattern1.png|center|thumb|800x800px|Test pattern 1]]
   −
===== Mode 2: Vertical stripe test chart =====
+
====== IMX178 Mode 2: Vertical stripe test chart ======
 
The pixels in each column are FFEh/555h/AAAh/001h in order.
 
The pixels in each column are FFEh/555h/AAAh/001h in order.
 
[[File:Test pattern2 enlarged.png|link=http://wiki.veye.cc/index.php/File:Test%20pattern2%20enlarged.png|center|thumb|800x800px|Test pattern2 (enlarged)]]
 
[[File:Test pattern2 enlarged.png|link=http://wiki.veye.cc/index.php/File:Test%20pattern2%20enlarged.png|center|thumb|800x800px|Test pattern2 (enlarged)]]
Related command: testimg.
+
 
 +
===== MV-MIPI-SC130M RAW-MIPI-SC132M =====
 +
 
 +
====== Mode 1: Grayscale gradient test pattern ======
 +
[[File:Test-pattern1 sc130m.png|center|thumb|800x800px]]
 +
<br />
 +
===== RAW-MIPI-AR0234M=====
 +
 
 +
====== Mode 1:Solid Color Test Pattern ======
 +
<br />[[File:Test pattern1 of 0234m.jpg|center|thumb|800x800px|Test pattern1 of 0234m|link=http://wiki.veye.cc/index.php/File:Test_pattern1_of_0234m.jpg]]<br />
 +
 
 +
====== Mode 2:color bar ======
 +
[[File:Test pattern2 of ar0234m.jpg|center|thumb|800x800px|Test pattern2 of ar0234m|link=http://wiki.veye.cc/index.php/File:Test_pattern2_of_ar0234m.jpg]]Related command: testimg.
    
===ISP===
 
===ISP===
 +
Generally, only manual exposure and manual gain are supported by RAW series cameras in this section. However, RAW-MIPI-AR0234M does support AEC control.
 +
 +
Functions supported by RAW-MIPI-AR0234M include:
    +
AAROI,Manual Exposure,Auto Exposure,Manual Gain,Auto Gain.
 
==== Exposure and Gain Control ====
 
==== Exposure and Gain Control ====
   Line 230: Line 459:  
|MV-MIPI-IMX178M
 
|MV-MIPI-IMX178M
 
|0-48dB
 
|0-48dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-SC130M
 +
|0-40dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-IMX296M
 +
|0-48dB
 +
|0.1dB
 +
|-
 +
|MV-MIPI-IMX287M
 +
|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
 
|0.1dB
 
|}
 
|}
Line 236: Line 489:  
Use a fixed gain.
 
Use a fixed gain.
   −
Related command:gainmode,mgain。
+
Related command:gainmode,mgain.
    
====== Auto Gain(AG) ======
 
====== Auto Gain(AG) ======
Line 256: Line 509:     
2. aeag_run_once_save command execute AE&AG once operation and save the results to the camera as manual values.This is a function that is useful when the camera is installed.
 
2. aeag_run_once_save command execute AE&AG once operation and save the results to the camera as manual values.This is a function that is useful when the camera is installed.
 +
 +
==== gamma ====
 +
Users can use the Gamma function to optimize the brightness of the captured image to display the user's desired image brightness on the monitor.
 +
 +
The camera applies a Gamma (γ) to each pixel to change the luminance value of each pixel according to the following formula。
 +
[[File:Gamma formula.jpg|none|thumb|400x400px|gamma_formula]]
 +
For 8-bit pixel format, the maximum pixel value (Ymax) is 255.
 +
 +
For 10-bit pixel format, the maximum pixel value (Ymax) is 1023.
 +
 +
For 12-bit pixel format, the maximum pixel value (Ymax) is 4095.
 +
 +
The gamma value ranges from 0 to 4.00.
 +
 +
a) When Gamma = 1.0, the overall brightness remains the same.
 +
 +
b) When Gamma < 1.0, the overall brightness increases.
 +
 +
c) When Gamma > 1.0, the overall brightness decreases.
 +
 +
In all cases, black pixels (brightness value = 0) and white pixels (brightness value = maximum) will not have their brightness adjusted.
 +
 +
For now, gamma only works on 8bit depth image.
 +
 +
Related command:gammaenable,gamma.
 +
 +
==== Lookup Table(LUT) ====
 +
The camera can replace the camera output values with the target values one by one according to a user-defined lookup table.
 +
 +
Related command:lutenable,lut.
    
===IO Control===
 
===IO Control===
 +
For RAW series cameras, the input IO supports trigger edge and trigger delay, and does not support trigger filtering function. The output IO is the strobe out pin of the sensor that leads directly.
    
==== Input IO Configuration ====
 
==== Input IO Configuration ====
Line 304: Line 588:     
The camera's trigger wait signal can be used to optimize trigger image acquisition and can effectively avoid the problem of over-triggering.
 
The camera's trigger wait signal can be used to optimize trigger image acquisition and can effectively avoid the problem of over-triggering.
 +
 +
====== Smartsens's Normal trigger mode(Global shutter) ======
 +
The following figure lists the Strobe signal and the TriggerWait signal with the number of trigger frames set to 2 as an example.
 +
[[File:Normal trigger mode details (Global shutter).png|center|thumb|800x800px|Smartsens's Normal trigger mode details (Global shutter)]]
 +
<br />
 +
====== Sony's Normal trigger mode(Global shutter) ======
 +
The following figure lists the Strobe signal and the TriggerWait signal with the number of trigger frames set to 2 as an example.
 +
[[File:Sony Normal trigger mode detail(Global shutter).png.png|link=http://wiki.veye.cc/index.php/File:Sony%20Normal%20trigger%20mode%20detail(Global%20shutter).png.png|center|thumb|800x800px|Sony's Normal trigger mode, Strobe and TriggerWait]]
    
====== Normal trigger mode(Rolling shutter) ======
 
====== Normal trigger mode(Rolling shutter) ======
Line 328: Line 620:     
Related commands :gpios_status.
 
Related commands :gpios_status.
 +
 +
=== Special note for RAW series camera ===
 +
RAW series cameras have only one MCU as the auxiliary chip. Normal mode and SDA mode can be switched by [[Mv mipi i2c.sh user guide#mcubypass|mcubypass]] command.
 +
 +
==== Normal mode ====
 +
In normal mode, the motherboard cannot access the sensor directly. the MCU provides the initial configuration of the sensor and the configuration of various functions. For different embedded platforms, we have provided corresponding drivers, scripts, and demos.
 +
 +
The functions are described in the above description of this article.
 +
 +
==== SDA mode ====
 +
SDA mode is short for Sensor Direct Access, when the MCU no longer has any control over the i2c of the sensor. The user controls the sensor directly.
 +
 +
Meanwhile, in order to provide necessary system information, mode switching, and configuration of trigger signals, the MCU itself still provides i2c interface to the outside.
 +
 +
For example, the RAW series cameras has two i2c addresses in SDA mode: 0x30 is the i2c address of the sensor and 0x3b is the i2c address of the MCU.
 +
 +
In SDA mode, the drivers and demos we provided are no longer applicable, only some [[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]] instructions and [[MV Series MIPI Camera Register Map|registers]] are available.
 +
 +
==== Trigger Delay ====
 +
For RAW series cameras, the trigger signal needs to be forwarded to the sensor by the MCU, and this forwarding has a fixed delay of about 850ns.
 +
<br />

Navigation menu