STM32设置OV5640获取1080P图片

OV5640:

简介

OV5640_V5( V5 是版本号,下面均以 OV5640 表示该产品)是芯路恒科技推出的一款高性能 500W 像素高清摄像头模块。该模块采用 OmniVision 公司生产的一颗 1/4 英寸CMOS QSXGA( 25921944)图像传感器 OV5640,配合高质量的光学镜头及为实现更高性能而精心设计的 PCBA,使该模块拥有了尽可能高的成像质量。OV5640 模块的特点如下:

  • 1.4μm1.4μm 像素大小,并且使用 OmniBSI 技术以达到更高性能(高灵敏度、低串扰和低噪声)
  • 自动图像控制功能:自动曝光( AEC)、自动白平衡( AWB)、自动消除灯光条纹、
  • 自动黑电平校准( ABLC)和自动带通滤波器( ABF)等。
  • 支持图像质量控制:色饱和度调节、色调调节、 gamma 校准、锐度和镜头校准等标准的 SCCB 接口,兼容 IIC 接口
  • 支持 RawRGB、 RGB(RGB565/RGB555/RGB444)、 CCIR656、 YUV(422/420)、 YCbCr

( 422)和压缩图像( JPEG)输出格式

  • 支持 QSXGA( 500W)图像尺寸输出,以及按比例缩小到其他任何尺寸
  • 支持图像缩放、平移和窗口设置
  • 支持图像压缩,即可输出 JPEG 图像数据
  • 支持数字视频接口( DVP)
  • 自带嵌入式微处理器
  • 集成 LDO, 仅需提供 3.3V 电源即可正常工作

硬件电路:

我采用的是网上购买的集成了20Pin引脚的摄像头模块,具体原理图如下:

以下是对各引脚的解释(该图转接于下方原文链接)

DCMI外设简介:

DCMI全称Digital camera interface(数字摄像头接口),是一种用于采集摄像头数据的接口。

主要特性:

下面是代码时间:

业务逻辑

  1. 进行DCMI外设的初始化
  2. 初始化DCMI的DMA,采用DMA2Stream1来搬运DCMI获取的数据到外扩sram中,DMA采用双缓冲的方式,用块1KB的缓冲数组,每当1KB的数据搬运完成就在DMA中断函数中将缓冲数组中的数据搬运到数据存储数组中。
  3. 初始化SCCB接口引脚。使stm32能向ov5640寄存器写入数据
  4. 通过SCCB接口对ov5640进行基础配置,设置输出图片大小,设置图片输出jpeg格式等。
  5. 最后就是开始拍照,将数据上传至上位机了。最后是一些关键配置的代码。

注意:当拍照1080P照片时ov5640cfg.h的jpeg初始化数组中0x3035的值要设置为0x81,不能为0x21或0x41会导致图片在上位机传输显示不正常。

成果展示时间:

由于富文本编辑上传代码太丑,因此需要完整代码可私信我(免费!!!)不免费腿打折。

本文部分内容转接为下方文章:

原文链接:基于 OV5640 摄像头理论知识讲解-成像和采样原理-CSDN博客

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值