DCMI(数字图像接口)与OV2640 stm32

本文先介绍了摄像头模块OV2640,又介绍了DCMI。
最后讲解在stm32上相关代码。

一、OV2640

DCMI(数字图像接口)与OV2640 stm32_第1张图片

1.OV2640基本概念

DCMI(数字图像接口)与OV2640 stm32_第2张图片
DCMI(数字图像接口)与OV2640 stm32_第3张图片

CMOS
SCCB,所有图像处理过程可以通过SCCB接口编程
IIC

  • 支持按比例缩小(从SXGA到40*30的任何尺寸),通过DSP转换成需要的任何尺寸

DCMI(数字图像接口)与OV2640 stm32_第4张图片

PCLK: 一个时钟,一个像素的时候是Raw,半个像素是RGB565(一个像素2个字节,所以需要2个时钟)
VSYNC: 每一帧都有一个同步信号,高或者低是自己设定的。
HREF/HSYNC:行数据有效的时候一般是高。

2.OV2640时序

2.1行时序

输出是以行为单位的。
DCMI(数字图像接口)与OV2640 stm32_第5张图片

在PCLK上升沿和HREF高电平期间进行输出的
在1个或者2个上升沿读取pn,最高到p1599
因为stm32F4XX由DCMI所以需要的36MHz是完全没问题的。

2.2帧时序

DCMI(数字图像接口)与OV2640 stm32_第6张图片

帧:包含了一帧需要的所有行数。
帧开始:一个VSYNC脉冲。
HREF变高:则行有效,就读取一行。

3.窗口设置

DCMI(数字图像接口)与OV2640 stm32_第7张图片
DCMI(数字图像接口)与OV2640 stm32_第8张图片
DCMI(数字图像接口)与OV2640 stm32_第9张图片
DCMI(数字图像接口)与OV2640 stm32_第10张图片
DCMI(数字图像接口)与OV2640 stm32_第11张图片

3.OV2640模块

DCMI(数字图像接口)与OV2640 stm32_第12张图片

PWDN:power down引脚
NC是未用到引脚
10个数据线是从Y2~Y9连接的。

DCMI(数字图像接口)与OV2640 stm32_第13张图片

DCMI(数字图像接口)与OV2640 stm32_第14张图片

第二步:上电复位,就是PWDN引脚
第三步:读取ID判断设备是否正常,不是必须的。

DCMI(数字图像接口)与OV2640 stm32_第15张图片

DCMI

简介

DCMI(数字图像接口)与OV2640 stm32_第16张图片
DCMI(数字图像接口)与OV2640 stm32_第17张图片

DCMI信号

DCMI(数字图像接口)与OV2640 stm32_第18张图片
DCMI(数字图像接口)与OV2640 stm32_第19张图片

PIXCLK下降沿时,捕获数据。
HSYNC,VSYNC有效状态:如上图两者在为高的时候,数据是无效的。

数据说明

DCMI(数字图像接口)与OV2640 stm32_第20张图片

DMA

CR中CAPTURE置1时,激活DMA接口。

DCMI(数字图像接口)与OV2640 stm32_第21张图片

其他说明

DCMI(数字图像接口)与OV2640 stm32_第22张图片

寄存器简介

DCMI(数字图像接口)与OV2640 stm32_第23张图片
DCMI(数字图像接口)与OV2640 stm32_第24张图片

初始化流程图

DCMI(数字图像接口)与OV2640 stm32_第25张图片

HSYNC和VSYNC低电平有效,也就是数据无效的时候。

硬件连接

DCMI(数字图像接口)与OV2640 stm32_第26张图片

摄像头代码

OV2640驱动代码

1, SCCB_Init函数
初始化SCCB接口,初始化PD6,PD7,这是DCMI SCL和SDA
2, OV2640_Init函数
3, OV2640_JPEG_Mode函数
4, OV2640_RGB565_Mode函数
5, OV2640_ImageWin_Set函数
6, OV2640_OutSize_Set函数

DCMI驱动代码

1, My_DCMI_Init函数
2, DCMI_DMA_Init函数
3, DCMI_Start函数
4, DCMI_Stop函数
5, DCMI_IRQHandler函数

你可能感兴趣的:(STM32,stm32,DCMI,OV2640)