基于 OV5640 摄像头理论知识讲解-典型工作模式配置

news2025/1/14 19:26:50

基于OV2640/ OV5640 的图像采集显示系统系列文章目录:
(1)基于 OV5640 摄像头理论知识讲解-成像和采样原理
(2)基于 OV5640 摄像头理论知识讲解-数字接口和控制接口
(3)基于 OV5640 摄像头理论知识讲解-典型工作模式配置
(4)基于OV2640/ OV5640 的图像采集显示系统

文章目录

  • 前言
  • 一、修改信号极性
  • 二、修改帧率
  • 三、图像镜像翻转
  • 四、调整图像尺寸
  • 五、调整图像输出模式
  • 六、彩条测试模式


前言

基于 OV5640 摄像头理论知识讲解-典型工作模式配置。

提示:以下是本篇文章正文内容,下面案例可供参考

一、修改信号极性

为得到正确的图像,OV5640 传感器的视频信号极性与基带芯片或 ISP 必须设置成一致。
例如,默认状态下,OV5640 的 VSYNC 是低电平有效,即 VSYNC 信号在输出图像时为低电平。
而我们常见的图像捕获系统中,往往以 VSYNC 信号为高电平代表图像数据有效,此时就需要设置 VSYNC 信号的极性为高电平有效。OV5640 可以通过设置地址为 0x4740 号寄存器的
值来设置信号的极性,具体设置方法如下表所示:
1

二、修改帧率

OV5640 的图像输出帧率可以通过修改地址为 0x3035、0x3036、0x3037 的寄存器的值来修改,该寄存器实际上是设置了 OV5640 片上 PLL 的各种分频和倍频系数,例如在典型配置模式下,当输入时钟 XCLK 的信号频率为 24MHz 时, 设置 0x3035 寄存器的值为 0x21 可设置输出帧率为30fps,设为0x41可设置输出帧率为15fps、设为0x81可设置输出帧率为7.5fps。

三、图像镜像翻转

因为 OV5640 是一款 BSI 图像传感器, 成像光线是从芯片背面射入的,所以原始生成的图像看起来是左右相反的,故此需要对图像做镜像处理使其显示正常。设置镜像和翻转功能是通过设置寄存器 0x3820 和 0x3821 的值实现的。上电时,0x3820 的值默认为 0x40,0x3821的值默认为 0x00。0x3820 寄存器的 bit2 和 bit1 分别设置 ISP 和传感器的翻转,0x3821 寄存器的 bit2 和 bit1 分别设置 ISP 和传感器的镜像。

四、调整图像尺寸

前面提到,设置输出图像尺寸可以通过设置 ISP 在传感器上的开窗,预缩放偏移和输出
图像大小窗口。最常用的是设置输出图像大小窗口设置,地址为 0x3808 和 0x3809 的寄存器
设置输出图像的高度,地址为 0x380a 和 0x380b 的寄存器设置输出图像的宽度。例如,需要
设置输出图像大小为 800*480 分辨率,则设置输出图像高度寄存器的值为 0x0320(800d),
设置输出图像宽度寄存器的值为 0x01e0(480d)。即设置:
0x3808 = 0x03; // DVPHO 800 0x3809 = 0x20; // DVPHO
0x380a = 0x01; // DVPVO 480 0x380b = 0xe0; // DVPVO

五、调整图像输出模式

B565、RGB555、RGB444 模式等,YUV 制式包括 YUV444、YUV422、YUV420 模式等,而每
个模式下,又根据输出像素的各个字节代表的不同意义,又分为多种模式,例如对于 RGB565模式,连续的两个字节代表一个像素的颜色值,在代表一个像素点的 2 个字节数据中,哪几位代表红色分量,哪几位代表绿色分量,哪几位代表蓝色分量,也是通过寄存器可以设置的。
具体模式设置是通过 0x4300 这个寄存器设置的。这里仅介绍两种常用的模式设置,RGB565
和 YUV422。其他模式,用户可以通过查看 OV5640_CSP3_DS_2.01_Ruisipusheng.pdf 中相关描述。
0x4300 寄存器共 8 位,其中 bit[7:4]设置图像输出模式,bit[3:0]设置每个模式下输出像
素内容的顺序。下表为 bit[7:4]的值和对应的输出模式的关系。
1
***说明:***关于很多读者所关心的 JPEG 模式,并不是在这个寄存器中设置的,JPEG 输出是另外有单独的 JPEG 压缩引擎,对 YUV422 或 YUV420 格式的图像编码得到的。如果需要输出JPEG 格式,则本寄存器应该设置高 4 位的值为 0x3 或 0x4,即选择 YUV422 或 YUV420 格式,
然后再设置 JPEG 相关的寄存器。对于 JPEG 模式本手册不做讨论。
当设置了图像输出模式后,可以通过设置该寄存器的 bit[3:0]来设置输出图像的顺序。
例如,对于 RGB565 模式(bit[7:4]=0x6),设置 bit[3:0]为不同的值则可以实现不同的输出序列,
如下表所示:
在这里插入图片描述
1
对于我们常见的应用来说,一般是使用 RGB 或 BGR 序列,即设置寄存器的 bit[3:0]的值
为 0x0 或 0x1。
下表为 YUV422 模式(bit[7:4]=0x3)时 bit[3:0]的值与对应的输出序列的关系:
1

六、彩条测试模式

通过设置地址为 0x503d 寄存器中相应位的值,可以设置 OV5640 输出的图像内容是传
感器采集到的图像还是测试信号发生器模块产生的测试信号。
0x503d 寄存器的最高位 bit7 为测试信号发生器的开关控制位,设置为 1 即可开启测试信号发生器。bit[1:0]为测试信号类型选择寄存器不同的值可以选择不同的测试模式,如彩条
(Color Bar)、棋盘格(Color square)。在这里插入图片描述
例如要设置彩条测试模式,设置 0x503d 寄存器的值为 0x80 即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/944769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单链表oj题

🍟1.反转链表 链接: https://leetcode.cn/problems/reverse-linked-list/description/ 思路一:遍历一遍的同时两两逆置 写法一: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next…

生成式AI背景下编程工作者的技术和高级软考理论的演进融合之路

思考背景 近两次软考,我都参与了,2022年11月参加的是系统架构师的考试,2023年5月参加的是系统分析师的考试,去年参加系统架构是考试是完全的裸考和第一次考,成绩是选择题39,综合题46和论文48分&#xff0c…

开发卡牌gamefi游戏需要多少钱?

卡牌游戏作为一种受欢迎的游戏形式,吸引了众多开发者的关注。然而,开发一款成功的卡牌游戏需要全面考虑多个方面的因素,其中之一就是资金投入。本文将从专业性和投入回报的角度,探讨开发一款卡牌游戏所需的资金投入。 一、专业性的…

[Agent]开发---csvAgent开发

资料: https://python.langchain.com/docs/integrations/toolkits/csvcsvagent需要csv文件和模型,该方法在后台使用pandas方法去处理该文件,然后调用LLM去回答问题 我们使用内置函数去调用csvagent。 AgentType根据自己需要下载;…

国家公派必读|CSC各类留学人员奖学金资助和艰苦地区补贴标准

国家留学基金委(以下简称CSC)为公派留学人员(含高级研究人员、访问学者、博士后及留学生)提供一定数额的奖学金,对艰苦地区还有特殊生活补贴,本文知识人网小编根据相关文件加以整理后撰文如下。 根据以上文…

打破对ChatGPT的依赖以及如何应对ChatGPT的错误和幻觉

​ OpenAI的ChatGPT是第一个真正流行的生成式AI工具,但它可能不是最好的。现在是时候扩大你的AI视野了。 ChatGPT成为了基于大语言模型(LLM)的聊天机器人的同义词。但是现在是时候停止对ChatGPT的痴迷,开始发现这个新世界中强大的替代品了。 首先&a…

StringBuilder类分享(1)

一、StringBuilder说明 StringBuilder是一个可变的字符序列。这个类提供了一个与StringBuffer兼容的API,但不保证同步,即StringBuilder不是线程安全的,而StringBuffer是线程安全的。显然,StringBuilder要运行的更快一点。 这个类…

编程题四大算法思想(一)——分治法:最大子数组问题、矩阵乘法的Strassen算法、最近点对问题、凸包问题

文章目录 分治法分治策略分治算法的效率分析归并排序 具体应用问题最大子数组问题蛮力法分治法找跨越中间位置的最大子数组时间复杂度 矩阵乘法蛮力算法分治法Strassen矩阵乘法 分治法 方法 分治策略分治法效率分析——迭代法(递归树法)分治法效率分析—…

学习JAVA打卡第四十六天

Date和Calendar类 Date类 ⑴使用无参数构造方法 使用Date 类的无参数构造方法创建的对象可以获取本机的当前日期和时间,例如: Date nowtime new Date(); ⑵使用带参数的构造方法 计算机系统将其自身的时间的设“…

redis实战-项目集成git及redis实现短信验证码登录

目录 IDEA集成git 传统session存在的问题 redis方案 业务流程 选用的数据结构 整体访问流程 发送短信验证码 获取校验验证码 配置登录拦截器 拦截器注册配置类 拦截器 用户状态刷新问题 刷新问题解决方案 IDEA集成git 远程仓库采用码云,创建好仓库&…

js定位到元素底部

文字的一行一行添加的&#xff0c;每次添加要滚动条自动定位到元素底部 <div class"An">//要父元素包裹&#xff0c;父元素设置max-height&#xff0c;overflow啥的<div class"friendly_pW"></div></div>//添加文字时找子元素的高…

数据管理,是企业管理的上帝视角

在早期&#xff0c;企业整体规模较小&#xff0c;市场以及产品也比较匮乏&#xff0c;用户对商品没有过多的需求&#xff0c;更多是出于对必需品的需要&#xff0c;选择购买商品。伴随着经济的飞速发展&#xff0c;企业规模在扩大的同时&#xff0c;市场和用户对商品的需求日益…

【pyqt5界面化工具开发-8】窗口开发-QDialog对话框

目录 一、调用父类的菜单 二、添加更多的布局在对话框内 一、调用父类的菜单 和前面Qwedget一样的结构&#xff08;不做过多介绍&#xff09; 可以参考代码中的注释 import sys from PyQt5.QtWidgets import QApplication, QPushButton, QDialog# 对话框&#xff08;多运用…

Windows服务器使用Mysqldump备份MySQL数据库方法

Windows服务器使用Mysqldump备份MySQL数据库方法 1.进入到MySQL安装目录的bin目录下&#xff0c;进入cmd F:\20220601\dev_software\mysql-8.0.11-winx64 2.执行备份命令&#xff1a; mysqldump -u root -p zj_bak test_bak -r D:\backup.sql3.导入备份 数据&#xff1a; m…

DDS器件原理与应用(AD9833 AD9834)

1、DDS模块的主要构成 DDS模块原理框图 2、DDS器件的工作原理 直接数字合成是生成模拟信号的一种常用方法&#xff0c;简单意义上的DDS&#xff0c;主要由相位调制器、波形查找表和DAC组成。相位调制器产生一个相位信息&#xff0c;使用该相位信息去波形查找表中查找对应的幅…

智慧安全3.0这两年:数智破冰 护航千行百业安全发展

数智化时代下&#xff0c;网络安全作为网络强国、数字中国的底座&#xff0c;是我国现代化产业发展中不可或缺的部分。在安全实战上&#xff0c;传统的基于边界防护&#xff0c;单次静态安全策略配置的安全措施已无法满足业务发展的安全需求&#xff0c;真正的安全防护必须是主…

如何使用敏捷开发方法管理项目

敏捷开发方法是一种灵活且高效的项目管理方法&#xff0c;旨在应对不断变化的需求和快速发展的项目环境。使用敏捷开发方法可以帮助团队更好地应对不确定性&#xff0c;提高项目的质量和效率。以下是使用敏捷开发方法管理项目的具体步骤&#xff1a; 明确项目目标和范围 在项…

2023 天府杯“ 室温超导+可再生能源应用国赛预测模拟专题赛“——参考代码答案与解析

室温超导材料在可再生能源传输中的应用研究 题目要求&#xff1a; 假设某国家有多个可再生能源发电站点&#xff0c;分布在不同的地理位置。每个发电站点产生的能量大小和时间段都有所不同。同时&#xff0c;假设已经研发出室温超导材料 LK-6&#xff0c;LK-66&#xff0c;L…

A卡崩溃有救了 AMD推出RGD专用工具:找出报错原因

现在的三大显卡GPU厂商中&#xff0c;谁家的显卡好争议不断&#xff0c;粉丝不仅争硬件性能&#xff0c;软件驱动也是容易被诟病的地方&#xff0c;AMD显卡这方面就吃过亏&#xff0c;好在AMD这次推出了一个RGD工具&#xff0c;可以找出显卡崩溃的原因。 AMD日前发布了一个Rade…