第16讲 Camera Sensor EEPROM配置详解

本讲是Camera Sensor驱动专题的第16讲,我们介绍Camera Sensor点亮之 EEPROM配置详解。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera
星球ID: 17296815
Wechat 极客笔记圈

什么是 OTP

OTP:One Time Programming

主要用于校准不同sensor/模组之间的差异,记录模组基本信息,AF,AWB,LSC,PDAF 等基本信息,Tuning工程师利用这些数据来调试图像效果,保障不同设备出来的图像效果一致性。

Camera EEPROM XML 配置

Camera Sensor点亮之 EEPROM配置详解

eeprom/cat24c64_imx586_eeprom.xml

Camera Sensor点亮之 EEPROM配置详解

Camera Sensor点亮之 EEPROM配置详解

项目 内容 备注
<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 检查

  1. Enable dump eeprom data
    echo “dumpSensorEEPROMData=TRUE” >> /vendor/etc/camera/camxoverridesettings.txt

  2. Open Camera

  3. Check /data/vendor/camera/

ov48b2q_kbuffer_OTP.txt ov48b2q_autofocus_OTP.txt ov48b2q_wb_OTP.txt
ov48b2q_lsc_OTP.txt

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程