Difference between revisions of "VEYE-MIPI-290/327 i2c/"

From wiki_veye
Jump to navigation Jump to search
Line 213: Line 213:
 
  ./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.
 
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.
 
Note that it is not suitable for use in a sports scene.

Revision as of 14:19, 24 September 2021

查看中文

VEYE-MIPI-X I2C.sh user guide

1 Overview

There are 4 files: camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh

2 RaspberryPi Only, Set IO config

Running

./enable_i2c_vc.sh

./camera_i2c_config

first,it will config IO pin.

Then you can run veye_mipi_i2c.sh.

2.1 camera_i2c_config USAGE

  • for standard RPI, just run

./camera_i2c_config

  • for RPI Computer Module

./camera_i2c_config [cameranum]

cameranum description
0 CAM0
1 CAM1


3 veye_mipi_i2c.sh USAGE

./veye_mipi_i2c.sh

Usage: ./veye_mipi_i2c.sh [-r/w] [-f] function name -p1 param1 -p2 param2 -b bus

options:

-r read

-w write

-f [function name] function name

-p1 [param1] param1 of each function

-p2 [param1] param2 of each function

-b [i2c bus num] i2c bus number

support functions: devid,hdver,sensorid,wdrmode,videoformat,mirrormode,denoise,agc,lowlight,daynightmode,ircutdir,irtriggerhutter

cameramode, nodf, capture, csienable,saturation,wdrbtargetbr,wdrtargetbr, brightness ,contrast , sharppen, aespeed,lsc,boardmodel,yuvseq,i2cauxenable,i2cwen

Pi3B / Pi3B+ / 3A / 4B(1G/2G/4G),we use i2c0

Compute Module/ CM3,we use i2c1,please add -b 1 option.

3.1 devid
./veye_mipi_i2c.sh -r -f devid
value description
0x06 VEYE-MIPI-X series,IMX327 IMX462 IMX385
3.2 hdver
./veye_mipi_i2c.sh -r -f hdver
value description
0xXX Version
3.3 sensorid

./veye_mipi_i2c.sh -r -f sensorid

Print sensor type and board information.

3.4 wdrmode
./veye_mipi_i2c.sh -r -f wdrmode
./veye_mipi_i2c.sh -w -f wdrmode -p1 [value]
value description
0x00 Back Light Mode OFF
0x01 Back Light Mode ON, LOW
0x02 Back Light Mode ON, HIGH
0x03 DOL WDR Enable
3.5 videoformat
./veye_mipi_i2c.sh -r -f videoformat
./veye_mipi_i2c.sh -w -f videoformat -p1 [value]

WARNING:THIS FUNCTION MUST BE CALLED BEFORE ANY video applications

value description frame rate
PAL PAL(50Hz) 25fps
NTSC NTSC(60Hz) 30fps
3.6 mirrormode
./veye_mipi_i2c.sh -r -f mirrormode
./veye_mipi_i2c.sh -w -f mirrormode -p1 [value]
value description
0x00 Normal
0x01 Mirror
0x02 V-Flip
0x03 Mirror And V-Flip(180 Degree Rotate)
3.7 denoise
./veye_mipi_i2c.sh -r -f denoise
./veye_mipi_i2c.sh -w -f denoise -p1 [value]
value description
0x00 NR 2D Mode = OFF; NR 3D Mode = OFF
0x01 NR 2D Mode = OFF; NR 3D Mode = LOW
0x02 NR 2D Mode = OFF; NR 3D Mode = MIDDLE
0x03 NR 2D Mode = OFF; NR 3D Mode = HIGH
0x04 NR 2D Mode = LOW; NR 3D Mode = OFF
0x05 NR 2D Mode = LOW; NR 3D Mode = LOW
0x06 NR 2D Mode = LOW; NR 3D Mode = MIDDLE
0x07 NR 2D Mode = LOW; NR 3D Mode = HIGH
0x08 NR 2D Mode =MIDDLE; NR 3D Mode = OFF
0x09 NR 2D Mode =MIDDLE; NR 3D Mode = LOW
0x0A NR 2D Mode = MIDDLE; NR 3D Mode = MIDDLE
0x0B NR 2D Mode = MIDDLE; NR 3D Mode = HIGH
0x0C NR 2D Mode =HIGH; NR 3D Mode = OFF
0x0D NR 2D Mode =HIGH; NR 3D Mode = LOW
0x0E NR 2D Mode = HIGH; NR 3D Mode = MIDDLE
0x0F NR 2D Mode = HIGH; NR 3D Mode = HIGH
3.8 agc
./veye_mipi_i2c.sh -r -f agc
./veye_mipi_i2c.sh -w -f agc -p1 [value]

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.

value description
0x00~0x0F AGC intensity
3.9 lowlight
./veye_mipi_i2c.sh -r -f lowlight
./veye_mipi_i2c.sh -w -f lowlight -p1 [value]

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.

value description
0x01 1/2*(FRAME RATE)
0x03 1/4*(FRAME RATE)
0x05 1/6*(FRAME RATE)
0x07 1/8*(FRAME RATE)
0x09 1/10*(FRAME RATE)
0x0B 1/15*(FRAME RATE)
0x0D 1/20*(FRAME RATE)
0x0F 1/25*(FRAME RATE)
0x11 1/30*(FRAME RATE)
0x00 Fixed frame rate (25/30)
3.10 daynightmode
./veye_mipi_i2c.sh -r -f daynightmode
./veye_mipi_i2c.sh -w -f daynightmode -p1 [value]
value description
0xFF Color Mode
0xFE Black&White Mode
0xFC Trigger Mode

IR-CUT (Infrared cut-off filter) is a mechanical shutter design. It is placed between the lens and the image sensor, and is controlled by a motor or an electromagnet.

IR-CUT has two status: Block or Deliver the infrared.

  • Color Mode

Image is Color Mode and IR_CUT status Block infrared.

  • Black&White Mode

Image is Black&White Mode and IR_CUT status Deliver infrared.

  • Trigger Mode

Trigger pin : J3 pin1 of VEYE-MIPI-327 or 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 Low(GND),Image is Color Mode and IR-CUT status Bolck infrared.

3.11 ircutdir

./veye_mipi_i2c.sh -r -f ircutdir

./veye_mipi_i2c.sh -w -f ircutdir -p1 [value]

IR_CUT pins control direction. value could be 0 or 1.

3.12 irtrigger

./veye_mipi_i2c.sh -r -f irtrigger

./veye_mipi_i2c.sh -w -f irtrigger -p1 [value]

Polarity setting of the day/night switching external trigger mode pin.

value description
0x0 default value,refer to datasheet of different boards.
0x1 Reversed.
3.13 mshutter

close AE, use manual shutter

./veye_mipi_i2c.sh -r -f mshutter

./veye_mipi_i2c.sh -w -f mshutter -p1 [value]

value is exposure time(seconds)

If value is greater than or equal to 0x4B, it will reduce framerate.

value description
NTSC(PAL)
0x40 auto mode
0x41 1/30 (25)
0x42 1/60(50)
0x43 1/120(100)
0x44 1/240(200)
0x45 1/480(400)
0x46 1/1000
0x47 1/2000
0x48 1/5000
0x49 1/10000
0x4A 1/50000
0x4B 1/30 (25) *2
0x4C 1/30 (25) *4
0x4D 1/30 (25) *6
0x4E 1/30 (25) *8
0x4F 1/30 (25) *10
0x50 1/30 (25) *15
0x51 1/30 (25) *20
0x52 1/30 (25) *25
0x53 1/30 (25) *30
3.14 cameramode

Requirements:hdver >= 0x3

./veye_mipi_i2c.sh -r -f cameramode

./veye_mipi_i2c.sh -w -f cameramode -p1 [value]

value description
0x0 Stream mode
0x1 Capture mode

Stream mode: stream output

Caputre mode: output the next frame each capture cmd.

3.15 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.

./veye_mipi_i2c.sh -r -f nodf

./veye_mipi_i2c.sh -w -f nodf -p1 [value]

ntof range is [0-0xFF], default 0.

3.16 capture

Requirements:hdver >= 0x3, effective in Capture mode

./veye_mipi_i2c.sh -w -f capture

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.

3.17 csienable

Requirements:hdver >= 0x3

./veye_mipi_i2c.sh -r -f csienable

./veye_mipi_i2c.sh -w -f csienable -p1 [value]

value description
0x0 suspend csi output
0x1 enable csi output

default: 0x1

Note: This is not low power mode, the camera is still working.

3.18 brightness

./veye_mipi_i2c.sh -r -f brightness

./veye_mipi_i2c.sh -w -f brightness -p1 0x32

AE Target Brightness,rang: [0,0x64]

3.19 aespeed

./veye_mipi_i2c.sh -r -f aespeed

./veye_mipi_i2c.sh -w -f aespeed -p1 0x32 -p2 0x32

AE adjust speed,p1 is agc speed, p2 is shutter speed,Slow to Fast: [0,0x64]

3.20 contrast

./veye_mipi_i2c.sh -r -f contrast

./veye_mipi_i2c.sh -w -f contrast -p1 0x32

Contrast,range: [0,0xFF],default: 0x80.

3.21 saturation

./veye_mipi_i2c.sh -r -f saturation

./veye_mipi_i2c.sh -w -f saturation -p1 0x32

Saturation, range: [0,0x64].

3.22 sharppen

./veye_mipi_i2c.sh -r -f sharppen

./veye_mipi_i2c.sh -w -f sharppen -p1 [val1] -p2 [value]

param1 value description
0x0 sharppen disable
0x1 sharppen enable

default: 0x1

param2: sharppen strength, range [0x0-0xA]

3.23 wdrtargetbr

./veye_mipi_i2c.sh -r -f wdrtargetbr

./veye_mipi_i2c.sh -w -f wdrtargetbr -p1 0x80

The overall AE target value in WDR mode.

Takes effect in WDR mode. range: [0-0xFF], default : 0x80.

3.24 wdrbtargetbr

./veye_mipi_i2c.sh -r -f wdrbtargetbr

./veye_mipi_i2c.sh -w -f wdrbtargetbr -p1 0x80

The AE target value of the bright area in WDR mode.

Takes effect in WDR mode. range: [0-0xFF], default : 0x80.

3.25 boardmodel

./veye_mipi_i2c.sh -r -f boardmodel

Requirment: hdver >=4.

Read the board number of the board, which can be used to distinguish between VEYE-MIPI-327 and VEYE-MIPI-IMX327S.

3.26 i2cwen

./veye_mipi_i2c.sh -r -f i2cwen

./veye_mipi_i2c.sh -w -f i2cwen -p1 [0/1]

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.

3.27 i2cauxenable

./veye_mipi_i2c.sh -r -f i2cauxenable

./veye_mipi_i2c.sh -w -f i2cauxenable -p1 [0/1]

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.

3.28 awbgain

./veye_mipi_i2c.sh -r -f awbgain

Read the Rgain and Bgain of the current white balance status , parameter range [0,0xFF].

3.29 wbmode

./veye_mipi_i2c.sh -r -f wbmode

./veye_mipi_i2c.sh -w -f wbmode -p1 [value]

White balance mode setting.

value description
0x18 Auto white balance
0x1B Manual white balance
3.30 mwbgain

./veye_mipi_i2c.sh -r -f mwbgain

./veye_mipi_i2c.sh -w -f mwbgain -p1 [rgain] -p2 [bgain]

Rgain and Bgain setting in manual white balance mode.arameter range [0,0xFF].

3.31 yuvseq

./veye_mipi_i2c.sh -w -f yuvseq -p1 YUYV

./veye_mipi_i2c.sh -w -f yuvseq -p1 UYVY

./veye_mipi_i2c.sh -r -f yuvseq

Set yuv seq of camera.

Note: only supported on hdver >= 0x4