OV Image Sensor的Analog Gain设置的2种方式

对于OV Image Sensor的Analog Gain设置大体上分为2种方式,一种采用连续方式,另一种采用离散方式,本文以OS08A10和OV2710为例来进行介绍。

1.连续方式

以OS08A10为例,OS08A10可以选择采用连续,也可以选择采用离散方式,这里主要关注它的连续方式。

连续/离散在这里选择,real gain即表示真实增益,sensor gain即表示离散方式设置增益。采用连续方式要将0x3503[2]设置为0。

 从图中可以看出,采用连续方式时Long Gain[12:0]共13 bits,其中Long Gain[12:7]表示整数(共6位),Long Gain[6:0]表示小数(共7位),因此,real_gain=Long Gain[12:0]/128,其可以表示的增益最小值为:0,最大值为:8191(0x1fff)/128=63.99倍。

2.离散方式

虽然OS08A10也可以采用离散方式进行增益的设置,但其离散增益的设置并不是清晰明了(无公式说明),我们以OV2710为例进行考察。

 从图中可以看出,OV2710的Gain采用0x350A,0x350B 2个寄存器进行设置,

Gain=(0x350A[0]+1)*(0x350B[7]+1)*(0x350B[6]+1)*(0x350B[5]+1)*(0x350B[4]+1)*(0x350B[3:0]/16+1)

如果粗调按最小值进行设置(如:0b0000,0b00001,0b00011),也可以表示为

Gain=((0x350A[0],0x350B[7:4])+1)*(0x350B[3:0]/16+1)

其增益设置采用{0x350A[0],0x350B[7:4]}中"1"的个数n表示粗调,粗调值C=2^n,采用0x350B[3:0]的码值代表细调,细调值F=0x350B[3:0]/16+1,步长为:1/16=0.0625。其可以表示的增益最小值为:1,最大值为:2^5*(15/16+1)=62倍。

如:

{0x350A,0x350B}={0x00,0x27}时,表示放大2*(7/16+1)=2*1.4375=2.875倍

需要注意的是,OV2710的增益设置包含了模拟增益(16x)和数字增益(4x),如上图。

回到OS08A10的离散增益方式也是类似的,Gain[12:8]表示粗调,Gain[6:3]表示细调,

Gain=(0x3508[4]+1)*(0x3508[3]+1)*(0x3508[2]+1)*(0x3508[1]+1)*(0x3508[0]+1)*(0x3509[6:3]/16+1)

寄存器设置参考伪代码:

Temp1 = gain;

if (Temp1 > 2) {
    Temp1 = Temp1 / 2;
    Temp2 = 0x10;
}
if (Temp1 > 2) {
    Temp1 = Temp1 / 2;
    Temp2 = Temp2 | 0x20;
}
if (Temp1 > 2) {
    Temp1 = Temp1 / 2;
    Temp2 = Temp2 | 0x40;
}
if (Temp1 > 2) { 
    Temp1 = Temp1 / 2;
    Temp2 = Temp2 | 0x80;
}

Temp3 = Temp2 | (Temp1 * 16 - 16);

3.总结

本文介绍了OV的2种设置模拟增益的2种设置方式,使用过程中可根据实际使用场景选择合适的增益设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值