Difference between revisions of "VEYE-MIPI-290/327 i2c/zh"
Line 54: | Line 54: | ||
support functions: devid,hdver,wdrmode,videoformat,mirrormode,denoise,agc,lowlight,daynightmode,ircutdir,irtriggerhutter | support functions: devid,hdver,wdrmode,videoformat,mirrormode,denoise,agc,lowlight,daynightmode,ircutdir,irtriggerhutter | ||
− | cameramode, nodf, capture, csienable,saturation,wdrbtargetbr,wdrtargetbr, brightness ,contrast , sharppen, aespeed,lsc,boardmodel,yuvseq,i2cauxenable, | + | cameramode, nodf, capture, csienable,saturation,wdrbtargetbr,wdrtargetbr, brightness ,contrast , sharppen, aespeed,lsc,boardmodel,yuvseq,i2cauxenable,i2cwen |
对于树莓派Pi3B / Pi3B+ / 3A / 4B(1G/2G/4G),使用i2c0或10, '''对于Compute Module/ CM3,使用i2c1,请添加-b1 选项。''' | 对于树莓派Pi3B / Pi3B+ / 3A / 4B(1G/2G/4G),使用i2c0或10, '''对于Compute Module/ CM3,使用i2c1,请添加-b1 选项。''' | ||
Line 499: | Line 499: | ||
===== boardmodel ===== | ===== boardmodel ===== | ||
<code>./veye_mipi_i2c.sh -r -f boardmodel</code> | <code>./veye_mipi_i2c.sh -r -f boardmodel</code> | ||
+ | |||
+ | Requirment: hdver >=4. | ||
读取板子的板号,可以通过此功能区分VEYE-MIPI-327和VEYE-MIPI-IMX327S。 | 读取板子的板号,可以通过此功能区分VEYE-MIPI-327和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. | ||
+ | |||
+ | 是否使能摄像头的i2c写寄存器功能,默认为使能。用于特殊情况下的寄存器写保护。 | ||
+ | |||
+ | ===== 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. | ||
+ | |||
+ | 是否使能辅助i2c,如使能辅助i2c,在FFC排线上的主i2c不能使用。用于特殊情况下的总线冲突解决。 | ||
<br /> | <br /> |
Revision as of 11:56, 24 March 2021
1 介绍
目录下总共4个文件,camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh。
2 树莓派配置管脚,非树莓派忽略此步
你需要先运行camera_i2c_config
./enable_i2c_vc.sh
./camera_i2c_config
配置管脚,然后执行veye_mipi_i2c.sh
2.1 camera_i2c_config USAGE
连接树莓派Computer Module情况下,运行
./camera_i2c_config [cameranum]
cameranum | description |
---|---|
0 | CAM0 |
1 | CAM1 |
连接树莓派经典版型情况下,直接运行
./camera_i2c_config
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,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),使用i2c0或10, 对于Compute Module/ CM3,使用i2c1,请添加-b1 选项。
3.1 使用详解
3.1.1 devid
./veye_mipi_i2c.sh -r -f devid
value | description |
---|---|
0x06 | VEYE-MIPI-290/327 |
3.1.2 hdver
./veye_mipi_i2c.sh -r -f hdver
value | description |
---|---|
0xXX | Version |
3.1.3 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.1.4 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.1.5 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.1.6 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.1.7 agc
./veye_mipi_i2c.sh -r -f agc
./veye_mipi_i2c.sh -w -f agc -p1 [value]
含义为增益上限
value | description |
---|---|
0x00~0x0F | AGC intensity |
3.1.8 lowlight
./veye_mipi_i2c.sh -r -f lowlight
./veye_mipi_i2c.sh -w -f lowlight -p1 [value]
低照度情况下的降帧(慢快门)设置。在低照度情况下,摄像机模组可以通过配置此参数,延长曝光时间,降低帧率,达到更好的低照度效果。
注意,在运动场景下不适合使用。
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.1.9 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.
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.1.10 mshutter
close AE, use manual shutter
./veye_mipi_i2c.sh -r -f mshutter
./veye_mipi_i2c.sh -w -f mshutter -p1 [value]
value值为曝光时间(单位:s)
value 大于等于0x4B则进入低帧率模式
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.1.11 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.1.12 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.1.13 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.1.14 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.1.15 brightness
./veye_mipi_i2c.sh -r -f brightness
./veye_mipi_i2c.sh -w -f brightness -p1 0x32
AE的目标亮度,范围[0,0x64]
3.1.16 aespeed
./veye_mipi_i2c.sh -r -f aespeed
./veye_mipi_i2c.sh -w -f aespeed -p1 0x32 -p2 0x32
AE 调节速度p1为agc速度,p2为shutter速度,由慢到快[0,0x64]
3.1.17 contrast
./veye_mipi_i2c.sh -r -f contrast
./veye_mipi_i2c.sh -w -f contrast -p1 0x32
图像对比度,范围[0,0xFF],默认为0x80
3.1.18 saturation
./veye_mipi_i2c.sh -r -f saturation
./veye_mipi_i2c.sh -w -f saturation -p1 0x32
饱和度,范围: [0,0x64]
3.1.19 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.1.20 wdrtargetbr
./veye_mipi_i2c.sh -r -f wdrtargetbr
./veye_mipi_i2c.sh -w -f wdrtargetbr -p1 0x80
宽动态模式下的整体亮度目标值。
WDR模式生效,[0-0xFF]默认值0x80,WDR模式下,值越大,亮度越高。
3.1.21 wdrbtargetbr
./veye_mipi_i2c.sh -r -f wdrbtargetbr
./veye_mipi_i2c.sh -w -f wdrbtargetbr -p1 0x80
宽动态模式下的亮区亮度目标值。
WDR模式生效,[0-0xFF],默认值为0x30,值越大,亮区越亮。
此参数的效果与实际场景有关,会存在一个[0-X]的无效区,X与实际场景有关。
并不是说调整为0,则亮区会变黑。
3.1.22 boardmodel
./veye_mipi_i2c.sh -r -f boardmodel
Requirment: hdver >=4.
读取板子的板号,可以通过此功能区分VEYE-MIPI-327和VEYE-MIPI-IMX327S。
3.1.23 i2cwen
./veye_mipi_i2c.sh -r -f i2cwen
./veye_mipi_i2c.sh -w -f i2cwen -p1 [0/1]
Requirment: hdver >=4.
是否使能摄像头的i2c写寄存器功能,默认为使能。用于特殊情况下的寄存器写保护。
3.1.24 i2cauxenable
./veye_mipi_i2c.sh -r -f i2cauxenable
./veye_mipi_i2c.sh -w -f i2cauxenable -p1 [0/1]
Requirment: hdver >=4.
是否使能辅助i2c,如使能辅助i2c,在FFC排线上的主i2c不能使用。用于特殊情况下的总线冲突解决。