Nicolas Lee 软件折腾工程师

从零开始做模组厂案子


以下部分是关于OTP项目部分的工作流程

OTP烧录的内容

Basic Information(也叫Module Information)

Flag:Basic Info的标志位,标志此组数据是否烧录,是否有效
Module ID:(也叫Module Vendor)写入模组厂家的ID,比如:0x01索尼,0x42合力泰
YMD:写入进行烧录的日期
Lens ID:写入厂家的ID,比如:0x13(舜宇3907C)
DriverIC ID:写入Driver芯片厂家的ID,比如:0x19(DW9763)
VCM ID:写入VCM厂家的ID,比如:0x25(皓泽A28D103)
EEPROGRAM ID:写入EEPROGRAM厂家的ID,比如:0x19(DW9763)
ColorTemperature:写入色温标志位,比如:0x01:5100K
Checksum:总和检验码,以上烧录内容(不包括flag)相加求余,用来保证数据的完整性和准确性. 
Reserved:预留位,通常不烧录或者烧录0x00
以上具体需要烧录哪些内容由客户指定

AWB

烧录前模组状态:调整Sensor mini Gain为1x,关闭Mirror/Flip功能,通过G通道调整曝光到115~135之间,然后获取Raw图进行计算。
管控标准:
    WB 加载前:
    |(R/G_Current)/(R/G_Golden)-1| < 8%
    |(B/G_Current)/(B/G_Golden)-1| < 8%
模组 LSC 校正以及加载后:
    |(R/G_Current)/(R/G_Golden)-1| < 5%
    |(B/G_Current)/(B/G_Golden)-1| < 5%
Flag:同Basic Info
R/Gr:(R_roi_ave-OB)/(Gr_roi_ave-OB),模组拍摄特定色温(比如3100K)白光时R分量的平均值与Gr分量的平均值的比值。ROI指当前模组中心区域(1/5width*1/5height)。就是OB就是Optical Black(也叫Black Level Control)。
B/Gr:(B_roi_ave-OB))/(Gr_roi_ave-OB),模组拍摄特定色温(比如3100K)白光时B分量的平均值与Gr分量的平均值的比值
Gb/Gr:(Gb_roi_ave-OB)/(Gr_roi_ave-OB),模组拍摄特定色温(比如3100K)白光时Gb分量的平均值与Gr分量的平均值的比值
Golden (R_roi_ave-OB)/(Gr_roi_ave-OB):Golden标准品模组拍摄特定色温(比如3100K)白光时R分量的平均值与Gr分量的平均值的比值
Golden (B_roi_ave-OB)/(Gr_roi_ave-OB):Golden标准品模组拍摄特定色温(比如3100K)白光时B分量的平均值与Gr分量的平均值的比值
Golden (Gb_roi_ave-OB)/(Gr_roi_ave-OB):Golden标准品模组拍摄特定色温(比如3100K)白光时Gb分量的平均值与Gr分量的比值
WB_Unit_R_Value:当前模组中心块ROI均值R
WB_Unit_Gr_Value:当前模组中心块ROI均值Gr
WB_Unit_Gb_Value:当前模组中心块ROI均值Gb
WB_Unit_B_Value:当前模组中心块ROI均值B
WB_Golden_R_Value:Golden标准品模组中心块ROI均值R
WB_Golden_Gr_Value:Golden标准品当前模组中心块ROI均值Gr
WB_Golden_Gb_Value:Golden标准品当前模组中心块ROI均值Gb
WB_Golden_B_Value:Golden标准品当前模组中心块ROI均值B
以上值在烧录时,还需要乘一个Convert float to integer(浮点转整数)的比例系数,如果OTP Guide里没有指明,则默认值为1023
Checksum:同Basic Info
Reserved:同Basic Info

LSC

烧录前模组状态:调整Sensor的mini Gain(调试端叫mini,也就是digital*analog gain)为1x,关闭Mirror/Flip/Shading功能,通过G通道调整曝光到115~135之间,然后获取Raw图导入要求的校正工具,把工具生成的Setting存入相应的OTP地址。

Shading

Lens Shading管控标准:
    ROI = 1/5 Width * 1/5 Height
    YShading_Corner/YShading_Center:需要在60%~75%之间
    Ydiffer=(YShading_Corner/YShading_Center)_Max-(YShading_Corner/YShading_Center)_Min≤5%
Color Shading管控标准:
    ROI = 1/12 Width * 1/10 Height(120个block)
    |(R/G_Corner)/(R/G_Cen)-1| < 5%
    |(B/G_Corner)/(B/G_Cen)-1| < 5%
加载SRAM Shading效果
    Initial Setting:初始化时需要shading off(比如:三星sensor 0x3300 0x01)
    Streaming On
    Load SRAM Data
    Shading On(比如:三星sensor 0x3300 0x00)
加载OTP Shading效果
    Initial Setting:初始化时需要shading off(比如:三星sensor 0x3300 0x01)
    Streaming On
    OTP enable(比如:三星sensor 0x3A00 0x01)
    Shading On(比如:三星sensor 0x3300 0x00)

AF

AF Inf:远景最清晰Code值(也叫DAC值)
AF Marco:近景最清晰Code值
AF Start:起始Code值(也就是能驱动VCM移动的最小DAC值)
有时以上3种Code还会细分为3个方向(垂直向上,垂直向下,水平方向)进行烧录。区别只是模组放置的方向不同。

PDAF

OTP需要跟客户确认的内容 1. LSC工具使用哪个平台

一般是高通、MTK、和Sensor

2. LSC工具使用哪个版本

需要跟客户沟通确认。

3. AWB和LSC是否从工具文件里获取

需要跟客户沟通确认。

4. Shading测试使用多少个框

一般是5、14、49个框

5. OTP Map和Guide

一般Guide和Map由模组厂负责案子的人来完成。

6. DriverIC是什么型号

提供资料验证驱动马达功能

7. 代码中的AWB_FACTOR如何确定值

在代码中有个AWB_FACTOR的值需要确认,如下:

enum normal
{
    ...
    AWB_FACTOR = 1023, // OTP Guide中的 Convert float to integer , 如果没有就默认1023
    ...
};

通常在OTP Guide里会有AWB浮点转整形的因子示例(如果Guide里没有的话,默认值为1023),如下图:

image

8. 高通OTP项目代码中的QUALLSCCOMPRESS如何确定值

代码中有个QUALLSCCOMPRESS的值需要确认,如下:

enum normal
{
    ...
    QUALLSCCOMPRESS = 0,//0 1768bytes  1 1105 bytes  only for qual lsc
};

在OTP Map中看LSC需要烧录的总字节数就可以知道,如下图:

image

以下部分是关于PDAF项目部分的工作流程

1. PDAF工具使用哪个平台

一般是高通、MTK、Sony

2. PDAF工具使用哪个版本

高通目前有L1、L2、L3、L4、L5、L6版本

MTK目前有…

Sony目前有…


上一篇 孙盛希

Content