本讲是Camera Sensor驱动专题的第16讲,我们介绍Camera Sensor点亮之 EEPROM配置详解。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
什么是 OTP
OTP:One Time Programming
主要用于校准不同sensor/模组之间的差异,记录模组基本信息,AF,AWB,LSC,PDAF 等基本信息,Tuning工程师利用这些数据来调试图像效果,保障不同设备出来的图像效果一致性。
Camera EEPROM XML 配置
eeprom/cat24c64_imx586_eeprom.xml
项目 | 内容 | 备注 |
---|---|---|
<slaveInfo> |
||
EEPROMName | cat24c64_imx585 | eeprom型_sensor名字 |
slaveAddress | 0xa0 | i2c write address |
regAddrType | 2 | 地址类型 |
regDataType | 1 | 数据类型 |
i2cFrequencyMode | FAST | i2c 操作频率(400KHz) |
<powerUpsequence> |
||
configType | VANA/VDIG/VIO | 上电控制节点 |
configValue | 0 | 电压/电平/时钟状态 |
delayMs | 0 | 延时 |
… | ||
</powerUpsequence> |
||
<powerDownSequence> |
||
configType | VANA/VDIG/VIO | 下电控制节点 |
configValue | 0 | 电压/电平/时钟状态 |
delayMs | 0 | 延时 |
… | ||
</powerDownSequence> |
||
</slaveInfo> |
||
<memoryMap> |
||
<regSetting> |
||
slaveAddr | 0xa0 | i2c write address |
registerAddr | 0x0000 | 寄存器地址 |
registerData | 0x1fa3 | 读出长度,单位字节 |
regAddrType | 2 | 地址是2byte |
regDataType | 1 | 数据是1byte |
operation | READ | 读操作 |
delayUs | 0 | 延迟微妙 |
</regSetting> |
||
</memoryMap> |
||
<formatInfo> |
||
<AF> |
||
<autoFocusData> |
||
isAvailable | true | 是否解析AF数据 |
endianness | BIG/LITTLE | 大小端 |
</autoFocusData> |
||
<macro> |
近焦点 | |
offset | 0x002D | 偏移地址 |
mask | 0xFFFF | 有效bit |
</macro> |
||
<infinity> |
远焦点 | |
offset | 0x0031 | 偏移地址 |
mask | 0xFFFF | 有效bit |
</infinity> |
||
<hall> |
||
offset | 0 | |
mask | 0 | |
</hall> |
||
<hallBias> |
||
offset | 0 | |
mask | 0 | |
</hallBias> |
||
<verticalMacro> |
垂直方向近焦 | |
offset | 0 | 无效 |
mask | 0 | 无效 |
</verticalMacro> |
||
<verticalInfinity> |
垂直方向远焦 | |
offset | 0 | 无效 |
mask | 0 | 无效 |
</verticalInfinity> |
||
<horizontalMacro> |
水平方向近焦 | |
offset | 0 | 无效 |
mask | 0 | 无效 |
</horizontalMacro> |
||
<horizontalInfinity> |
水平方向远焦 | |
offset | 0 | 偏移地址 |
mask | 0 | 有效位 |
</horizontalInfinity> |
||
macroMargin | 0.5 | tuning 决定 |
infinityMargin | -0.4 | tuning 决定 |
lensSagCalMac | DEFAULT/DEG0_OTP/DEG180_OTP | 近焦姿势差补偿 |
lensSagCalInf | DEFAULT/DEG0_OTP/DEG180_OTP | 远焦姿势差补偿 |
<otpGravityOfs0to90> |
face up | |
offset | 0x003F | 偏移地址 |
mask | 0xFFFF | 2字节 |
</otpGravityOfs0to90> |
||
<otpGravityOfs90to180> |
face down | |
offset | 0x003D | 偏移地址 |
mask | 0xFFFF | 2字节 |
</otpGravityOfs90to18> |
||
avgGravityOfs0to90 | 0 | |
avgGravityOfs90to180 | 0 | |
</AF> |
||
<WB> |
AWB校准参数 | |
<WBData> |
||
isAvailable | true/false | 是否有效 |
endianness | BIG/LITTLE | 大小端 |
</WBData> |
||
datatype | RATIO/INDIVIDUAL | 数据格式 |
<lightInfo> |
||
illuminantType | D65/TL84/A/D50/H | 色温 |
<rValue> |
||
offset | 0 | 偏移地址 |
mask | 0 | 有效位 |
</rValue> |
||
<grValue> |
||
offset | 0 | 偏移地址 |
mask | 0 | 有效位 |
</grValue> |
||
<bValue> |
||
offset | 0 | 偏移地址 |
mask | 0 | 有效位 |
</bValue> |
||
<gbValue> |
||
offset | 0 | 偏移地址 |
mask | 0 | 有效位 |
</gbValue> |
||
<rOverGValue> |
||
offset | 0x004B | 偏移地址 |
mask | 0xFFFF | 2字节 |
</rOverGValue> |
||
<bOverGValue> |
||
offset | 0x004D | 偏移地址 |
mask | 0xFFFF | 2字节 |
</bOverGValue> |
||
<grOverGBValue> |
||
offset | 0x004F | 偏移地址 |
mask | 0xFFFF | 2字节 |
</grOverGBValue> |
||
</lightInfo> |
||
<mirror> |
左右镜像 | |
offset | 0 | |
mask | 0 | |
</mirror> |
s | |
<flip> |
上下镜像 | |
offset | 0 | 偏移地址 |
mask | 0 | 有效位 |
</flip> |
||
qValue | 1024 | 固定值,高通定义 |
isInvertGROverGB | TRUE | |
</WB> |
||
<LSC> |
||
<LSCData> |
||
isAvailable | true | 是否有效 |
endianness | BIG | 大小端 |
</LSCData> |
||
<lightInfo> |
||
illuminantType | D65 | 色温 |
<rGainMSB> |
r通道高8位 | |
offset | 0x0065 | |
mask | 0xFF | |
</rGainMSB> |
||
<rGainLSB> |
r通道低8位 | |
offset | 0x0066 | |
mask | 0xFF | |
</rGainLSB> |
||
<grGainMSB> |
gr通道高8位 | |
offset | 0x0067 | |
mask | 0xFF | |
</grGainMSB> |
||
<grGainLSB> |
gr通道低8位 | |
offset | 0x0068 | |
mask | 0xFF | |
</grGainLSB> |
||
<gbGainMSB> |
gb通道高8位 | |
offset | 0x0069 | |
mask | 0xFF | |
</gbGainMSB> |
||
<gbGainLSB> |
gb通道低8位 | |
offset | 0x006a | |
mask | 0xFF | |
</gbGainLSB> |
||
<bGainMSB> |
b通道高8位 | |
offset | 0x006b | |
mask | 0xFF | |
</bGainMSB> |
||
<bGainLSB> |
b通道低8位 | |
offset | 0x006c | |
mask | 0xFF | |
</bGainLSB> |
||
</lightInfo> |
||
meshHWRollOffSize | 221(17×13) | 高通标准,221块 |
rIncrement | 8 | 相同通道地址间隔 |
grIncrement | 8 | 相同通道地址间隔 |
gbIncrement | 8 | 相同通道地址间隔 |
bIncrement | 8 | 相同通道地址间隔 |
</LSC> |
||
<customInfo> |
自定义数据 | |
name | / | |
value | / | |
</customInfo> |
Camera EEPROM 检查
-
Enable dump eeprom data
echo “dumpSensorEEPROMData=TRUE” >> /vendor/etc/camera/camxoverridesettings.txt
-
Open Camera
-
Check /data/vendor/camera/
ov48b2q_kbuffer_OTP.txt ov48b2q_autofocus_OTP.txt ov48b2q_wb_OTP.txt
ov48b2q_lsc_OTP.txt