MV Series MIPI Camera Register Map

From wiki_veye
Jump to navigation Jump to search


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

enum RO - model
0x0008 Sensor Name Sensor Model:

0x178 : IMX178LLJ

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

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


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,



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.

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.