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> |
| | | |
| ===树莓派配置管脚,非树莓派忽略此步=== | | ===树莓派配置管脚,非树莓派忽略此步=== |
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 95: |
Line 105: |
| |- | | |- |
| |0x03 | | |0x03 |
− | |WDR Enable | + | |DOL WDR Enable |
| |} | | |} |
| | | |
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 285: |
Line 324: |
| <code>./veye_mipi_i2c.sh -w -f mshutter -p1 [value]</code> | | <code>./veye_mipi_i2c.sh -w -f mshutter -p1 [value]</code> |
| | | |
− | value值与曝光时间(单位:s)
| + | value值为曝光时间(单位:s) |
| | | |
| value 大于等于0x4B则进入低帧率模式 | | value 大于等于0x4B则进入低帧率模式 |
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 423: |
Line 462: |
| | | |
| Note: This is not low power mode, the camera is still working. | | 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的目标亮度,范围[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 调节速度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> |
| + | |
| + | 单位为us,范围是[1,1000000/fps]. |
| + | |
| + | 由于sensor无法支持精确到1us的曝光时间,建议在配置之后,读取一下进行确认。 |