最近一个项目用了STMF407ZET6 +OV5640,调试了好几天做些总结;
STMF407ZET6 开发板用的是正点原子的开发板,OV5640摄像头用的是秉火摄像头;
这其中有一个大坑,开发板的DCMI接口跟摄像头的接口不一样,要重新用杜邦线进行连接;
本人是在正点原子的“”15,ATK-OV5640摄像头模块“”源码上进行修改的。
调试摄像头先调试SCCB接口,SCCB接口跟IIC接口类似,一根时钟线,一根数据线;
先能正确读写OV5640的寄存器后,再进行DCMI接口的配置;
一、SCCB接口的调试
跟IIC类似,直接用正点原子的代码就行,注意下OV5640地址为0x78就可以了;
二、DMCI接口调试
也是参考正点原子的代码,重点注意的地方是:
DCMI管脚 HREF和应该一致: VSYNC 和 OV5640的寄存器配置应该一致,这个细节问题,困扰了我好几天,才发现出来:
1、/* DCMI 配置*/
DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_Continuous;
DCMI_InitStructure.DCMI_SynchroMode = DCMI_SynchroMode_Hardware;
DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Rising;
DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_High;
DCMI_InitStructure.DCMI_HSPolarity = DCMI_HSPolarity_Low;
DCMI_InitStructure.DCMI_CaptureRate = DCMI_CaptureRate_All_Frame;
DCMI_InitStructure.DCMI_ExtendedDataMode = DCMI_ExtendedDataMode_8b;
DCMI_Init(&DCMI_InitStructure);
2、OV5640寄存器配置
参考文档 :OV5640_camera_module_software_application_notes_1.3_Sonix .pdf 第31页
相应的0X4740寄存器应该为默认值0x20
三、HREF、VSYNC管脚电平时序
此信号为正确的HREF、VSYNC信号
至此,大功告成!!!!欧耶!!!!