1测试环境:
平台 TI DM8127, 相机画面为纯白色,补光灯为常亮灯。
2问题:
随着快门递增(imx291 SHS1递减),亮度值应该是线性增长的,但是实际测试发现是以下情况
|(亮度) 。
| 。 。
| 。 。
| 。
|-。—————————————-快门(us)
(图1)
非现象,随着快门增大,亮度却下降了,有一小段是这样,快门超过某个值之后就正常了。不能粘图片就画了简单示意图
快门单位为us. 计算公式为
reg_tmp = exposure time*1350/(max shutter time);
reg = 1350 – reg_tmp;
4-wire addr data
0x220 wirte reg>>16
0x221 write (reg>>8)&0x00FF
0x222 wirte reg&0xFF
max shutter time: 40000 us (25fps)
exposure time 0 – 40000 us
3 测试
测试单独写 SHS1, 情况与图1一样
由此图看出 SHS1与亮度也是非线性关系
[shutter_reg_20180108-18%3A23%3A21_寄存器写入测试.csv 第一列增益 第二列SHS1寄存器写入值 第三列亮度值]
单独测试raw RGB R均值,亮度值
测试结果与图1一致
Raw原始图没有做过gamma校正 所以成直线状态。
4 ISP参数查看文档
20180111 – YY291与0230 ISP参数对比.docx
测试过ar0230快门、亮度关系符合预期,如下
|(亮度) 。
| 。
| 。
| 。
|-。—————————————-快门(us)
5寄存器测试
1) VMax = 1125, HMax = 14A0h
2) 时钟 74.25/37.125
以上两种情况都测试过,问题依旧。
Imx291寄存器配置(spi)
#if 1
#define TEST_291 0
// full 1080p
#define IMX291_FRSEL 0x02
#if TEST_291
#define IMX291_VMAX_LOW 0x46//0x65
#else
#define IMX291_VMAX_LOW 0x46//0x65
#endif
#define IMX291_VMAX_HIGH 0x05//0x04
#define IMX291_HMAX_LOW 0x30
#define IMX291_HMAX_HIGH 0x11
// IMX291
const unsigned short IMX291_SETTING[]={
0x0203, 0x1,
0x0200, 0x1,
0x0201, 0x0,
0x0202, 0x01, //0x0, master stop
0x0203, 0x0,
0x0204, 0x10,
//0x0205, 0x00, // 10bit
0x0205, 0x01, // 00-10bit,01-12bit
0x0206, 0x0,
0x0207, 0x00, //full 1080P
0x0208, 0xA0,
0x0209, IMX291_FRSEL, //frame rate 1-60fps, 2-30fps
0x020a, 0xf0,
0x020b, 0x00,
0x020c, 0x0,
0x020d, 0x00,
0x020e, 0x01,
0x020f, 0x00,
0x0210, 0x01,
0x0211, 0x0,
0x0212, 0xf0,
0x0213, 0x00,
0x0214, 0x0,
0x0215, 0x0,
0x0216, 0x09,
0x0217, 0x00,
0x0218, IMX291_VMAX_LOW, //0x65
0x0219, IMX291_VMAX_HIGH, //0x04
0x021a, 0x0,
0x021b, 0x00, //IMX136_HMAX_LOW,//0x021b,0x30,
0x021c, IMX291_HMAX_LOW, //0x021c,0x11,
0x021d, IMX291_HMAX_HIGH, //0x26,
0x021e, 0xb2, //0x2,
0x021f, 0x01,
0x0220, 0x0,
0x0221, 0x0,
0x0222, 0x0,
0x0223, 0x0,
0x0224, 0x0,
0x0225, 0x0,
0x0226, 0x0,
0x0227, 0x0,
0x0228, 0x0,
0x0229, 0x0,
0x022a, 0x0,
0x022b, 0x0,
0x022c, 0x0,
0x022d, 0x0,
0x022e, 0x0,
0x022f, 0x0,
0x0230, 0x0,
0x0231, 0x0,
0x0232, 0x0,
0x0233, 0x0,
0x0234, 0x0,
0x0235, 0x0,
0x0236, 0x0,
0x0237, 0x0,
0x0238, 0x00, //0x3c,
0x0239, 0x0,
0x023a, 0x0c, //0x50,
0x023b, 0x00, //0x04,
0x023c, 0x0,
0x023d, 0x0,
0x023e, 0x49, //0x9c,
0x023f, 0x04, //0x07,
0x0240, 0x00,
0x0241, 0x00,
0x0242, 0x9c,
0x0243, 0x07,
0x0244, 0x00, // 并口输出
0x0246, 0x01, //0x00 10bit, // 并口输出 12bit
//0x0246, 0x00, //0x00, // 10bit
0x0247, 0x01, //0x08,
#if TEST_291
0x0248, 0x30, //0x00, //0x13,//change by xmx for test 2016.12.19
0x0249, 0x30, //0x0a,
#else
0x0248, 0x00,
0x0249, 0x00, //0x0a,
#endif
0x024a, 0x00,
0x024b, 0x0a, //0x00,
0x025c, 0x18, //0x2c,//0x20,
0x025d, 0x00, //0x10, //0x06,
0x025e, 0x20, //0x2c,//0x30,
0x025f, 0x01, //0x10,//0x04,
0x0270, 0x02, //0x1,
0x0271, 0x11,
0x02a6, 0x20,
0x02a7, 0x0,
0x02a8, 0x20,
0x02a9, 0x00,//0x10,
0x02aa, 0x20,
0x02ab, 0x00,//0x10,
0x02ac, 0x20,
0x030b, 0x00,
0x0319, 0x9e, //0x2,
//0x031d,0x8,
0x031e, 0x08,//0x3,
0x0328, 0x05,
0x0334, 0x0f,//0x6,
//0x0339, 0x0,
0x033b, 0x50,
0x033c, 0x41,
0x033d, 0x83,
0x035e, 0x1a, //0x0, 设置INCK hz 37.125HZ
0x0364, 0x1a, //0x0,
0x037c, 0x00,
0x037d, 0x00, //0xc,
//0x037e, 0x0,
0x037f, 0x0,
0x04b8, 0x50, //0x05,
0x04b9, 0x10, //0xa5,
0x04ba, 0x00, //0x51,
0x04bb, 0x04, //0x13,
0x04c8, 0x50, //0x31,
0x04c9, 0x10, //0x13,
0x04ca, 0x00,
0x04cb, 0x04, //0x46,
0x052c, 0xd3,
0x052d, 0x10,
0x052e, 0x0d,
0x0558, 0x06,
0x0559, 0xe1,
0x055a, 0x11,
0x0560, 0x1e,
0x0561, 0x61,
0x0562, 0x10,
0x05b0, 0x08,
0x05b1, 0x30,
0x05b2, 0x00,
0x05b3, 0x04,
0x0605, 0x20,
0x0606, 0x00,
0x0607, 0x03,
0x0614, 0x0a,
0x0618, 0x49,
0x0619, 0x04,
0x062c, 0x47,
0x062d, 0x00,
0x0630, 0x0f,
0x0631, 0x00,
0x0641, 0x0c,
0x0642, 0x0c,
0x0643, 0x03,
0x0644, 0x20, //0x40,
0x0645, 0x25, //0x4a,
0x0646, 0x47,
0x0647, 0x00,
0x0648, 0x1f,
0x0649, 0x00,
0x064a, 0x17,
0x064b, 0x00,
0x064c, 0x0f,
0x064d, 0x00,
0x064e, 0x17,
0x064f, 0x00,
0x0650, 0x47,
0x0651, 0x00,
0x0652, 0x0f,
0x0653, 0x00,
0x0654, 0x0f,
0x0655, 0x00,
0x0672, 0x9c,
0x0673, 0x07,
//0x0201, 0x1,//lock the sensor
};
#define IMX291_REG_COUNT sizeof(IMX291_SETTING)/sizeof(short)
#endif
Chris Meng:
你好,
问题看起来和sensor关系较大,建议联系sensor厂商咨询。