MV Series MIPI Camera Register Map
MV Series and RAW Series MIPI Camera Register Map
1 Overview
1.1 Register Features
The register address length is 4 bytes and the value length is 2 bytes.
Register R/W attributes: RW, RO, WO. Only the RW type can be saved to the camera flash.
Register values have several types: uint(unsigned int), bool, enum, ascii.
1.2 I2c communication protocol
The module supports parameter configuration via i2c protocol. The default i2c slave address of the camera is 0x3b which can be modified.
I2c data input order is MSB-first transfer.
We provide open source shell scripts under Linux to help read and write each register.
The script function column in the following table indicates the function name in the shell script corresponding to this register.
1.3 Update timing
The camera has two states, standby and running.
After power on, it enters the standby state, and after starting image acquisition, it enters the running state.
In the following table, Update timing possible value is:
A: Read and write at any time.
S: Read only at running state.
-: Read only at any time.
2 Basic Parameters
Address | Name | Description | Data Type | R/W | Update timing | script function |
---|---|---|---|---|---|---|
0x0000 | Manufacturer Name | String containing the self-describing name of the manufacturer. “VEYE” | ascii | RO | - | manufacturer |
0x0004 | Model Name | Product Model Code.
0x178 : MV-MIPI-IMX178M 0x130 : MV-MIPI-SC130M |
enum | RO | - | model |
0x0008 | Sensor Name | Sensor Model:
0x178 : IMX178LLJ 0x130 : SC130GS |
enum | RO | - | |
0x000C | Serial Number | Unique product serial number | uint | RO | - | |
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 |
0x0014 | Factory Param | All parameters restored to factory default values. | bool | WO | A | factoryparam |
0x0018 | Param save to flash | Save all parameters to flash, and they will not be lost when power off. | bool | WO | A | paramsave |
0x001C | System reboot | Reboot the camera. | bool | WO | A | reboot |
0x0020 | Time stamp | Time after system startup in Milliseconds. | uint | RO | - | timestamp |
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 |
0x0028 | Format Cap | Capbility of data formats supported by the camera.
bit0: Mono8 bit1: Mono10 bit2: Mono12 bit3: Mono14 bit4: UYVY |
uint | RO | - | fmtcap |
3 Image Acquisition
Address | Name | Description | Data Type | R/W | Update timing | script function |
---|---|---|---|---|---|---|
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 |
0x0404 | Trigger Mode | 0:Video streaming mode
1:Normal trigger mode. 2:High-speed continuous trigger mode. See product manual for details. |
enum | RW | S | trgmode |
0x0408 | Trigger Source | 0: Software trigger mode.
1: Hardware trigger mode. |
enum | RW | S | trgsrc |
0x040C | Trigger Number | The number of image frames output by one trigger signal in trigger mode. Range:[1.255] | uint | RW | S | trgnum |
0x0410 | Trigger Interval | Trigger interval in normal trigger mode, in microseconds. Range:[0.0xFFFFFF] | uint | RW | S | trginterval |
0x0414 | Trigger Software | Software trigger command, write 1 for one trigger. | bool | WO | A | trgone |
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 |
0x041C | I2C ADDR | I2c address. Range[0x03,0x77]. | uint | RW | A | i2caddr |
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 |
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 |
0x0454 | Sensor Register Value | Read the sensor register value. | uint | RO | A | snsreg |
4 Image Features
Address | Name | Description | Data Type | R/W | Update timing | script function |
---|---|---|---|---|---|---|
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 |
0x0804 | Pixel Format | 0 : Mono8
1 : Mono10 2 : Mono12 3 : Mono14(reserved) 4 : UYVY |
enum | RW | A | pixelformat |
0x0808 | Sensor Width | The maximum width supported by the sensor | uint | RO | - | maxwh |
0x080C | Sensor Height | The maximum height supported by sensor | uint | RO | - | maxwh |
0x0810 | MaxFrame Rate | The maximum frame rate supported in the current mode.
The register value is 100 times the frame rate. |
uint | RO | - | maxfps |
0x0814 | Framerate | The current framerate.
The register value is 100 times the frame rate. |
uint | RW | S | fps |
0x0818 | ROI Width | ROI Width | uint | RW | S | roi |
0x081C | ROI Height | ROI Height
Of the four roi registers, please write this last. |
uint | RW | S | roi |
0x0820 | ROI Offset X | ROI Offset X | uint | RW | S | roi |
0x0824 | ROI Offset Y | ROI Offset Y | uint | RW | S | roi |
0x0828 | Image Direction | 0 : normal
1 : mirror 2 : flip 3 : flip&mirror |
enum | RW | A | imgdir |
0x0830 | Black Level | Black level | uint | RW | A | blacklevel |
5 ISP
Address | Name | Description | Data Type | R/W | Update timing | script function |
---|---|---|---|---|---|---|
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, |
0x0C04 | Exposure Mode | Exposure Type
0: Manual exposure 1: Run automatic exposure once 2: Automatic exposure |
enum | RW | A | expmode |
0x0C08 | Target Brightness | Target brightness for automatic exposure. Range[0,255] | uint | RW | A | aatarget |
0x0C10 | ME Time | Manual exposure time,effective in ME mode. Range[16,1000000]. Note1. | uint | RW | A | metime |
0x0C14 | AE MAX Time | Maximum exposure time in AE mode.Range[16,1000000]. Note1. | uint | RW | A | aemaxtime |
0x0C18 | Exp Time | Current exposure time. Note1. | uint | RO | - | exptime |
0x0C1C | Gain Mode | Gain Type
0: Manual gain 1: Run automatic gain once 2: Automatic gain |
enum | RW | A | gainmode |
0x0C20 | Manual Gain | Manual gain, ,effective in MG mode. Note2. | uint | RW | A | mgain |
0x0C24 | AG Max Gain | Maximum value of auto gain. Note2. | uint | RW | A | agmaxgain |
0x0C28 | Cur Gain | Current Gain. Note2. | uint | RO | - | curgain |
0x0C2C | AAROIOffsetX | AAROI offset X. Note4. | uint | RW | A | aaroi |
0x0C30 | AAROIOffsetY | AAROI offset Y. Note4. | uint | RW | A | aaroi |
0x0C34 | AAROIWidth | AAROI Width. Range: [16,ROI Width] | uint | RW | A | aaroi |
0x0C38 | AAROIHeight | AAROI Height. Range: [16,ROI Height] | uint | RW | A | aaroi |
0x0C60 | Gamma | gamma. The value is 100 times the actual gamma. 80 means gamma is 0.8. | uint | RW | A | gamma |
0x0C74 | LUT Count | The length of the lut curve 1024 or 4096. | uint | RO | - | lut |
0x0C78 | LUT Start | lut curve start transmission. | bool | WO | A | lut |
0x0C7C | LUT Done | lut curve writing finished. | bool | WO | A | lut |
0x0C80 | AAROI enable | Whether to enable AAROI statistics function, not enable means full ROI statistics. | bool | RW | A | aaroienable |
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 area. So the area must be smaller than the image ROI.
6 IO Control
Address | Name | Description | Data Type | R/W | Update timing | script function |
---|---|---|---|---|---|---|
0x1000 | Trigger Delay | Trigger delay. Trigger delay. Effective in both soft trigger and hard trigger modes.
range: 0 to 1000000 (unit: microsecond) |
uint | RW | S | trgdelay |
0x1004 | Trigger Edge | 0: Rising edge
1: Falling edge |
uint | RW | S | trgedge |
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 |
0x100c | Trigger Filter Width | Trigger signal filtering window width
range: 1 to 1000000 (unit: microsecond) |
uint | RW | S | trgfilter_time |
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 |
0x1014 | TriggerIN IO status | TriggerIN_IO pin status. | enum | RO | - | gpios_status |
0x1020 | GPIO1_OutSelect | 0: Strobe
1: UserOut |
uint | RW | A | outio1_mode |
0x1024 | GPIO1 UserOut | User-defined OUT_IO1 output signal. | enum | RW | A | outio1_usr |
0x1028 | GPIO1 Reverse | OUT_IO1 signal reversal. | bool | RW | A | outio1_rvs |
0x102C | GPIO1 OutStatus | OUT_IO1 pin status. | enum | RO | - | gpios_status |
0x1030 | GPIO2_OutSelect | 0: Strobe
1: UserOut 2: TriggerWait; trigger wait status. Indicate that the camera is not busy now, able to respond to the trigger signal. 3: XVS 4: XHS |
uint | RW | A | outio2_mode |
0x1034 | GPIO2 UserOut | User-defined OUT_IO2 output signal. | enum | RW | A | outio2_usr |
0x1038 | GPIO2 Reverse | OUT_IO2 signal reversal. | bool | RW | A | outio2_rvs |
0x103C | GPIO2 OutStatus | OUT_IO2 pin status. | enum | RO | - | gpios_status |
7 Special Block Area
0x1800-0x37FF : lut area.