你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f407驱动GC0308摄像头

[复制链接]
qingchapp 提问时间:2017-8-16 09:54 /
各位请教一下
      我用STM32F407驱动GC0308摄像头,摄像头3.3V供电,XCLK时钟用单片机产生8M,现在能读出厂家ID,但是配置寄存器时,
总有几个写不正确,硬件IIC和软件模拟都试过。
求指教。

点评

下次发帖请注意板块,已移帖  发表于 2017-8-16 10:25
1 收藏 评论6 发布时间:2017-8-16 09:54

举报

6个回答
qingchapp 回答时间:2017-8-16 14:27:37
附件里是摄像头芯片的datasheet

GC0308的标准DataSheet.pdf

下载

2.16 MB, 下载次数: 264, 下载积分: ST金币 -1

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[3:0], 0x01}),Vb( {0x0f[7:4] , 0x02}
0x03, 0x01,
0x04, 0x2c,
0xe2, 0x00,   //anti-flicker step [11:8]
0xe3, 0x64,   //anti-flicker step [7:0]
0xe4, 0x02,   //exp level 1  16.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[7:0]
0x09, 0x01,//Window height[8],VGA ?480,0x09 ?0x0a ???
0x0a, 0xe8,//Window height[7:0]
0x0b, 0x02,//Window width[9:8]VGA ?640,0x0b ?0x0c ???
0x0c, 0x88,//Window width[7:0]
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[1]
        0x22, 0x57,//AWB enable 0x22[1]
        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[7:4],
        0x6f, 0x38,//ASDE_auto_EE2_effect_start0x6f[7:4]
        0x70, 0x15,
        0x71, 0x33,
        0x72, 0xdc,
        0x73, 0x80,
        0x74, 0x02,
        0x75, 0x3f,
        0x76, 0x02,
        0x77, 0x36,//0x77[7:4] -- Edge1_effect,0x77[3:0] -- 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/06  AWB_R_gain_limit P1: 0x1c 0x80 The gain limit of AWB_R_gain                              
        0x1d, 0x9a,        // 08,modified by mormo 2010/07/06  AWB_G_gain_limit P1: 0x1d 0x80 The gain limit of AWB_G_gain                              
        0x1e, 0x61,// 60,modified by mormo 2010/07/06  AWB_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 saturation  Float S2.5 bits,0x20 ???                             
        0xb2, 0x40,  // Cr saturation  Float S2.5 bits,0x20 ???                              
        0xb3, 0x40,//?????,0x40 ???
        0xb6, 0xe0,

        0xd0, 0xcb, // AECT  c9,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,


996AAA6A3B78F8245B52E037E1E6B4FD.jpg
DASAL 回答时间:2017-9-27 17:02:24
您好,我现在在做GC0308的驱动,读ID那些已经完成了,不知道怎么配置寄存器,能发一下你的GC0308寄存器配置表给我吗,谢谢。我邮箱:1536487848@qq.com
五哥1 回答时间:2017-9-28 21:53:32
楼上完成了吗,把代码开源下好吗?
liduo 回答时间:2024-8-1 15:55:05

qingchapp 发表于 2017-8-16 14:15
看了一下,写不进去的寄存器不是关键寄存器,现在想请教一下寄存器的配置,除了注意显示窗口的大小和屏一致 ...

为什么现在厂家给的驱动这么粗糙呢,这个完全没有什么可读性。有问题都不知道调整哪里。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版