Line 1:
Line 1:
[[VEYE-MIPI-290/327 i2c/|English]]
[[VEYE-MIPI-290/327 i2c/|English]]
−
'''<big><big><big><big>[[VEYE-MIPI-290/327 i2c/zh|VEYE-MIPI-290/327 I2C.sh用户手册]]</big></big></big></big>'''
+
'''<big><big><big><big>[[VEYE-MIPI-290/327 i2c/zh|VEYE-MIPI-X I2C.sh用户手册]]</big></big></big></big>'''
===介绍===
===介绍===
目录下总共4个文件,camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh。
目录下总共4个文件,camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh。
−
===树莓派配置管脚,非树莓派忽略此步===
+
第一次使用需要确认此目录下文件都具备可执行权限。
+
+
<code>chmod +x *</code>
+
+
===树莓派(Legacy mode only)配置管脚,非树莓派忽略此步===
你需要先运行camera_i2c_config
你需要先运行camera_i2c_config
Line 36:
Line 40:
./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 52:
Line 56:
-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,cameramode, notf, capture, csienable
+
-d [i2c addr] i2c device address
−
+
=== 不同板子上的i2c序号===
−
对于树莓派Pi3B / Pi3B+ / 3A / 4B(1G/2G/4G),使用i2c0, '''对于Compute Module/ CM3,使用i2c1,请添加-b1 选项。'''
+
请参考下面的文章,确定你所需要使用的-b参数。
−
−
====使用详解====
+
[[I2c bus number and video node|i2c bus number on different boards]]
+
===功能列表===
=====devid=====
=====devid=====
<code>./veye_mipi_i2c.sh -r -f devid</code>
<code>./veye_mipi_i2c.sh -r -f devid</code>
Line 65:
Line 69:
|-
|-
|0x06
|0x06
−
|VEYE-MIPI-290/327
+
|VEYE-MIPI-X serises,IMX327,IMX462,IMX385
|}
|}
Line 77:
Line 81:
|Version
|Version
|}
|}
+
同时会打印出isp fireware的发布时间。
+
+
===== sensorid =====
+
<code>./veye_mipi_i2c.sh -r -f sensorid</code>
+
+
Print sensor type and board information.
=====wdrmode=====
=====wdrmode=====
Line 105:
Line 115:
!value
!value
!description
!description
+
!frame rate
|-
|-
|PAL
|PAL
|PAL(50Hz)
|PAL(50Hz)
+
|25fps
|-
|-
|NTSC
|NTSC
|NTSC(60Hz)
|NTSC(60Hz)
+
|30fps
|}
|}
Line 192:
Line 205:
<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>
−
含义为增益上限
+
含义为增益上限,默认为0xC。
{| class="wikitable"
{| class="wikitable"
!value
!value
Line 209:
Line 222:
{| class="wikitable"
{| class="wikitable"
!value
!value
−
!description
+
!最小帧率
|-
|-
|0x01
|0x01
Line 272:
Line 285:
*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 278:
Line 291:
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>
+
+
日夜切换外触发模式引脚的极性设置。
+
{| class="wikitable"
+
!value
+
!description
+
!remark
+
|-
+
|0x0
+
|默认值,参考不同型号datasheet说明。
+
|第0bit有效,其他为无关位
+
|-
+
|0x1
+
|反转。
+
|第0bit有效,其他为无关位
+
|}
=====mshutter=====
=====mshutter=====
−
close AE, use manual shutter
+
自动曝光,手动曝光模式选择和配置。
<code>./veye_mipi_i2c.sh -r -f mshutter</code>
<code>./veye_mipi_i2c.sh -r -f mshutter</code>
Line 376:
Line 415:
Caputre mode: output the next frame each '''capture''' cmd.
Caputre mode: output the next frame each '''capture''' cmd.
−
=====notf=====
+
=====nodf=====
Requirements:hdver >= 0x3, effective in Stream mode
Requirements:hdver >= 0x3, effective in Stream mode
Number of dropped frames
Number of dropped frames
−
It is a method of framerate control, output one frame,discard '''notf''' frames,output next frame, and so on.
+
It is a method of framerate control, output one frame,discard '''nodf''' frames,output next frame, and so on.
−
''actual framerate = original framerate /(1+notf)''
+
''actual framerate = original framerate /(1+nodf)''
−
For example,if the original framerate is 30fps, set '''notf''' to 2, then ''actual framerate'' is 10fps.
+
For example,if the original framerate is 30fps, set '''nodf''' to 2, then ''actual framerate'' is 10fps.
−
<code>./veye_mipi_i2c.sh -r -f notf</code>
+
<code>./veye_mipi_i2c.sh -r -f nodf</code>
−
<code>./veye_mipi_i2c.sh -w -f notf -p1 [value]</code>
+
<code>./veye_mipi_i2c.sh -w -f nodf -p1 [value]</code>
'''ntof''' range is [0-0xFF], default 0.
'''ntof''' range is [0-0xFF], default 0.
Line 431:
Line 470:
AE的目标亮度,范围[0,0x64]
AE的目标亮度,范围[0,0x64]
−
===== aespeed =====
+
=====aespeed=====
<code>./veye_mipi_i2c.sh -r -f aespeed</code>
<code>./veye_mipi_i2c.sh -r -f aespeed</code>
−
<code>./veye_mipi_i2c.sh -w -f aespeed -p1 0x32</code>
+
<code>./veye_mipi_i2c.sh -w -f aespeed -p1 0x32 -p2 0x32</code>
+
+
AE 调节速度p1为agc速度,p2为shutter速度,由慢到快[0,0x64]
+
+
=====contrast=====
+
<code>./veye_mipi_i2c.sh -r -f contrast</code>
+
+
<code>./veye_mipi_i2c.sh -w -f contrast -p1 0x32</code>
+
+
图像对比度,范围[0,0xFF],默认为0x80
+
+
=====saturation=====
+
<code>./veye_mipi_i2c.sh -r -f saturation</code>
+
+
<code>./veye_mipi_i2c.sh -w -f saturation -p1 0x32</code>
+
+
饱和度,范围: [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>
+
+
宽动态模式下的整体亮度目标值。
+
+
WDR模式生效,[0-0xFF]默认值0x80,WDR模式下,值越大,亮度越高。
+
+
=====wdrbtargetbr=====
+
<code>./veye_mipi_i2c.sh -r -f wdrbtargetbr</code>
+
+
<code>./veye_mipi_i2c.sh -w -f wdrbtargetbr -p1 0x80</code>
+
+
宽动态模式下的亮区亮度目标值。
+
+
WDR模式生效,[0-0xFF],默认值为0x30,值越大,亮区越亮。
+
+
此参数的效果与实际场景有关,会存在一个[0-X]的无效区,X与实际场景有关。
+
+
并不是说调整为0,则亮区会变黑。
+
+
===== boardmodel =====
+
<code>./veye_mipi_i2c.sh -r -f boardmodel</code>
+
+
Requirment: hdver >=4.
+
+
读取板子的板号,可以通过此功能区分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不能使用。用于特殊情况下的总线冲突解决。
+
+
===== awbgain =====
+
<code>./veye_mipi_i2c.sh -r -f awbgain</code>
+
+
读取当前白平衡的Rgain和Bgain,参数范围[0,0xFF]。
+
+
===== wbmode =====
+
<code>./veye_mipi_i2c.sh -r -f wbmode</code>
+
+
<code>./veye_mipi_i2c.sh -w -f wbmode -p1 [value]</code>
+
+
读取当前wb模式
+
{| 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和bgain读写。rgain和bgain的范围[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>
+
+
配置摄像头的yuv顺序。
+
+
Note: only supported on hdver >= 0x4.
+
+
=== 新功能 ===
+
下面的新功能,只有摄像机固件版本的release time晚于2022-11-22的版本才支持。
+
+
===== paramsave =====
+
<code>./veye_mipi_i2c.sh -w -f paramsave</code>
+
+
保存isp相关参数到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>
+
+
新版本手动曝光是否使能。
+
+
如果使能新版本手动曝光,则:
+
+
# 原来的mshutter命令不再生效,new_mshutter生效。
+
# 增益(agc)由自动模式也改为手动模式,new_mgain生效。
+
+
===== new_mshutter =====
+
<code>./veye_mipi_i2c.sh -r -f new_mshutter</code>
+
+
<code>./veye_mipi_i2c.sh -w -f new_mshutter -p1 1000</code>
+
+
新版本手动曝光时间配置,单位为us,范围是[1,1000000].
+
+
由于sensor无法支持精确到1us的曝光时间,建议在配置之后,读取一下进行确认。
+
+
===== 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>
+
+
新版本手动增益,根据sensor不同,精确到0.1dB或者0.3dB。
+
+
===== auto_shutter_max =====
+
此功能只有release time晚于2022-12-09的版本才支持。
+
+
在'''mshutter'''配置为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>
−
AE 调节速度,由慢到快[0,0x64]
+
单位为us,范围是[1,1000000/fps].
−
<br />
+
由于sensor无法支持精确到1us的曝光时间,建议在配置之后,读取一下进行确认。