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

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

一、OV2640

ov2640模块

1.OV2640基本概念

OV2640
OV2640特点

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

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

基本概念

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

2.OV2640时序

2.1行时序

输出是以行为单位的。
行时序

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

2.2帧时序

帧时序

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

3.窗口设置

传感器窗口
图像尺寸窗口
图像窗口设置
图像输出大小设置
示意图

3.OV2640模块

原理图

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

对外接口

ov2640初始化

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

MCU读取图像过程

DCMI

简介

简介
DCMI

DCMI信号

DCMI信号
DCMI信号说明

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

数据说明

DCMI数据说明

DMA

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

DMA说明

其他说明

其他说明

寄存器简介

寄存器简介
寄存器2

初始化流程图

初始化流程图

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

硬件连接

stm32硬件连接

摄像头代码

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函数

  • 29
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值