MV Series MIPI Camera Register Map

From wiki_veye
Revision as of 11:56, 26 August 2024 by Xumm (talk | contribs) (→‎Basic Parameters)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

查看中文

MV Series and RAW Series MIPI Camera Register Map

1 Overview

1.1 Register Features

The register address length is 2 bytes and the value length is 4 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.

1.4 Raw series Support

The RAW series camera functions as a subset of the MV series camera.

It contains an MCU, which is used for sensor mode configuration and external trigger delay.

In particular, it supports Sensor Direct Access mode. In this mode, the MCU gives up the control and operation of the sensor, and opens the i2c of the sensor to the customer for direct control. The MCU only retains very few necessary register functions.

N:Not support.

S:Support in normal mode.

SDA:Support in Sensor Direct Access mode.

2 Basic Parameters

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 - 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 Image Acquisition

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 Image Features

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.

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 AAROI statistics function, not enable means full ROI 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 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 Raw series Support
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 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 TriggerIN_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 OUT_IO1 output signal. enum RW A outio1_usr N
0x1028 GPIO1 Reverse OUT_IO1 signal reversal. bool RW A outio1_rvs N
0x102C GPIO1 OutStatus OUT_IO1 pin status. enum RO - gpios_status N
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 N
0x1034 GPIO2 UserOut User-defined OUT_IO2 output signal. enum RW A outio2_usr N
0x1038 GPIO2 Reverse OUT_IO2 signal reversal. bool RW A outio2_rvs N
0x103C GPIO2 OutStatus OUT_IO2 pin status. enum RO - gpios_status N

7 Special Block Area

0x1800-0x37FF : lut area.