qingchapp 发表于 2017-8-16 09:54:07

stm32f407驱动GC0308摄像头

各位请教一下
      我用STM32F407驱动GC0308摄像头,摄像头3.3V供电,XCLK时钟用单片机产生8M,现在能读出厂家ID,但是配置寄存器时,
总有几个写不正确,硬件IIC和软件模拟都试过。
求指教。

qingchapp 发表于 2017-8-16 14:27:37

附件里是摄像头芯片的datasheet

qingchapp 发表于 2017-8-16 14:15:07

本帖最后由 qingchapp 于 2017-8-16 14:22 编辑

看了一下,写不进去的寄存器不是关键寄存器,现在想请教一下寄存器的配置,除了注意显示窗口的大小和屏一致,输出设为RGB565格式,还有哪些需要注意的地方,以下是我寄存器的配置。(前面是寄存器,后面是要写入的值)0xfe, 0x00,
0xd2, 0x10,
0x22, 0x55,
0x5a, 0x56,
0x5b, 0x40,//AWB_G_gain
0x5c, 0x4a,//AWB_B_gain
0x22, 0x57,// Open AWB
0x01, 0xfa,
0x02, 0x70,
0x0f, 0x01,//Hb( {0x0f, 0x01}),Vb( {0x0f , 0x02}
0x03, 0x01,
0x04, 0x2c,
0xe2, 0x00,   //anti-flicker step
0xe3, 0x64,   //anti-flicker step
0xe4, 0x02,   //exp level 116.67fps??
0xe5, 0x58,
0xe6, 0x03,
0xe7, 0x20,
0xe8, 0x04,
0xe9, 0xb0,
0xea, 0x09,
0xeb, 0xc4,
0x05, 0x00,
0x06, 0x00,
0x07, 0x00,
0x08, 0x00,//Column start
0x09, 0x01,//Window height,VGA ?480,0x09 ?0x0a ???
0x0a, 0xe8,//Window height
0x0b, 0x02,//Window widthVGA ?640,0x0b ?0x0c ???
0x0c, 0x88,//Window width
0x0d, 0x02,
0x0e, 0x02,
0x0e, 0x02,
      0x10, 0x22,
      0x11, 0xfd,
      0x12, 0x2a,//Sh_delay -> ????0x12 ?
      0x13, 0x00,
      0x14, 0x10,//???????,???
      0x15, 0x0a,
      0x16, 0x05,
      0x17, 0x01,
      0x18, 0x44,
      0x19, 0x44,
      0x1a, 0x1e,
      0x1b, 0x00,
      0x1c, 0xc1,
      0x1d, 0x08,
      0x1e, 0x60,
      0x1f, 0x16,

      
      0x20, 0xff,
      0x21, 0xf8,//Y Gamma_en 0x21
      0x22, 0x57,//AWB enable 0x22
      0x24, 0xa6,//
      0x25, 0x0f,//
                                 
      //output sync_mode      
      0x26, 0x03,//
      0x2f, 0x01,
      0x30, 0xf7,
      0x31, 0x50,
      0x32, 0x00,
      0x39, 0x04,
      0x3a, 0x18,
      0x3b, 0x20,
      0x3c, 0x00,
      0x3d, 0x00,
      0x3e, 0x00,
      0x3f, 0x00,
      0x50, 0x10,
      0x53, 0x82,
      0x54, 0x80,
      0x55, 0x80,
      0x56, 0x82,
      0x8b, 0x40,//???b2 ???,???Red ??
      0x8c, 0x40,//???b2 ???,???green ??
      0x8d, 0x40,//???b2 ???,???blue ?
      0x8e, 0x2e,
      0x8f, 0x2e,
      0x90, 0x2e,
      0x91, 0x3c,//The row center of lens shading. x4
      0x92, 0x50,//The column center of lens shading. x4
      0x5d, 0x12,
      0x5e, 0x1a,
      0x5f, 0x24,
      0x60, 0x07,
      0x61, 0x15,
      0x62, 0x08,
      0x64, 0x03,
      0x66, 0xe5,
      0x67, 0x86,
      0x68, 0x82,
      0x69, 0x18,
      0x6a, 0x0f,
      0x6b, 0x00,
      0x6c, 0x5f,
      0x6d, 0x8f,
      0x6e, 0x55,//ASDE_auto_EE1_effect_start0x6e,
      0x6f, 0x38,//ASDE_auto_EE2_effect_start0x6f
      0x70, 0x15,
      0x71, 0x33,
      0x72, 0xdc,
      0x73, 0x80,
      0x74, 0x02,
      0x75, 0x3f,
      0x76, 0x02,
      0x77, 0x36,//0x77 -- Edge1_effect,0x77 -- Edge2_effect
      0x78, 0x88,
      0x79, 0x81,
      0x7a, 0x81,
      0x7b, 0x22,
      0x7c, 0xff,
      0x93, 0x48,//CC Matrix C11
      0x94, 0x00,//CC Matrix C12
      0x95, 0x05,//CC Matrix C13
      0x96, 0xe8,//CC Matrix C21
      0x97, 0x40,//CC Matrix C22
      0x98, 0xf0,//CC Matrix C23
      0xb1, 0x38,
      0xb2, 0x38,
      0xbd, 0x38,
      0xbe, 0x36,
      0xd0, 0xc9,
      0xd1, 0x10,//AEC ???????
      //0xd2, 0x90//??AEC ??
      0xd3, 0x80,//AEC ?????
      0xd5, 0xf2,
      0xd6, 0x16,
      0xdb, 0x92,
      0xdc, 0xa5,
      0xdf, 0x23,
      0xd9, 0x00,
      0xda, 0x00,
      0xe0, 0x09,
      0xec, 0x20,//
      0xed, 0x04,//
      0xee, 0xa0,//Post gain limit
      0xef, 0x40,//Pre gain limit
      0x80, 0x03,
      0x80, 0x03,
      0x9F, 0x10,//0x9f~0xaf -- The 17 points of RGB gamma curve.
      0xA0, 0x20,
      0xA1, 0x38,
      0xA2, 0x4E,
      0xA3, 0x63,
      0xA4, 0x76,
      0xA5, 0x87,
      0xA6, 0xA2,
      0xA7, 0xB8,
      0xA8, 0xCA,
      0xA9, 0xD8,
      0xAA, 0xE3,
      0xAB, 0xEB,
      0xAC, 0xF0,
      0xAD, 0xF8,
      0xAE, 0xFD,
      0xAF, 0xFF,
      0xc0, 0x00,//0xc0~0xcc -- The 13 points of Y gamma curve
      0xc1, 0x10,
      0xc2, 0x1C,
      0xc3, 0x30,
      0xc4, 0x43,
      0xc5, 0x54,
      0xc6, 0x65,
      0xc7, 0x75,
      0xc8, 0x93,
      0xc9, 0xB0,
      0xca, 0xCB,
      0xcb, 0xE6,
      0xcc, 0xFF,
      0xf0, 0x02,
      0xf1, 0x01,
      0xf2, 0x01,
      0xf3, 0x30,
      0xf9, 0x9f,
      0xfa, 0x78,

      //---------------------------------------------------------------
      0xfe, 0x01,

      0x00, 0xf5,
      0x02, 0x1a,
      0x0a, 0xa0,
      0x0b, 0x60,
      0x0c, 0x08,
      0x0e, 0x4c,
      0x0f, 0x39,
      0x11, 0x3f,
      0x12, 0x72,
      0x13, 0x13,
      0x14, 0x42,
      0x15, 0x43,
      0x16, 0xc2,
      0x17, 0xa8,
      0x18, 0x18,
      0x19, 0x40,
      0x1a, 0xd0,
      0x1b, 0xf5,
      0x70, 0x40,
      0x71, 0x58,
      0x72, 0x30,
      0x73, 0x48,
      0x74, 0x20,
      0x75, 0x60,
      0x77, 0x20,
      0x78, 0x32,
      0x30, 0x03,
      0x31, 0x40,
      0x32, 0xe0,
      0x33, 0xe0,//0x33~0x38Ϊֻ¶Á
      0x34, 0xe0,
      0x35, 0xb0,
      0x36, 0xc0,
      0x37, 0xc0,
      0x38, 0x04,
      0x39, 0x09,
      0x3a, 0x12,
      0x3b, 0x1C,
      0x3c, 0x28,
      0x3d, 0x31,
      0x3e, 0x44,
      0x3f, 0x57,
      0x40, 0x6C,
      0x41, 0x81,
      0x42, 0x94,
      0x43, 0xA7,
      0x44, 0xB8,
      0x45, 0xD6,
      0x46, 0xEE,
      0x47, 0x0d ,
      
      0xfe ,0x00,

            0xd2, 0x90,// Open AEC ·À¹öÆÁµÄ×Ô¶¯ÆØ¹âat last.

      //-----------Update the registers 2010/07/07-------------//
      
      0xfe, 0x00,

      0x10, 0x26,                                 
      0x11, 0x0d,          // fd,modified by mormo 2010/07/06                              
      0x1a, 0x2a,          // 1e,modified by mormo 2010/07/06                                 

      0x1c, 0x49,      // c1,modified by mormo 2010/07/06AWB_R_gain_limit P1: 0x1c 0x80 The gain limit of AWB_R_gain                              
      0x1d, 0x9a,      // 08,modified by mormo 2010/07/06AWB_G_gain_limit P1: 0x1d 0x80 The gain limit of AWB_G_gain                              
      0x1e, 0x61,// 60,modified by mormo 2010/07/06AWB_B_gain_limit P1: 0x1e 0x80 The gain limit of AWB_B_gain.                              

      0x3a, 0x20,

      0x50, 0x14,          // 10,modified by mormo 2010/07/06                              
      0x53, 0x80,                                 
      0x56, 0x80,
      
      0x8b, 0x20,//LSC red b2      //LSC Gain = 1+ b2*R^2+b4*R^4(R ??LSC center ???),                              
      0x8c, 0x20,//LSC green b2                              
      0x8d, 0x20,//LSC blue b2                              
      0x8e, 0x14,   // LSC red b4                              
      0x8f, 0x10,   // LSC green b4                              
      0x90, 0x14,   // LSC blue b4                              

      0x94, 0x02,                                 
      0x95, 0x07,                                 
      0x96, 0xe0,                                 

      0xb1, 0x40, // YCPT,Cb saturationFloat S2.5 bits,0x20 ???                           
      0xb2, 0x40,// Cr saturationFloat S2.5 bits,0x20 ???                              
      0xb3, 0x40,//?????,0x40 ???
      0xb6, 0xe0,

      0xd0, 0xcb, // AECTc9,modifed by mormo 2010/07/06                              
      0xd3, 0x48, // 80,modified by mormor 2010/07/06                           

      0xf2, 0x02,                                 
      0xf7, 0x12,//?????X/Y ??
      0xf8, 0x0a,

      //Registers of Page1
      0xfe, 0x01,

      0x02, 0x20,
      0x04, 0x10,
      0x05, 0x08,
      0x06, 0x20,
      0x08, 0x0a,

      0x0e, 0x44,                                 
      0x0f, 0x32,
      0x10, 0x41 ,                                 
      0x11, 0x37,                                 
      0x12, 0x22 ,                                 
      0x13, 0x19,                              
      0x14, 0x44   ,                              
      0x15, 0x44,
      
      0x19, 0x50,                              
      0x1a, 0xd8 ,
      
      0x32, 0x10 ,
      
      0x35, 0x00 ,                                 
      0x36, 0x80,                                 
      0x37, 0x00 ,
      //-----------Update the registers end---------//
      
      //Registers of Page0
      0xfe, 0x00,
      
      0x9F, 0x0E,
      0xA0, 0x1C ,
      0xA1, 0x34 ,
      0xA2, 0x48 ,
      0xA3, 0x5A ,
      0xA4, 0x6B ,
      0xA5, 0x7B ,
      0xA6, 0x95 ,
      0xA7, 0xAB ,
      0xA8, 0xBF,
      0xA9, 0xCE ,
      0xAA, 0xD9 ,
      0xAB, 0xE4,
      0xAC, 0xEC ,
      0xAD, 0xF7 ,
      0xAE, 0xFD ,
      0xAF, 0xFF,


DASAL 发表于 2017-9-27 17:02:24

您好,我现在在做GC0308的驱动,读ID那些已经完成了,不知道怎么配置寄存器,能发一下你的GC0308寄存器配置表给我吗,谢谢。我邮箱:1536487848@qq.com

五哥1 发表于 2017-9-28 21:53:32

楼上完成了吗,把代码开源下好吗?
页: [1]
查看完整版本: stm32f407驱动GC0308摄像头