Changes

Jump to navigation Jump to search
8,323 bytes added ,  15:30, 16 October 2023
Line 1: Line 1:  
[[VEYE-MIPI-290/327 i2c/zh|查看中文]]
 
[[VEYE-MIPI-290/327 i2c/zh|查看中文]]
   −
[[VEYE-MIPI-290/327 i2c/|<big><big><big><big>VEYE-MIPI-290/327 I2C.sh user guide</big></big></big></big>]]
+
[[VEYE-MIPI-290/327 i2c/|<big><big><big><big>VEYE-MIPI-X I2C.sh user guide</big></big></big></big>]]
    
===Overview===
 
===Overview===
Line 34: Line 34:  
|1
 
|1
 
|CAM1
 
|CAM1
|}<br />
+
|}
 
===veye_mipi_i2c.sh USAGE===
 
===veye_mipi_i2c.sh USAGE===
 
./veye_mipi_i2c.sh
 
./veye_mipi_i2c.sh
   −
Usage: ./veye_mipi_i2c.sh [-r/w] [-f] function name -p1 param1 -p2 param2 -b bus
+
Usage: ./veye_mipi_i2c.sh [-r/w] [-f] function name -p1 param1 -p2 param2 -b bus -d i2caddr
    
options:
 
options:
Line 54: Line 54:  
-b [i2c bus num] i2c bus number
 
-b [i2c bus num] i2c bus number
   −
support functions: devid,hdver,wdrmode,videoformat,mirrormode,denoise,agc,lowlight,daynightmode,ircutdir,irtrigger,mshutter
+
-d [i2c addr] i2c device address
 +
=== i2c bus number on different board ===
 +
Please refer to the following article to determine which -b parameter you need to use.
   −
Pi3B / Pi3B+ / 3A / 4B(1G/2G/4G),we use i2c0
+
[[I2c bus number and video node|i2c bus number on different boards]]
   −
Compute Module/ CM3,we use i2c1,please add '''-b 1''' option.
+
=== Functions list ===
    
=====devid=====
 
=====devid=====
Line 66: Line 68:  
!description
 
!description
 
|-
 
|-
|0x02
+
|0x06
|MIPI, 2Lane
+
|VEYE-MIPI-X series,IMX327 IMX462 IMX385
|-
  −
|0x13
  −
|LVDS,3Lane
   
|}
 
|}
 
=====hdver=====
 
=====hdver=====
Line 81: Line 80:  
|Version
 
|Version
 
|}
 
|}
 +
The isp fireware release time will also be printed.
 +
 +
===== sensorid =====
 +
<code>./veye_mipi_i2c.sh -r -f sensorid</code>
 +
 +
Print sensor type and board information.
 +
 
=====wdrmode=====
 
=====wdrmode=====
 
  <code>./veye_mipi_i2c.sh -r -f wdrmode
 
  <code>./veye_mipi_i2c.sh -r -f wdrmode
Line 98: Line 104:  
|-
 
|-
 
|0x03
 
|0x03
|WDR Enable
+
|DOL WDR Enable
 
|}
 
|}
 
=====videoformat=====
 
=====videoformat=====
Line 107: Line 113:  
!value
 
!value
 
!description
 
!description
 +
!frame rate
 
|-
 
|-
 
|PAL
 
|PAL
 
|PAL(50Hz)
 
|PAL(50Hz)
 +
|25fps
 
|-
 
|-
 
|NTSC
 
|NTSC
 
|NTSC(60Hz)
 
|NTSC(60Hz)
 +
|30fps
 
|}
 
|}
 
=====mirrormode=====
 
=====mirrormode=====
Line 191: Line 200:  
  <code>./veye_mipi_i2c.sh -r -f agc
 
  <code>./veye_mipi_i2c.sh -r -f agc
 
  ./veye_mipi_i2c.sh -w -f agc -p1 [value]</code>
 
  ./veye_mipi_i2c.sh -w -f agc -p1 [value]</code>
 +
agc indicated max gain of AE mode.
 +
 +
Agc stands for auto gain control. It is a part of auto exposure, in different light intensity, will try to adjust the gain of sensor to achieve the same image brightness. 0xC by default.
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 201: Line 213:  
  <code>./veye_mipi_i2c.sh -r -f lowlight
 
  <code>./veye_mipi_i2c.sh -r -f lowlight
 
  ./veye_mipi_i2c.sh -w -f lowlight -p1 [value]</code>
 
  ./veye_mipi_i2c.sh -w -f lowlight -p1 [value]</code>
 +
In the case of low illuminance, the camera module can prolong the exposure time and reduce the frame rate by configuring this parameter to achieve a better effect of low illuminance.
 +
 +
Note that the set value is the minimum frame rate value and the actual frame rate value is affected by the automatic exposure algorithm.
 +
 +
Note that it is not suitable for use in a sports scene.
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
!description
+
!minimum fps
 
|-
 
|-
 
|0x01
 
|0x01
Line 265: Line 282:  
*Trigger Mode
 
*Trigger Mode
   −
Trigger pin : [[VEYE-MIPI-290/327|J3 pin1]].
+
Trigger pin : [[VEYE-MIPI-290/327|J3 pin1 of VEYE-MIPI-327]] or [[VEYE-MIPI-IMX327S Data Sheet|J2 pin1 of VEYE-MIPI-IMX327S]].
    
Trigger pin High(3.3~12V),Image is Black&White Mode and IR-CUT status '''Deliver''' infrared.
 
Trigger pin High(3.3~12V),Image is Black&White Mode and IR-CUT status '''Deliver''' infrared.
Line 271: Line 288:  
Trigger pin Low(GND),Image is Color Mode and IR-CUT status '''Bolck''' infrared.
 
Trigger pin Low(GND),Image is Color Mode and IR-CUT status '''Bolck''' infrared.
    +
===== ircutdir =====
 +
<code>./veye_mipi_i2c.sh -r -f ircutdir</code>
 +
 +
<code>./veye_mipi_i2c.sh -w -f ircutdir -p1 [value]</code>
 +
 +
IR_CUT pins control direction. value could be 0 or 1.
 +
=====irtrigger=====
 +
<code>./veye_mipi_i2c.sh -r -f irtrigger</code>
 +
 +
<code>./veye_mipi_i2c.sh -w -f irtrigger -p1 [value]</code>
 +
 +
Polarity setting of the day/night switching external trigger mode pin.
 +
{| class="wikitable"
 +
! value
 +
!description
 +
|-
 +
|0x0
 +
|default value,refer to datasheet of different boards.
 +
|-
 +
|0x1
 +
|Reversed.
 +
|}
 
=====mshutter=====
 
=====mshutter=====
close AE, use manual shutter
+
Automatic exposure, manual exposure mode selection and configuration.
    
<code>./veye_mipi_i2c.sh -r -f mshutter</code>
 
<code>./veye_mipi_i2c.sh -r -f mshutter</code>
Line 280: Line 319:  
value is exposure time(seconds)
 
value is exposure time(seconds)
   −
If value  is greater than or equal to 0x4B, it enters slow shutter mode.
+
If value  is greater than or equal to 0x4B, it will reduce framerate.
 
{| class="wikitable"
 
{| class="wikitable"
 
|+
 
|+
Line 348: Line 387:  
|0x53
 
|0x53
 
|1/30 (25) *30
 
|1/30 (25) *30
|}<br />
+
|}
 +
 
 +
=====cameramode=====
 +
Requirements:hdver >= 0x3
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f cameramode</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f cameramode -p1 [value]</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x0
 +
|Stream mode
 +
|-
 +
|0x1
 +
|Capture mode
 +
|}Stream mode:  stream output
 +
 
 +
Caputre mode: output the next frame each '''capture''' cmd.
 +
=====nodf=====
 +
Requirements:hdver >= 0x3, effective in Stream mode
 +
 
 +
Number of dropped frames
 +
 
 +
It is a method of framerate control, output one frame,discard '''nodf''' frames,output next frame, and so on.
 +
 
 +
''actual framerate = original framerate /(1+nodf)''
 +
 
 +
For example,if the original framerate is 30fps, set '''nodf''' to 2, then ''actual framerate'' is 10fps.
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f nodf</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f nodf -p1 [value]</code>
 +
 
 +
'''ntof''' range is [0-0xFF], default 0.
 +
=====capture=====
 +
Requirements:hdver >= 0x3, effective in Capture mode
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f capture</code>
 +
 
 +
Output the next frame. This cmd does not interfere the sensor,  it just output the next frame (the newest frame).
 +
 
 +
So it is not trigger mode, there will be a delay[0,1/framerate] between the cmd and the frame exposure.
 +
 
 +
It is applicable to those that do not require a high level of real-time performance.
 +
=====csienable=====
 +
Requirements:hdver >= 0x3
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f csienable</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f csienable -p1 [value]</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x0
 +
|suspend csi output
 +
|-
 +
|0x1
 +
|enable csi output
 +
|}default: 0x1
 +
 
 +
Note: This is not low power mode, the camera is still working.
 +
=====brightness=====
 +
<code>./veye_mipi_i2c.sh -r -f brightness</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f brightness -p1 0x32</code>
 +
 
 +
AE Target Brightness,rang: [0,0x64]
 +
=====aespeed=====
 +
<code>./veye_mipi_i2c.sh -r -f aespeed</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f aespeed -p1 0x32 -p2 0x32</code>
 +
 
 +
AE adjust speed,p1 is agc speed, p2 is shutter speed,Slow to Fast: [0,0x64]
 +
=====contrast=====
 +
<code>./veye_mipi_i2c.sh -r -f contrast</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f contrast -p1 0x32</code>
 +
 
 +
Contrast,range: [0,0xFF],default: 0x80.
 +
 
 +
=====saturation=====
 +
<code>./veye_mipi_i2c.sh -r -f saturation</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f saturation -p1 0x32</code>
 +
 
 +
Saturation, range: [0,0x64].
 +
 
 +
===== sharppen =====
 +
<code>./veye_mipi_i2c.sh -r -f sharppen</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f sharppen -p1 [val1] -p2 [value]</code>
 +
{| class="wikitable"
 +
!param1 value
 +
!description
 +
|-
 +
|0x0
 +
| sharppen disable
 +
|-
 +
|0x1
 +
| sharppen enable
 +
|}default: 0x1
 +
 
 +
param2: sharppen strength, range [0x0-0xA]
 +
=====wdrsharppen=====
 +
<code>./veye_mipi_i2c.sh -r -f wdrsharppen</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f wdrsharppen -p1 [val1] -p2 [value]</code>
 +
 
 +
sharppeness setting on DOL WDR mode.
 +
{| class="wikitable"
 +
! param1 value
 +
!description
 +
|-
 +
|0x0
 +
|sharppen disable
 +
|-
 +
|0x1
 +
| sharppen enable
 +
|}default: 0x1
 +
 
 +
param2: sharppen strength, range [0x0-0xA]
 +
=====wdrtargetbr=====
 +
<code>./veye_mipi_i2c.sh -r -f wdrtargetbr</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f wdrtargetbr -p1 0x80</code>
 +
 
 +
The overall AE target value in WDR mode.
 +
 
 +
Takes effect in WDR mode. range:  [0-0xFF], default : 0x80.
 +
=====wdrbtargetbr=====
 +
<code>./veye_mipi_i2c.sh -r -f wdrbtargetbr</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f wdrbtargetbr -p1 0x80</code>
 +
 
 +
The AE target value of the bright area in WDR mode.
 +
 
 +
Takes effect in WDR mode. range:  [0-0xFF], default : 0x80.
 +
 
 +
===== boardmodel =====
 +
<code>./veye_mipi_i2c.sh -r -f boardmodel</code>
 +
 
 +
Requirment: hdver >=4.
 +
 
 +
Read the board number of the board, which can be used to distinguish between VEYE-MIPI-327 and VEYE-MIPI-IMX327S.
 +
 
 +
===== i2cwen =====
 +
<code>./veye_mipi_i2c.sh -r -f i2cwen</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f i2cwen -p1 [0/1]</code>
 +
 
 +
Requirment: hdver >=4.
 +
 
 +
Whether to enable the i2C write register function of the camera, enabled by default. It is used for register write protection in special cases.
 +
 
 +
===== i2cauxenable =====
 +
<code>./veye_mipi_i2c.sh -r -f i2cauxenable</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f i2cauxenable -p1 [0/1]</code>
 +
 
 +
Requirment: hdver >=4.
 +
 
 +
Whether to enable auxiliary i2C. If enable auxiliary i2C, the primary i2C on the FFC cable cannot be used. Used for bus conflict resolution in special cases.
 +
===== awbgain =====
 +
<code>./veye_mipi_i2c.sh -r -f awbgain</code>
 +
 
 +
Read the Rgain and Bgain of the current white balance status , parameter range [0,0xFF].
 +
=====wbmode=====
 +
<code>./veye_mipi_i2c.sh -r -f wbmode</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f wbmode -p1 [value]</code>
 +
 
 +
White balance mode setting.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x18
 +
|Auto white balance
 +
|-
 +
|0x1B
 +
| Manual white balance
 +
|}
 +
===== mwbgain=====
 +
<code>./veye_mipi_i2c.sh -r -f mwbgain</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f mwbgain -p1 [rgain] -p2 [bgain]</code>
 +
 
 +
Rgain and Bgain setting in manual white balance mode.arameter range [0,0xFF].
 +
=====yuvseq=====
 +
<code>./veye_mipi_i2c.sh -w -f yuvseq -p1 YUYV</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f yuvseq -p1 UYVY</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f yuvseq</code>
 +
 
 +
Set yuv seq of camera.
 +
 
 +
Note: only supported on hdver >= 0x4
 +
 
 +
=== New function list ===
 +
The following new features are only supported in camera's firmware versions with ''release time'' later than 2022-11-22.
 +
 
 +
===== paramsave =====
 +
<code>./veye_mipi_i2c.sh -w -f paramsave</code>
 +
 
 +
Save isp-related parameters to flash.
 +
 
 +
===== new_expmode =====
 +
<code>./veye_mipi_i2c.sh -r -f new_expmode</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f new_expmode -p1 [0/1]</code>
 +
 
 +
Whether the new version of manual exposure is enabled.
 +
 
 +
If the new version manual exposure is enabled, then:
 +
 
 +
# The original ''mshutter'' command is no longer in effect, ''new_mshutter'' takes effect.
 +
# gain (agc) from automatic mode also changed to manual mode, ''new_mgain'' takes effect.
 +
 
 +
===== new_mshutter =====
 +
<code>./veye_mipi_i2c.sh -r -f new_mshutter</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f new_mshutter -p1 1000</code>
 +
 
 +
New version of manual exposure time configuration, in us in the range [1,1000000].
 +
 
 +
Since the sensor can not support accurate exposure time of 1us, it is recommended to read it for confirmation after configuration.
 +
 
 +
===== new_mgain =====
 +
<code>./veye_mipi_i2c.sh -r -f new_mgain</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f new_mgain -p1 2.1</code>
 +
 
 +
The new version manual gain, depending on the sensor, accurate to 0.1dB or 0.3dB.
 +
 
 +
===== auto_shutter_max =====
 +
This feature is only supported in versions with ''release time'' later than 2022-12-09.
 +
 
 +
Configure the upper limit of auto exposure when '''mshutter''' is configured to auto.
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f auto_shutter_max</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f auto_shutter_max -p1 1000</code>
 +
 
 +
in us in the range [1,1000000/fps].
 +
 
 +
Since the sensor can not support accurate exposure time of 1us, it is recommended to read it for confirmation after configuration.

Navigation menu