Gx Series MIPI Camera Register Map/zh
GX系列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 更新时间
摄像机有两种状态,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 区域.