Gx Series MIPI Camera Register Map/zh

From wiki_veye
Jump to navigation Jump to search

English

GX系列MIPI摄像机模组寄存器列表

1 概述

1.1 寄存器特征

寄存器地址的长度为2字节,值的长度为4字节。

寄存器读写属性分为RW,RO,WO三种。只有RW属性的可以保存到摄像机flash中。

寄存器值包括几种类型:intboolenumascii

1.2 i2c通信协议

模组支持通过i2c协议进行参数配置。摄像机默认的i2c从地址是0x3b,这个地址是可以修改的。

i2c读写寄存器时采用大端字节序,即高字节在前的顺序。

为了方便客户使用,我们提供了linux下开源的shell脚本,帮助进行每个寄存器的读写。

下表中script function一列表示此寄存器对应的shell脚本的功能函数。

1.3 更新时间

摄像机有两种状态,standby和running。上电后进入standby状态,开始图像采集后进入running状态。

下表中,Update timing的类型有:
A:任何时刻都可以读写。

S: running状态下可读不可写。

-:任何时刻都只读。

R: running状态下可读到有效值

2 基础功能

寄存器地址 寄存器名称 描述 数据类型 读/写 更新时间 脚本函数
0x0000 Manufacturer Name 制造商的名称 “VEYE” ascii 只读 - manufacturer
0x0004 Model Name 产品型号

0x0662: GX-MIPI-IMX662

0x0664: GX-MIPI-IMX664

enum 只读 - model
0x0008 Sensor Name 传感器型号:

0x662: IMX662-AAQR

0x664: IMX664-AAQR1

enum 只读 - sensorname
0x000C Serial Number 出厂编号 uint 只读 - serialno
0x0010 Device Version 固件版本号。高16位是控制版本,低16位是逻辑版本。

例如“0x01020304”表示“C version”为“1.2”,“L version”为“3.4”。

uint 只读 - version
0x0014 Factory Param 所有参数恢复出厂设置。

该操作将擦除并重写flash。操作过程中请确保电源不中断。

此外,建议不要执行频繁的工厂参数操作。

bool 只写 A factoryparam
0x0018 Param save to flash 所有参数保存到flash,关机时不会丢失。

该操作将擦除并重写系统闪存。操作过程中请确保电源不中断。

此外,建议不要执行频繁的paramsave操作。

bool 只写 A paramsave
0x001C System reboot 重启相机 bool 只写 A reboot
0x0020 Time stamp 系统启动后的时间,单位为毫秒。 uint 只读 - timestamp
0x0024 Error Code 预留 uint 只读 - errcode
0x0028 Format Cap 模组支持数据格式的能力集,每个bit代表一种数据格式,与Pixel Format寄存器定义类似。

bit0: Mono8

bit1: Mono10

bit2: Mono12

bit3: Mono14(预留)

bit4: UYVY

bit5: RGB888

bit6: Temp(温度传感器,预留占位)

bit7: YUYV

uint 只读 - fmtcap
0x002C ReadModeCap Sensor读出模式能力集。

bit0: Normal

bit1: binning 模式

bit2: subsampling 模式

uint 只读 - readmodecap
0x0030 WorkMode Cap 视频流模式能力集,每个bit表示一个能力。

bit0: 表示为视频流模式。

bit1: 表示为普通触发模式,可设置触发间隔和触发数量。Rolling shutter的传感器两帧时序出一帧。

bit4: 多相机同步模式

uint 只读 - workmodecap
0x0034 LaneNumCap 相机支持的MIPI lane数目,有效值[1,F]。由低位到高位分别代表1lane,2lane,3lane,4lane能能力。

如: 0x2代表支持2lane,0xA代表2lane和4lane设置。

uint 只读 - lanecap
0x0038-

0x0054

Camera name 相机类型 string 只读 - cameramodel0-cameramodel7
0x0058 Temperature K 传感器的温度值,开尔文为单位,值是当前温度的100倍。 uint 只读 - temp
0x005C VideoModeCap 产品分辨率模式能力。

Bit0: ROI模式。

Bit1: 预设Mode模式。

uint 只读 - videomodecap
0x0060 VideoModeNum GX系列默认使用分辨率模式方案,不使用ROI方案。支持的图像模式数量。最大支持8种。 uint 只读 - videomodenum
0x0064 VidoeMode_WH1 第一种模式的宽高,高16bit为width,低16bit为height uint 只读 - videomodewh1
0x0068 VideoMode_Param1 第一种模式的帧率和读取方式。高8bit备用,中8bit为读取方式,低16bit为帧率。

读取方式定义:

0: 普通

1: binning

2: subsampling

uint 只读 - videomodeparam1
0x006C VidoeMode_WH2 第二种模式的宽高 uint 只读 - videomodewh2
0x0070 VideoMode_Param2 第二种模式的帧率和读取方式。 uint 只读 - videomodeparam2
0x0074 VidoeMode_WH3 第三种模式的宽高 uint 只读 - videomodewh3
0x0078 VideoMode_Param3 第三种模式的帧率和读取方式。 uint 只读 - videomodeparam3
0x007C VidoeMode_WH4 第四种模式的宽高 uint 只读 - videomodewh4
0x0080 VideoMode_Param4 第四种模式的帧率和读取方式。 uint 只读 - videomodeparam4
0x0084 VidoeMode_WH5 第五种模式的宽高 uint 只读 - videomodewh5
0x0088 VideoMode_Param5 第五种模式的帧率和读取方式。 uint 只读 - videomodeparam5
0x008C VidoeMode_WH6 第六种模式的宽高 uint 只读 - videomodewh6
0x0090 VideoMode_Param6 第六种模式的帧率和读取方式。 uint 只读 - videomodeparam6
0x0094 VidoeMode_WH7 第七种模式的宽高 uint 只读 - videomodewh7
0x0098 VideoMode_Param7 第七种模式的帧率和读取方式。 uint 只读 - videomodeparam7
0x009C VidoeMode_WH8 第八种模式的宽高 uint 只读 - videomodewh8
0x00A0 VideoMode_Param8 第八种模式的帧率和读取方式。 uint 只读 - videomodeparam8

3 图像采集

寄存器地址 寄存器名称 描述 数据类型 读/写 更新时间 脚本函数
0x0400 Image Acquisition 开始采集/停止采集

摄像头上电后没有图像输出,也就是处于standby状态。

此寄存器写1后进入running状态,开始输出图像或等待触发信号。

bool 只写 A imgacq
0x0404 Work Mode 0: 表示为视频流模式

1: 表示为普通触发模式,可设置触发间隔和触发数量。Rolling shutter的传感器两帧时序出一帧。

4: 多相机同步模式。

enum 读写 S workmode
0x0408 Trigger Source 获取/设置触发源,整形数据

0: 表示为软件触发

1: 表示为硬件触发

注意:只在触发模式1和2有效

enum 读写 S trgsrc
0x040C Trigger Number 触发模式,单次触发帧数(连续输出),bit[7:0]有效,范围: [1-255],默认值1 uint 读写 S trgnum
0x0410 Trigger Interval 正常触发模式下的触发间隔,单位为微秒。范围: [0-0xFFFFFF] uint 读写 S trginterval
0x0414 Trigger Software 写1表示软件触发 bool 只写 S trgone
0x0418 Trigger Count 触发器计数统计。

高16位表示触发器丢失数,低16位表示触发器总数。

写1清除计数。

uint 读写 S trgcount
0x041C I2C ADDR I2c 地址. 范围:[0x03,0x77]. uint 读写 A i2caddr
0x044C Non discontinuous mode mipi信号的discontinues模式,0为非连续,1为连续 bool 读写 - nondiscontinuousmode
0x0460 Slave mode GX系列的同步模式下生效。

同步模式下,相机的角色。

0: 主模式 Master

1: 从模式 Slave

bool 读写 S slavemode
0x0464 Sensor Frame Count 传感器输出的帧数。循环计数。 uint 只读 - framecount
0x0468 Out Frame Count 摄像机模块输出的帧数。循环计数。 uint 只读 - framecount
0x046C Min Trigger cycle 最小触发信号周期,以微秒(µs)为单位,0表示无效值。

在脉冲触发模式下,它表示前一个触发电平结束和下一个触发信号之间的最小间隔。

uint 只读 - trgcycle
0x0474 Day night mode 0: 彩色模式

1: 黑白模式

2: 外触发模式

int 读写 A daynightmode
0x0478 IRCUT dir ircut方向反转 bool 读写 A ircutdir
0x047C day night

trigger pin polarity

日夜触发引脚极性反转。默认低电平表示夜晚,此值设置1后,高电平表示夜晚。 bool 读写 A pinpolarity
0x0480 IRCUT Timer 是否启用IRCUT周期性控制;如启用则按照默认周期进行IRCUT控制,如不启用,则只在模式切换的时候做一次控制。 bool 读写 A ircuttimer

4 图像参数

寄存器地址 寄存器名称 描述 数据类型 读/写 更新时间 脚本函数
0x0800 Test Image Selector GX系列:

1 竖向彩条

uint 读写 A testimg
0x0804 Pixel Format 像素格式

bit0: Mono8

bit1: Mono10

bit2: Mono12

bit3: Mono14(预留)

bit4: UYVY

bit5: RGB888

bit6: Temp(温度传感器)

bit7: YUYV

enum 读写 S pixelformat
0x0808 Sensor Width sensor支持的最大宽度 uint 只读 - maxwh
0x080C Sensor Height sensor支持的最大高度 uint 只读 - maxwh
0x0810 MaxFrame Rate 当前模式支持的最大帧率。

寄存器值是帧速率的100倍。

uint 只读 - maxfps
0x0818 Current Width 当前宽度 uint 只读 - curwh
0x081C Current Height 当前高度 uint 只读 - curwh
0x0828 Image Direction 图像方向:

0: normal

1: mirror

2: flip

3: flip&mirror

enum 读写 A imgdir
0x082C VideoMode 对于使用VideoMode模式选择宽高帧率的相机,选择哪个模式,范围[0-7],对应能力集为VideomodeCap。 uint 读写 S videomode
0x0838 Read Mode 图像模式,取决于sensor是否支持。

0: normal模式。

1: 2x2binning模式。

2: subsampling模式。

uint 只读 - readmode
0x083C Lane Num 输出mipi信号的lan数目配置。

2: 2lane 默认值

4: 4lane

uint 只读 - lanenum
0x0840 MIPI Datarate mipi每一个lan的速率,kbps为单位 uint 只读 - mipidatarate
0x0844 Min Width 模组支持的最小宽度 uint 只读 - minwh
0x0848 Min Height 模组支持的最小高度 uint 只读 - minwh
0x084C Min Frame Rate 当前模式下支持的最小帧率的10000倍。 uint 只读 - minfps
0x0850 Framerate_EX 当前帧率的10000倍。在gx系列中Framerate不生效,只有此参数生效。 uint 读写 S fps

5 图像处理(ISP)

寄存器地址 寄存器名称 描述 数据类型 读/写 更新时间 脚本函数
0x0C04 Exposure Mode 曝光类型

0: 手动曝光

2: 自动曝光

enum 读写 A expmode
0x0C08 Target Brightness 自动曝光的目标亮度[0,255] uint 读写 A aetarget
0x0C0C AE Strategy 自动曝光策略:

0:亮区优先模式(高光优先)。

1:暗区优先模式(低光优先),也称之为背光补偿模式(Backlight Compensation)。

enum 读写 A aestrategy
0x0C10 ME Time 手动曝光时间 注1

range: 16到1000000(单位: 微秒)

uint 读写 A metime
0x0C14 AE MAX Time 自动最大曝光时间 注1

range: 16到1000000(单位: 微秒)

uint 读写 A aemaxtime
0x0C18 Exp Time 当前曝光时间 注1

range: 16到1000000(单位: 微秒)

uint 只读 R exptime
0x0C20 Manual Gain 手动增益值的10倍(dB),范围和步长根据型号不同。注2 uint 读写 A mgain
0x0C24 AG Max Gain 自动增益的最大值的10倍(dB)注2 uint 读写 A aemaxgain
0x0C28 Cur Gain 当前增益的10倍(dB)注2 uint 只读 R curgain
0x0C3C WB Mode 白平衡类型

0: 手动白平衡

2: 自动白平衡

enum 读写 A wbmode
0x0C40 AWB Color temp min 白平衡最小色温 [1000,15000](K) uint 读写 A awbcolortempmin
0x0C44 AWB Color temp max 白平衡最大色温 [1000,15000](K) uint 读写 A awbcolortempmax
0x0C48 MWB Rgain 手动白平衡 R增益[0,4095] uint 读写 A mwbrgain
0x0C4C MWB Bgain 手动白平衡 B增益[0,4095] uint 读写 A mwbbgain
0x0C50 Color Temp 当前色温(k) uint 只读 R colortemp
0x0C54 Cur Rgain 当前白平衡 R增益[0,4095] uint 只读 R currgain
0x0C58 Cur Bgain 当前白平衡 B增益[0,4095] uint 只读 R curbgain
0x0C5C AE Min Time 自动最小曝光时间

range: 16到1000000(单位: 微秒)

uint 读写 A aemintime
0x0C94 Anti flicker enable 是否使能antiflicker功能 bool 读写 A antiflicker
0x0C98 Anti flicker Freq Antiflicker freq频率 uint 读写 A antiflicker
0x0C9C WDR Option WDR功能选择

0: 关闭WDR

1: 数字宽动态(Digital WDR)

2: DOL WDR

3: Clear WDR

bool 读写 A wdrparam
0x0CA0 WDR strength WDR强度[0-255] uint 读写 A wdrparam
0x0CA4 Sharppen strength 锐化强度[0-255] uint 读写 A sharppen
0x0CA8 2D denoise strength 2D降噪强度[0-255] uint 读写 A denoise2d
0x0CAC 3D denoise strength 3D降噪强度[0-255] uint 读写 A denoise3d
0x0CB0 Saturation 饱和度[0-100] uint 读写 A saturation
0x0CB4 Contrast 对比度[0-100] uint 读写 A contrast
0x0CB8 Hue 色度[0-100] uint 读写 A hue
0x0CBC Slow Shutter 自动降帧功能是否打开。仅在自动曝光模式+视频流模式下生效。对应Aemode是固定帧率模式还是自动降帧模式。

注5

bool 读写 A slowshutter
0x0CC0 Slow Shutter GainTh 开始自动降帧的增益阈值。0.1dB为单位。 uint 读写 A slowshutter
0x0CC4 Lens Distortion Correction 镜头畸变校正[0-255],简称LDC,0表示关闭。

注4

uint 读写 S ldc
0x0CCC Dehaze strength 去雾强度[0-255] uint 读写 A dehaze
0x0CD0 Gamma Selection GX系列预设gamma选项,不同的数值代表不同的gamma选项:

0: 关闭gamma,也即线性格式。

1: 默认gamma。

2: gamma_1.6

3: gamma_1.8

4: gamma_2.0

5: gamma_2.2

6: 风格1

7: 风格2

8: 风格3

9: 风格4

10: 风格5

11:风格6

12: 用户自定义gamma(TODO)

uint 读写 A gamma_index
0x0CD4 DRC strength 数字宽动态。范围[0-255],0表示关闭。 uint 读写 A drc

注1:所有曝光时间参数均以微秒为单位。但是,由于传感器的特性,传感器的实际曝光时间单位是1行,不能精确到1us。

注2:对于所有与增益相关的参数,寄存器值为dB数的10倍。例如,如果寄存器为101,则表示10.1dB。范围和步长因型号而异。

注3: AE:自动曝光;AA: AE。

注4:该功能设置参数一定要在相机采集图像之前设置才会有效。

注5:该功能使用时,需要最大曝光时间配合使用,比如aemaxtime=1000000(us),然后再设置slowshutter使能和降帧增益阈值。

6 IO控制

寄存器地址 寄存器名称 描述 数据类型 读/写 更新时间 脚本函数
0x1000 Trigger Delay 触发延时,软硬触发均生效。

range: 0到1000000(单位: 微秒)

uint 读写 S trgdelay
0x1004 Trigger Edge 0: 上升沿触发

1: 下降沿触发

uint 读写 S trgedge
0x1010 Exposure Delay 曝光延迟,即提前开启Strobe信号的时间

range: 0到1000000(单位: 微秒)

uint 读写 S trgexp_delay
0x1020 GPIO1_OutSelect [2:0]

000: Strobe

001: UserOut

010: TriggerWait,等待trigger信号中,busy信号的反状态。(GX系列支持)

others: 保留

uint 读写 A outio1_mode
0x1028 GPIO1 Reverse 当前输出信号取反 bool 读写 A outio1_rvs

7 特殊块存储区

0x1800-0x37FF : lut 区域.