Difference between revisions of "MV Series MIPI Camera Register Map/zh"
(→基础功能) |
(→图像参数) |
||
(42 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[MV Series MIPI Camera Register Map|English]] | [[MV Series MIPI Camera Register Map|English]] | ||
− | '''<big> | + | '''<big>MV系列和RAW系列MIPI摄像机模组寄存器列表</big>''' |
=== 概述 === | === 概述 === | ||
==== 寄存器特征 ==== | ==== 寄存器特征 ==== | ||
− | + | 寄存器地址的长度为2字节,值的长度为4字节。 | |
寄存器读写属性分为RW,RO,WO三种。只有RW属性的可以保存到摄像机flash中。 | 寄存器读写属性分为RW,RO,WO三种。只有RW属性的可以保存到摄像机flash中。 | ||
寄存器值包括几种类型:'''int''','''bool''','''enum''','''ascii'''。 | 寄存器值包括几种类型:'''int''','''bool''','''enum''','''ascii'''。 | ||
− | |||
− | |||
==== i2c通信协议 ==== | ==== i2c通信协议 ==== | ||
Line 21: | Line 19: | ||
为了方便客户使用,我们提供了linux下开源的shell脚本,帮助进行每个寄存器的读写。 | 为了方便客户使用,我们提供了linux下开源的shell脚本,帮助进行每个寄存器的读写。 | ||
+ | 下表中script function一列表示此寄存器对应的shell脚本的功能函数。 | ||
+ | |||
+ | ==== Update timing ==== | ||
+ | 摄像机有两种状态,standby和running。上电后进入standby状态,开始图像采集后进入running状态。 | ||
+ | |||
+ | 下表中,Update timing的类型有:<br />'''A''':任何时刻都可以读写。 | ||
+ | |||
+ | '''S:''' running状态下可读不可写。 | ||
+ | |||
+ | '''-''':任何时刻都只读。 | ||
+ | |||
+ | ==== Raw series Support ==== | ||
+ | RAW系列摄像机的功能是MV系列摄像机的子集。 | ||
+ | |||
+ | 它包含一个MCU,用于sensor模式的配置和外触发的延迟。 | ||
+ | |||
+ | 特别的,它支持Sensor Direct Access模式。在此模式下,MCU放弃对sensor的控制和操作,开放sensor的i2c给客户直接控制。MCU只保留极少必要的寄存器功能。 | ||
+ | |||
+ | '''N''':不支持。 | ||
+ | |||
+ | '''S''':普通模式下支持。 | ||
+ | |||
+ | '''SDA''':Sensor Direct Access模式下支持。 | ||
=== 基础功能 === | === 基础功能 === | ||
{| class="wikitable" | {| class="wikitable" | ||
− | |||
!Address | !Address | ||
!Name | !Name | ||
!Description | !Description | ||
− | !Data Type | + | ! Data Type |
!R/W | !R/W | ||
!Update timing | !Update timing | ||
+ | !script function | ||
+ | !Raw series Support | ||
|- | |- | ||
+ | |0x0000 | ||
+ | |Manufacturer Name | ||
+ | |String containing the self-describing name of the manufacturer. “VEYE” | ||
+ | |ascii | ||
+ | |RO | ||
+ | |<nowiki>-</nowiki> | ||
+ | |manufacturer | ||
+ | |S,SDA | ||
+ | |- | ||
+ | | 0x0004 | ||
+ | | Model Name | ||
+ | |Product Model Code. | ||
+ | 0x178 : MV-MIPI-IMX178M | ||
+ | |||
+ | 0x130 : MV-MIPI-SC130M | ||
+ | |||
+ | 0x265 : MV-MIPI-IMX265M | ||
+ | |||
+ | 0x264 : MV-MIPI-IMX264M | ||
+ | |||
+ | 0x296 : MV-MIPI-IMX296M | ||
+ | |||
+ | 0x287 : MV-MIPI-IMX287M | ||
+ | |||
+ | 0x4002 : MV-MIPI-GMAX4002M | ||
+ | |||
+ | 0x8132 : RAW-MIPI-SC132M | ||
+ | |||
+ | 0x8234 : RAW-MIPI-AR0234M | ||
+ | |||
+ | 0x8462 : RAW-MIPI-IMX462M | ||
+ | |||
+ | 0x8535 : RAW-MIPI-SC535M | ||
+ | |enum | ||
+ | |RO | ||
+ | |<nowiki>-</nowiki> | ||
+ | |model | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x0008 | ||
+ | | Sensor Name | ||
+ | |Sensor Model: | ||
+ | 0x178 : IMX178LLJ | ||
+ | |||
+ | 0x130 : SC130GS | ||
+ | |||
+ | 0x265 : IMX265LLJ | ||
+ | |||
+ | 0x264 : IMX264LLJ | ||
+ | |||
+ | 0x296 : IMX296LLJ | ||
+ | |||
+ | 0x287 : IMX287LLJ | ||
+ | |||
+ | 0x132 : SC132GS | ||
+ | |||
+ | 0x234 : AR0234CS | ||
+ | |||
+ | 0x462 : IMX462LLR | ||
+ | |||
+ | 0x535 : SC535HGS | ||
+ | |||
+ | 0x4002 : GMAX4002 | ||
+ | |enum | ||
+ | |RO | ||
+ | |<nowiki>-</nowiki> | ||
| | | | ||
− | | | + | |S,SDA |
− | | | + | |- |
− | | | + | |0x000C |
− | | | + | |Serial Number |
− | | | + | |Unique product serial number |
+ | |uint | ||
+ | |RO | ||
+ | |<nowiki>-</nowiki> | ||
+ | |serialno | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x0010 | ||
+ | |Device Version | ||
+ | |Firmware version number. The high 16 bits are the Control version and the low 16 bits are the Logic version. | ||
+ | For example, 0x01020304 means Control version is 1.2 and Logic version is 3.4. | ||
+ | |uint | ||
+ | |RO | ||
+ | |<nowiki>-</nowiki> | ||
+ | |version | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x0014 | ||
+ | |Factory Param | ||
+ | |All parameters restored to factory default values. | ||
+ | |bool | ||
+ | |WO | ||
+ | |A | ||
+ | |factoryparam | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x0018 | ||
+ | |Param save to flash | ||
+ | |Save all parameters to flash, and they will not be lost when power off. | ||
+ | |bool | ||
+ | |WO | ||
+ | |A | ||
+ | |paramsave | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x001C | ||
+ | |System reboot | ||
+ | |Reboot the camera. | ||
+ | |bool | ||
+ | |WO | ||
+ | |A | ||
+ | |reboot | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x0020 | ||
+ | |Time stamp | ||
+ | |Time after system startup in Milliseconds. | ||
+ | |uint | ||
+ | |RO | ||
+ | |<nowiki>-</nowiki> | ||
+ | |timestamp | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x0024 | ||
+ | |Error Code | ||
+ | |System error code, each bit represents an error type. | ||
+ | bit0: sensor error. | ||
+ | |||
+ | bit1: Logic module startup error. | ||
+ | |||
+ | bit2: Logic module communication error. | ||
+ | |||
+ | bit5: AA(AE&AG) regulation cannot reach the target brightness. | ||
+ | |||
+ | bit6: Authorization failure. | ||
+ | |uint | ||
+ | |RO | ||
+ | |<nowiki>-</nowiki> | ||
+ | |errcode | ||
+ | |S,SDA | ||
|- | |- | ||
− | | | + | |0x0028 |
− | | | + | |Format Cap |
− | | | + | |Capbility of data formats supported by the camera. |
− | | | + | bit0: Mono8 |
− | | | + | |
− | | | + | bit1: Mono10 |
+ | |||
+ | bit2: Mono12 | ||
+ | |||
+ | bit3: Mono14 | ||
+ | |||
+ | bit4: UYVY | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |fmtcap | ||
+ | |S | ||
|- | |- | ||
− | | | + | |0x0030 |
− | | | + | |TriggerMode Cap |
− | | | + | |Capbility of trigger mode supported by the camera. |
− | | | + | bit0:Video streaming mode |
− | | | + | |
− | | | + | bit1:Normal trigger mode. |
+ | |||
+ | bit2:Rolling shutter multi-frame trigger mode | ||
+ | |||
+ | bit3: Pulse trigger mode. | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |trgmodecap | ||
+ | |S | ||
|} | |} | ||
− | + | === 图像采集 === | |
+ | {| class="wikitable" | ||
+ | !Address | ||
+ | !Name | ||
+ | !Description | ||
+ | !Data Type | ||
+ | !R/W | ||
+ | !Update timing | ||
+ | !script function | ||
+ | !Raw series Support | ||
+ | |- | ||
+ | |0x0400 | ||
+ | |Image Acquisition | ||
+ | |Start/Stop acquisition | ||
+ | There is no image output after the camera is powered on, which means it is in the standby state. | ||
− | + | After writing 1 to this register, it enters the running state and starts outputting images or waiting for the trigger signal. | |
− | + | |bool | |
+ | |WO | ||
+ | |A | ||
+ | |imgacq | ||
+ | |S | ||
+ | |- | ||
+ | |0x0404 | ||
+ | |Trigger Mode | ||
+ | |0:Video streaming mode | ||
+ | 1:Normal trigger mode. | ||
+ | |||
+ | 2:Rolling shutter multi-frame trigger mode. | ||
+ | |||
+ | 3: Pulse trigger mode. | ||
+ | |||
+ | See product manual for details. | ||
+ | |enum | ||
+ | |RW | ||
+ | |S | ||
+ | |trgmode | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x0408 | ||
+ | |Trigger Source | ||
+ | |0: Software trigger mode. | ||
+ | 1: Hardware trigger mode. | ||
+ | |||
+ | Effective in Trigger mode 1 and 2 only. | ||
+ | |enum | ||
+ | |RW | ||
+ | |S | ||
+ | |trgsrc | ||
+ | |S | ||
+ | |- | ||
+ | |0x040C | ||
+ | |Trigger Number | ||
+ | |The number of image frames output by one trigger signal in trigger mode. Range:[1.255] | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |trgnum | ||
+ | |N | ||
+ | |- | ||
+ | |0x0410 | ||
+ | |Trigger Interval | ||
+ | |Trigger interval in normal trigger mode, in microseconds. Range:[0.0xFFFFFF] | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |trginterval | ||
+ | |N | ||
+ | |- | ||
+ | |0x0414 | ||
+ | |Trigger Software | ||
+ | |Software trigger command, write 1 for one trigger. | ||
+ | |bool | ||
+ | |WO | ||
+ | |A | ||
+ | |trgone | ||
+ | |S | ||
+ | |- | ||
+ | |0x0418 | ||
+ | |Trigger Count | ||
+ | |Trigger count statistics. | ||
+ | The high 16 bits indicate the number of trigger loss, and the low 16 bits indicate the total number of triggers. | ||
+ | Write 1 to clear the count. | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |trgcount | ||
+ | |S | ||
+ | |- | ||
+ | |0x041C | ||
+ | |I2C ADDR | ||
+ | |I2c address. Range[0x03,0x77]. | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |i2caddr | ||
+ | |S | ||
+ | |- | ||
+ | |0x0424 | ||
+ | |MCU bypass mode | ||
+ | |For RAW series ONLY! Once enabled, the mcu no longer controls the sensor and the user controls the sensor directly. | ||
+ | Automatic restart after change. | ||
+ | |bool | ||
+ | |RW | ||
+ | |A | ||
+ | |mcubypass | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x044C | ||
+ | |Non discontinuous mode | ||
+ | |Indicates whether the clock lan of the mipi signal is in continuous clock mode. 0 : discontinuous mode,1: continuous mode | ||
+ | |bool | ||
+ | |RO | ||
+ | |A | ||
+ | |clkmode | ||
+ | |N | ||
+ | |- | ||
+ | |0x0450 | ||
+ | |Sensor Register Addr | ||
+ | |Indirectly read the sensor register function. Write the address of the sensor register to be read to this register. | ||
+ | |uint | ||
+ | |WO | ||
+ | |A | ||
+ | |snsreg | ||
+ | |S | ||
+ | |- | ||
+ | |0x0454 | ||
+ | |Sensor Register Value | ||
+ | |Read the sensor register value. | ||
+ | |uint | ||
+ | |RO | ||
+ | |A | ||
+ | |snsreg | ||
+ | |S | ||
+ | |- | ||
+ | |0x0460 | ||
+ | |Slave mode | ||
+ | |Whether the sensor is operating in slave mode. Currently, only RAW-MIPI-IMX462M is supported. | ||
+ | |bool | ||
+ | |RW | ||
+ | |S | ||
+ | |slavemode | ||
+ | |S | ||
+ | |- | ||
+ | |0x0464 | ||
+ | |Sensor Frame Count | ||
+ | |The number of frames output by the sensor. Cyclic counting. | ||
+ | |uint | ||
+ | |RO | ||
+ | |A | ||
+ | |framecount | ||
+ | |N | ||
+ | |- | ||
+ | |0x0468 | ||
+ | |Out Frame Count | ||
+ | |The number of frames output by the camera module. Cyclic counting. | ||
+ | |uint | ||
+ | |RO | ||
+ | |A | ||
+ | |framecount | ||
+ | |N | ||
+ | |} | ||
=== 图像参数 === | === 图像参数 === | ||
− | + | {| class="wikitable" | |
+ | !Address | ||
+ | !Name | ||
+ | !Description | ||
+ | !Data Type | ||
+ | !R/W | ||
+ | !Update timing | ||
+ | !script function | ||
+ | !Raw series Support | ||
+ | |- | ||
+ | |0x0800 | ||
+ | |Test Image Selector | ||
+ | |Switch between normal image or test image | ||
+ | 0 : normal image | ||
+ | |||
+ | 1 : Test image 1 | ||
+ | |||
+ | 2 : Test image 2 | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |testimg | ||
+ | |S | ||
+ | |- | ||
+ | |0x0804 | ||
+ | |Pixel Format | ||
+ | |0 : Mono8 | ||
+ | 1 : Mono10 | ||
+ | |||
+ | 2 : Mono12 | ||
+ | |||
+ | 3 : Mono14(reserved) | ||
+ | |||
+ | 4 : UYVY | ||
+ | |enum | ||
+ | |RW | ||
+ | |S | ||
+ | |pixelformat | ||
+ | |S | ||
+ | |- | ||
+ | |0x0808 | ||
+ | |Sensor Width | ||
+ | |The maximum width supported by the sensor | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |maxwh | ||
+ | |S | ||
+ | |- | ||
+ | |0x080C | ||
+ | |Sensor Height | ||
+ | |The maximum height supported by sensor | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |maxwh | ||
+ | |S | ||
+ | |- | ||
+ | |0x0810 | ||
+ | |MaxFrame Rate | ||
+ | |The maximum frame rate supported in the current mode. | ||
+ | The register value is 100 times the frame rate. | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |maxfps | ||
+ | |S | ||
+ | |- | ||
+ | |0x0814 | ||
+ | |Framerate | ||
+ | |The current framerate. | ||
+ | The register value is 100 times the frame rate. | ||
+ | |||
+ | In normal trigger mode, it is recommended to set the '''fps''' to the '''maxfps''' value to ensure the highest trigger signal responsiveness. | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |fps | ||
+ | |S | ||
+ | |- | ||
+ | |0x0818 | ||
+ | |ROI Width | ||
+ | |ROI Width | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |roi | ||
+ | |S | ||
+ | |- | ||
+ | |0x081C | ||
+ | |ROI Height | ||
+ | |ROI Height | ||
+ | Of the four roi registers, please write this last. | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |roi | ||
+ | |S | ||
+ | |- | ||
+ | |0x0820 | ||
+ | |ROI Offset X | ||
+ | |ROI Offset X | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |roi | ||
+ | |S | ||
+ | |- | ||
+ | |0x0824 | ||
+ | |ROI Offset Y | ||
+ | |ROI Offset Y | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |roi | ||
+ | |S | ||
+ | |- | ||
+ | |0x0828 | ||
+ | |Image Direction | ||
+ | |0 : normal | ||
+ | 1 : mirror | ||
+ | |||
+ | 2 : flip | ||
+ | |||
+ | 3 : flip&mirror | ||
+ | |enum | ||
+ | |RW | ||
+ | |A | ||
+ | |imgdir | ||
+ | |S | ||
+ | |- | ||
+ | |0x0830 | ||
+ | |Black Level | ||
+ | |Black level | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |blacklevel | ||
+ | |S | ||
+ | |- | ||
+ | |0x0834 | ||
+ | |BLC mode | ||
+ | |Black level calibration modes: | ||
+ | 0: Sensor automatic calibration or use default black level. | ||
+ | 1: Manually specify black level. | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |blcmode | ||
+ | |S | ||
+ | |- | ||
+ | |0x083C | ||
+ | |Lane Num | ||
+ | |For modules that support lane number configuration, use this register to modify the lane number. | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |lanenum | ||
+ | |S | ||
+ | |- | ||
+ | |0x0840 | ||
+ | |MIPI Datarate | ||
+ | |The MIPI datarate for each lane, measured in Kbps. | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |mipidatarate | ||
+ | |S | ||
+ | |} | ||
=== 图像处理(ISP) === | === 图像处理(ISP) === | ||
− | < | + | {| class="wikitable" |
+ | !Address | ||
+ | !Name | ||
+ | !Description | ||
+ | !Data Type | ||
+ | !R/W | ||
+ | !Update timing | ||
+ | !script function | ||
+ | !Raw series Support | ||
+ | |- | ||
+ | |0x0C00 | ||
+ | |ISP module ctrl | ||
+ | |The ISP module controls, each bit represents an isp function. | ||
+ | bit0: Exposure Statistics | ||
+ | |||
+ | bit1: reserved | ||
+ | |||
+ | bit2: WB Statistics | ||
+ | |||
+ | bit3: Focus Statistics | ||
+ | |||
+ | bit4: DPC | ||
+ | |||
+ | bit5: gamma | ||
+ | |||
+ | bit6: denoise | ||
+ | |||
+ | bit7: sharpen | ||
+ | |||
+ | bit8: LUT | ||
+ | |||
+ | others: reserved | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |gammaenable, | ||
+ | dpcenable, | ||
+ | |||
+ | lutenable, | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C04 | ||
+ | |Exposure Mode | ||
+ | |Exposure Type | ||
+ | 0: Manual exposure | ||
+ | |||
+ | 1: Run automatic exposure once | ||
+ | |||
+ | 2: Automatic exposure | ||
+ | |enum | ||
+ | |RW | ||
+ | |A | ||
+ | |expmode | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C08 | ||
+ | |Target Brightness | ||
+ | |Target brightness for automatic exposure. Range[0,255] | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |aatarget | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C10 | ||
+ | |ME Time | ||
+ | |Manual exposure time,effective in ME mode. Range[16,1000000]. <u>Note1.</u> | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |metime | ||
+ | |S | ||
+ | |- | ||
+ | |0x0C14 | ||
+ | |AE MAX Time | ||
+ | |Maximum exposure time in AE mode.Range[16,1000000]. <u>Note1.</u> | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |aemaxtime | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C18 | ||
+ | |Exp Time | ||
+ | |Current exposure time. <u>Note1.</u> | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |exptime | ||
+ | |S | ||
+ | |- | ||
+ | |0x0C1C | ||
+ | |Gain Mode | ||
+ | |Gain Type | ||
+ | 0: Manual gain | ||
+ | |||
+ | 1: Run automatic gain once | ||
+ | |||
+ | 2: Automatic gain | ||
+ | |enum | ||
+ | |RW | ||
+ | |A | ||
+ | |gainmode | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C20 | ||
+ | |Manual Gain | ||
+ | |Manual gain, ,effective in MG mode. <u>Note2.</u> | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |mgain | ||
+ | |S | ||
+ | |- | ||
+ | |0x0C24 | ||
+ | |AG Max Gain | ||
+ | |Maximum value of auto gain. <u>Note2.</u> | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |agmaxgain | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C28 | ||
+ | |Cur Gain | ||
+ | |Current Gain. <u>Note2.</u> | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |curgain | ||
+ | |S | ||
+ | |- | ||
+ | |0x0C2C | ||
+ | |AAROIOffsetX | ||
+ | |AAROI offset X. <u>Note4.</u> | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |aaroi | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C30 | ||
+ | |AAROIOffsetY | ||
+ | |AAROI offset Y. <u>Note4.</u> | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |aaroi | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C34 | ||
+ | |AAROIWidth | ||
+ | |AAROI Width. Range: [16,ROI Width] | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |aaroi | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C38 | ||
+ | |AAROIHeight | ||
+ | |AAROI Height. Range: [16,ROI Height] | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |aaroi | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C60 | ||
+ | |Gamma | ||
+ | |gamma. The value is 100 times the actual gamma. 80 means gamma is 0.8. | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |gamma | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C74 | ||
+ | |LUT Count | ||
+ | |The length of the lut curve 1024 or 4096. | ||
+ | |uint | ||
+ | |RO | ||
+ | | - | ||
+ | |lut | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C78 | ||
+ | |LUT Start | ||
+ | |lut curve start transmission. | ||
+ | |bool | ||
+ | |WO | ||
+ | |A | ||
+ | |lut | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C7C | ||
+ | |LUT Done | ||
+ | |lut curve writing finished. | ||
+ | |bool | ||
+ | |WO | ||
+ | |A | ||
+ | |lut | ||
+ | |N | ||
+ | |- | ||
+ | |0x0C80 | ||
+ | |AAROI enable | ||
+ | |Whether to enable AA statistics ROI function, not enable means full screen statistics. | ||
+ | |bool | ||
+ | |RW | ||
+ | |A | ||
+ | |aaroienable | ||
+ | |N | ||
+ | |} | ||
+ | Note1: All parameters of exposure time are in microseconds. However, due to the properties of the sensor, the actual exposure time unit of the sensor is 1 line, can not be accurate to 1us. | ||
+ | |||
+ | Note2:For all gain-related parameters, the register value is 10 times the number of dB. For example, if the register is 101, it means 10.1dB. The range and step vary according to the model. | ||
+ | |||
+ | Note3: AE: Auto exposure; AG: Auto Gain; AA: AE and AG. | ||
+ | |||
+ | Note4: The AAROI coordinates are relative coordinates within the roi range. | ||
+ | === IO控制 === | ||
+ | {| class="wikitable" | ||
+ | !Address | ||
+ | !Name | ||
+ | !Description | ||
+ | !Data Type | ||
+ | !R/W | ||
+ | !Update timing | ||
+ | !script function | ||
+ | !Raw series Support | ||
+ | |- | ||
+ | |0x1000 | ||
+ | |Trigger Delay | ||
+ | |Trigger delay. Effective in both soft trigger and hard trigger modes. | ||
+ | range: 0 to 1000000 (unit: microsecond) | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |trgdelay | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x1004 | ||
+ | |Trigger Edge | ||
+ | |0: Rising edge | ||
+ | 1: Falling edge | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |trgedge | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x1008 | ||
+ | |Trigger Filter Enable | ||
+ | |0: No filtering | ||
+ | 1: Low-level filtering (Filtering of interference signals on low levels) | ||
− | === | + | 2: High-level filtering (Filtering of interference signals on high levels) |
+ | |||
+ | 3 :Both Low-level and High-level filtering | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |trgfilter_enable | ||
+ | |N | ||
+ | |- | ||
+ | |0x100c | ||
+ | |Trigger Filter Width | ||
+ | |Trigger signal filtering window width | ||
+ | range: 1 to 1000000 (unit: microsecond) | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |trgfilter_time | ||
+ | |N | ||
+ | |- | ||
+ | |0x1010 | ||
+ | |Exposure Delay | ||
+ | |Exposure delay, i.e. the time to turn on the Strobe signal in advance. | ||
+ | range: 1 to 1000000 (unit: microsecond) | ||
+ | |uint | ||
+ | |RW | ||
+ | |S | ||
+ | |trgexp_delay | ||
+ | |N | ||
+ | |- | ||
+ | |0x1014 | ||
+ | |TriggerIN IO status | ||
+ | |trigger in IO pin status. | ||
+ | |enum | ||
+ | |RO | ||
+ | | - | ||
+ | |gpios_status | ||
+ | |S,SDA | ||
+ | |- | ||
+ | |0x1020 | ||
+ | |GPIO1_OutSelect | ||
+ | |0: Strobe | ||
+ | 1: UserOut | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |outio1_mode | ||
+ | |N | ||
+ | |- | ||
+ | |0x1024 | ||
+ | |GPIO1 UserOut | ||
+ | |User-defined output signal. | ||
+ | |enum | ||
+ | |RW | ||
+ | |A | ||
+ | |outio1_usr | ||
+ | |N | ||
+ | |- | ||
+ | |0x1028 | ||
+ | |GPIO1 Reverse | ||
+ | |Output signal reversal. | ||
+ | |bool | ||
+ | |RW | ||
+ | |A | ||
+ | |outio1_rvs | ||
+ | |N | ||
+ | |- | ||
+ | |0x102C | ||
+ | |GPIO1 OutStatus | ||
+ | |GPIO1 IO pin status. | ||
+ | |enum | ||
+ | |RO | ||
+ | | - | ||
+ | |gpios_status | ||
+ | |N | ||
+ | |- | ||
+ | |0x1030 | ||
+ | |GPIO2_OutSelect | ||
+ | |0: Strobe | ||
+ | 1: UserOut | ||
+ | |||
+ | 2: TriggerWait; trigger wait status. | ||
+ | |||
+ | Indicate that the camera is waiting for the trigger, ready to respond to the trigger signal. | ||
+ | |||
+ | 3: XVS | ||
+ | |||
+ | 4: XHS | ||
+ | |uint | ||
+ | |RW | ||
+ | |A | ||
+ | |outio2_mode | ||
+ | |N | ||
+ | |- | ||
+ | |0x1034 | ||
+ | |GPIO2 UserOut | ||
+ | |User-defined output signal. | ||
+ | |enum | ||
+ | |RW | ||
+ | |A | ||
+ | |outio2_usr | ||
+ | |N | ||
+ | |- | ||
+ | |0x1038 | ||
+ | |GPIO2 Reverse | ||
+ | |Output signal reversal. | ||
+ | |bool | ||
+ | |RW | ||
+ | |A | ||
+ | |outio2_rvs | ||
+ | |N | ||
+ | |- | ||
+ | |0x103C | ||
+ | |GPIO2 OutStatus | ||
+ | |GPIO2 IO pin status. | ||
+ | |enum | ||
+ | |RO | ||
+ | | - | ||
+ | |gpios_status | ||
+ | |N | ||
+ | |} | ||
+ | ===特殊块存储区=== | ||
+ | 0x1800-0x37FF : lut area. |
Latest revision as of 10:36, 12 November 2024
MV系列和RAW系列MIPI摄像机模组寄存器列表
1 概述
1.1 寄存器特征
寄存器地址的长度为2字节,值的长度为4字节。
寄存器读写属性分为RW,RO,WO三种。只有RW属性的可以保存到摄像机flash中。
寄存器值包括几种类型:int,bool,enum,ascii。
1.2 i2c通信协议
模组支持通过i2c协议进行参数配置。摄像机默认的i2c从地址是0x3b,这个地址是可以修改的。
i2c读写寄存器时采用大端字节序,即高字节在前的顺序。
为了方便客户使用,我们提供了linux下开源的shell脚本,帮助进行每个寄存器的读写。
下表中script function一列表示此寄存器对应的shell脚本的功能函数。
1.3 Update timing
摄像机有两种状态,standby和running。上电后进入standby状态,开始图像采集后进入running状态。
下表中,Update timing的类型有:
A:任何时刻都可以读写。
S: running状态下可读不可写。
-:任何时刻都只读。
1.4 Raw series Support
RAW系列摄像机的功能是MV系列摄像机的子集。
它包含一个MCU,用于sensor模式的配置和外触发的延迟。
特别的,它支持Sensor Direct Access模式。在此模式下,MCU放弃对sensor的控制和操作,开放sensor的i2c给客户直接控制。MCU只保留极少必要的寄存器功能。
N:不支持。
S:普通模式下支持。
SDA:Sensor Direct Access模式下支持。
2 基础功能
Address | Name | Description | Data Type | R/W | Update timing | script function | Raw series Support |
---|---|---|---|---|---|---|---|
0x0000 | Manufacturer Name | String containing the self-describing name of the manufacturer. “VEYE” | ascii | RO | - | manufacturer | S,SDA |
0x0004 | Model Name | Product Model Code.
0x178 : MV-MIPI-IMX178M 0x130 : MV-MIPI-SC130M 0x265 : MV-MIPI-IMX265M 0x264 : MV-MIPI-IMX264M 0x296 : MV-MIPI-IMX296M 0x287 : MV-MIPI-IMX287M 0x4002 : MV-MIPI-GMAX4002M 0x8132 : RAW-MIPI-SC132M 0x8234 : RAW-MIPI-AR0234M 0x8462 : RAW-MIPI-IMX462M 0x8535 : RAW-MIPI-SC535M |
enum | RO | - | model | S,SDA |
0x0008 | Sensor Name | Sensor Model:
0x178 : IMX178LLJ 0x130 : SC130GS 0x265 : IMX265LLJ 0x264 : IMX264LLJ 0x296 : IMX296LLJ 0x287 : IMX287LLJ 0x132 : SC132GS 0x234 : AR0234CS 0x462 : IMX462LLR 0x535 : SC535HGS 0x4002 : GMAX4002 |
enum | RO | - | S,SDA | |
0x000C | Serial Number | Unique product serial number | uint | RO | - | serialno | S,SDA |
0x0010 | Device Version | Firmware version number. The high 16 bits are the Control version and the low 16 bits are the Logic version.
For example, 0x01020304 means Control version is 1.2 and Logic version is 3.4. |
uint | RO | - | version | S,SDA |
0x0014 | Factory Param | All parameters restored to factory default values. | bool | WO | A | factoryparam | S,SDA |
0x0018 | Param save to flash | Save all parameters to flash, and they will not be lost when power off. | bool | WO | A | paramsave | S,SDA |
0x001C | System reboot | Reboot the camera. | bool | WO | A | reboot | S,SDA |
0x0020 | Time stamp | Time after system startup in Milliseconds. | uint | RO | - | timestamp | S,SDA |
0x0024 | Error Code | System error code, each bit represents an error type.
bit0: sensor error. bit1: Logic module startup error. bit2: Logic module communication error. bit5: AA(AE&AG) regulation cannot reach the target brightness. bit6: Authorization failure. |
uint | RO | - | errcode | S,SDA |
0x0028 | Format Cap | Capbility of data formats supported by the camera.
bit0: Mono8 bit1: Mono10 bit2: Mono12 bit3: Mono14 bit4: UYVY |
uint | RO | - | fmtcap | S |
0x0030 | TriggerMode Cap | Capbility of trigger mode supported by the camera.
bit0:Video streaming mode bit1:Normal trigger mode. bit2:Rolling shutter multi-frame trigger mode bit3: Pulse trigger mode. |
uint | RO | - | trgmodecap | S |
3 图像采集
Address | Name | Description | Data Type | R/W | Update timing | script function | Raw series Support |
---|---|---|---|---|---|---|---|
0x0400 | Image Acquisition | Start/Stop acquisition
There is no image output after the camera is powered on, which means it is in the standby state. After writing 1 to this register, it enters the running state and starts outputting images or waiting for the trigger signal. |
bool | WO | A | imgacq | S |
0x0404 | Trigger Mode | 0:Video streaming mode
1:Normal trigger mode. 2:Rolling shutter multi-frame trigger mode. 3: Pulse trigger mode. See product manual for details. |
enum | RW | S | trgmode | S,SDA |
0x0408 | Trigger Source | 0: Software trigger mode.
1: Hardware trigger mode. Effective in Trigger mode 1 and 2 only. |
enum | RW | S | trgsrc | S |
0x040C | Trigger Number | The number of image frames output by one trigger signal in trigger mode. Range:[1.255] | uint | RW | S | trgnum | N |
0x0410 | Trigger Interval | Trigger interval in normal trigger mode, in microseconds. Range:[0.0xFFFFFF] | uint | RW | S | trginterval | N |
0x0414 | Trigger Software | Software trigger command, write 1 for one trigger. | bool | WO | A | trgone | S |
0x0418 | Trigger Count | Trigger count statistics.
The high 16 bits indicate the number of trigger loss, and the low 16 bits indicate the total number of triggers. Write 1 to clear the count. |
uint | RW | A | trgcount | S |
0x041C | I2C ADDR | I2c address. Range[0x03,0x77]. | uint | RW | A | i2caddr | S |
0x0424 | MCU bypass mode | For RAW series ONLY! Once enabled, the mcu no longer controls the sensor and the user controls the sensor directly.
Automatic restart after change. |
bool | RW | A | mcubypass | S,SDA |
0x044C | Non discontinuous mode | Indicates whether the clock lan of the mipi signal is in continuous clock mode. 0 : discontinuous mode,1: continuous mode | bool | RO | A | clkmode | N |
0x0450 | Sensor Register Addr | Indirectly read the sensor register function. Write the address of the sensor register to be read to this register. | uint | WO | A | snsreg | S |
0x0454 | Sensor Register Value | Read the sensor register value. | uint | RO | A | snsreg | S |
0x0460 | Slave mode | Whether the sensor is operating in slave mode. Currently, only RAW-MIPI-IMX462M is supported. | bool | RW | S | slavemode | S |
0x0464 | Sensor Frame Count | The number of frames output by the sensor. Cyclic counting. | uint | RO | A | framecount | N |
0x0468 | Out Frame Count | The number of frames output by the camera module. Cyclic counting. | uint | RO | A | framecount | N |
4 图像参数
Address | Name | Description | Data Type | R/W | Update timing | script function | Raw series Support |
---|---|---|---|---|---|---|---|
0x0800 | Test Image Selector | Switch between normal image or test image
0 : normal image 1 : Test image 1 2 : Test image 2 |
uint | RW | A | testimg | S |
0x0804 | Pixel Format | 0 : Mono8
1 : Mono10 2 : Mono12 3 : Mono14(reserved) 4 : UYVY |
enum | RW | S | pixelformat | S |
0x0808 | Sensor Width | The maximum width supported by the sensor | uint | RO | - | maxwh | S |
0x080C | Sensor Height | The maximum height supported by sensor | uint | RO | - | maxwh | S |
0x0810 | MaxFrame Rate | The maximum frame rate supported in the current mode.
The register value is 100 times the frame rate. |
uint | RO | - | maxfps | S |
0x0814 | Framerate | The current framerate.
The register value is 100 times the frame rate. In normal trigger mode, it is recommended to set the fps to the maxfps value to ensure the highest trigger signal responsiveness. |
uint | RW | S | fps | S |
0x0818 | ROI Width | ROI Width | uint | RW | S | roi | S |
0x081C | ROI Height | ROI Height
Of the four roi registers, please write this last. |
uint | RW | S | roi | S |
0x0820 | ROI Offset X | ROI Offset X | uint | RW | S | roi | S |
0x0824 | ROI Offset Y | ROI Offset Y | uint | RW | S | roi | S |
0x0828 | Image Direction | 0 : normal
1 : mirror 2 : flip 3 : flip&mirror |
enum | RW | A | imgdir | S |
0x0830 | Black Level | Black level | uint | RW | A | blacklevel | S |
0x0834 | BLC mode | Black level calibration modes:
0: Sensor automatic calibration or use default black level. 1: Manually specify black level. |
uint | RW | A | blcmode | S |
0x083C | Lane Num | For modules that support lane number configuration, use this register to modify the lane number. | uint | RW | S | lanenum | S |
0x0840 | MIPI Datarate | The MIPI datarate for each lane, measured in Kbps. | uint | RO | - | mipidatarate | S |
5 图像处理(ISP)
Address | Name | Description | Data Type | R/W | Update timing | script function | Raw series Support |
---|---|---|---|---|---|---|---|
0x0C00 | ISP module ctrl | The ISP module controls, each bit represents an isp function.
bit0: Exposure Statistics bit1: reserved bit2: WB Statistics bit3: Focus Statistics bit4: DPC bit5: gamma bit6: denoise bit7: sharpen bit8: LUT others: reserved |
uint | RW | A | gammaenable,
dpcenable, lutenable, |
N |
0x0C04 | Exposure Mode | Exposure Type
0: Manual exposure 1: Run automatic exposure once 2: Automatic exposure |
enum | RW | A | expmode | N |
0x0C08 | Target Brightness | Target brightness for automatic exposure. Range[0,255] | uint | RW | A | aatarget | N |
0x0C10 | ME Time | Manual exposure time,effective in ME mode. Range[16,1000000]. Note1. | uint | RW | A | metime | S |
0x0C14 | AE MAX Time | Maximum exposure time in AE mode.Range[16,1000000]. Note1. | uint | RW | A | aemaxtime | N |
0x0C18 | Exp Time | Current exposure time. Note1. | uint | RO | - | exptime | S |
0x0C1C | Gain Mode | Gain Type
0: Manual gain 1: Run automatic gain once 2: Automatic gain |
enum | RW | A | gainmode | N |
0x0C20 | Manual Gain | Manual gain, ,effective in MG mode. Note2. | uint | RW | A | mgain | S |
0x0C24 | AG Max Gain | Maximum value of auto gain. Note2. | uint | RW | A | agmaxgain | N |
0x0C28 | Cur Gain | Current Gain. Note2. | uint | RO | - | curgain | S |
0x0C2C | AAROIOffsetX | AAROI offset X. Note4. | uint | RW | A | aaroi | N |
0x0C30 | AAROIOffsetY | AAROI offset Y. Note4. | uint | RW | A | aaroi | N |
0x0C34 | AAROIWidth | AAROI Width. Range: [16,ROI Width] | uint | RW | A | aaroi | N |
0x0C38 | AAROIHeight | AAROI Height. Range: [16,ROI Height] | uint | RW | A | aaroi | N |
0x0C60 | Gamma | gamma. The value is 100 times the actual gamma. 80 means gamma is 0.8. | uint | RW | A | gamma | N |
0x0C74 | LUT Count | The length of the lut curve 1024 or 4096. | uint | RO | - | lut | N |
0x0C78 | LUT Start | lut curve start transmission. | bool | WO | A | lut | N |
0x0C7C | LUT Done | lut curve writing finished. | bool | WO | A | lut | N |
0x0C80 | AAROI enable | Whether to enable AA statistics ROI function, not enable means full screen statistics. | bool | RW | A | aaroienable | N |
Note1: All parameters of exposure time are in microseconds. However, due to the properties of the sensor, the actual exposure time unit of the sensor is 1 line, can not be accurate to 1us.
Note2:For all gain-related parameters, the register value is 10 times the number of dB. For example, if the register is 101, it means 10.1dB. The range and step vary according to the model.
Note3: AE: Auto exposure; AG: Auto Gain; AA: AE and AG.
Note4: The AAROI coordinates are relative coordinates within the roi range.
6 IO控制
Address | Name | Description | Data Type | R/W | Update timing | script function | Raw series Support |
---|---|---|---|---|---|---|---|
0x1000 | Trigger Delay | Trigger delay. Effective in both soft trigger and hard trigger modes.
range: 0 to 1000000 (unit: microsecond) |
uint | RW | S | trgdelay | S,SDA |
0x1004 | Trigger Edge | 0: Rising edge
1: Falling edge |
uint | RW | S | trgedge | S,SDA |
0x1008 | Trigger Filter Enable | 0: No filtering
1: Low-level filtering (Filtering of interference signals on low levels) 2: High-level filtering (Filtering of interference signals on high levels) 3 :Both Low-level and High-level filtering |
uint | RW | S | trgfilter_enable | N |
0x100c | Trigger Filter Width | Trigger signal filtering window width
range: 1 to 1000000 (unit: microsecond) |
uint | RW | S | trgfilter_time | N |
0x1010 | Exposure Delay | Exposure delay, i.e. the time to turn on the Strobe signal in advance.
range: 1 to 1000000 (unit: microsecond) |
uint | RW | S | trgexp_delay | N |
0x1014 | TriggerIN IO status | trigger in IO pin status. | enum | RO | - | gpios_status | S,SDA |
0x1020 | GPIO1_OutSelect | 0: Strobe
1: UserOut |
uint | RW | A | outio1_mode | N |
0x1024 | GPIO1 UserOut | User-defined output signal. | enum | RW | A | outio1_usr | N |
0x1028 | GPIO1 Reverse | Output signal reversal. | bool | RW | A | outio1_rvs | N |
0x102C | GPIO1 OutStatus | GPIO1 IO pin status. | enum | RO | - | gpios_status | N |
0x1030 | GPIO2_OutSelect | 0: Strobe
1: UserOut 2: TriggerWait; trigger wait status. Indicate that the camera is waiting for the trigger, ready to respond to the trigger signal. 3: XVS 4: XHS |
uint | RW | A | outio2_mode | N |
0x1034 | GPIO2 UserOut | User-defined output signal. | enum | RW | A | outio2_usr | N |
0x1038 | GPIO2 Reverse | Output signal reversal. | bool | RW | A | outio2_rvs | N |
0x103C | GPIO2 OutStatus | GPIO2 IO pin status. | enum | RO | - | gpios_status | N |
7 特殊块存储区
0x1800-0x37FF : lut area.