大家好:
我现在用DM368配 IMX122 Sensor,接口是SPI。 白天图像都正常,效果很好。但是当晚上室内关灯的时候, drv\usermod\src\imgs_IMX122 目录下的 drv_imgs_IMX122_2_3MP.c 这个文件的
int DRV_imgsSetAgain(int again, int setRegDirect)
{
/*
0 dB to 24 dB nalog Gain 24 dB (step pitch 0.3 dB)
24.3 dB to 42 dB nalog Gain 24 dB + Digital Gain 0.3 to 18 dB (step pitch 0.3 dB)
*/
float gain_times;
double gain_db;
unsigned int gain_reg;
if (again <= 1000) again = 1000;
if (again >= 125000) again = 125000;
gain_times = again / 1000.0;
gain_db = 20.0 * log10(gain_times);
gain_reg = (unsigned char) (gain_db / 0.3 + 0.5); //for 0.3db/step
imx122_setgio(0x021E,(gain_reg&0xff));
//#ifdef AEWB_DEBUG
OSA_printf("gain value:%d,again:%d,gain_db:%f,gain_times:%f\n",gain_reg,again,gain_db,gain_times);
//#endif
return 0;
}, 一旦当 gain_reg 大于 18 的时候, 图像就一片黑, 然后开灯, 发现图像还是黑, 无法恢复。 看IMX122的datasheet, 这个寄存是0X1E, gain_reg最大值可以设置到140, 对应的db 是42db, 可是我这边发现当gain_reg 大于80 的时候,图像永久黑屏,但是我们图像上的OSD 时间还在继续跑。
请问,这个是什么问题呢? 是否AE算法越界?
谢谢