您的位置:首页 > 其它

战舰v3|stm32f103 摄像头OV2640驱动程序

2017-01-24 23:14 1701 查看

【硬件接线】



【最少接线】

模块ov2640stm32f103
数据:D[0..7] 8根PC[0..7]
串口:SCL、SDA 2根uart3的PB10,11
其他:PCLK(像素时钟)、VSYNC(帧同步) 2根PB15,PB5
电源:提供 OV2640 稳定的 2.8V 和 1.3V 工作电压适合的电压输出引脚
*一般淘宝的模块自带了稳压芯片,供电3.3v即可



【驱动流程】

系统上电后,MCU配置OV2640的工作方式,在OV2640准备好图像后,VSYNC会被拉高一段时间,在此时间内MCU通过PCLK上升沿中断按字节接收图像数据

详细解析:

定义:帧同步信号-摄像头开始发送一帧图像(如320x160个像素)时发出的信号。像素同步信号则是开始发送一个像素点时发出的信号。

1通过SSCB初始化摄像模块(初始化上百个寄存器) *SSCB类似于I2C
2等待帧同步信号VSYNC上升沿,开始读取一帧的数据
2.1在此过程中VSYNC保持高电平,每个像素同步信号PCLK下降沿,开始读走8位数据线的数据(1像素),重复n次
2.2直到帧同步信号VSYNC下降沿,一帧图像数据读取结束
3等待帧同步信号VSYNC上升沿,开始读取新一帧的数据
时序图





note

*使用中断监听帧同步信号引脚VSYNC和像素同步信号引脚PCLK,当VSYNC低电平时,关闭PCLK中断以防误读。

*还有一个行同步信号HREF,原本应是帧信号->行信号->像素信号,此处可以不用,直接帧信号->像素信号。

*模块可输出多种视频格式,但数据读取流程一样。

*数据手册的时序图显示是VSYNC低电平阶段传输帧数据,个人认为有误,根据可运行的例程判断应为VSYNC高电平阶段传输帧数据。

*驱动例程贴在文章末尾

【各种设置】

传感器窗口设置、图像尺寸设置、图像窗口设置和图像输出大小设置

传感器窗口设置



补充

*OV2640 自带了一个 8 位微处理器,该处理器有 512 字节 SRAM,4KB 的 ROM,它提供一个灵活的主机到控制系统的指令接口,同时也具有细调图像质量的功能。

【参考资料】

官方文档

OV2640 Camera Module Software Application Notes1.04 OVT.pdf

OV2640_Camera_Module_Hardware_Application_Notes1.04.pdf

OV2640.pdf

第四十章 摄像头实验-STM32F4开发指南-正点原子探索者STM32开发板.pdf

资料保存路径 E:\0_战舰v3\7,硬件资料\摄像头OV2640
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  摄像头 ov2640 stm32