OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6409|回复: 7

OV7670如何设置输出640*480 RGB

[复制链接]

22

主题

180

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2015-6-29
在线时间
101 小时
发表于 2016-1-8 16:51:58 | 显示全部楼层 |阅读模式
1金钱
各位,求教:怎么把OV7670配置成输出640*480,网上都是输出320*240的~~看人家说改下面几个寄存器,但我改了,不对,不知道有没人指点一下:
//输出窗口设置
    #if 0       //QVGA
    {0x32, 0x80},
    {0x17, 0x16},         
    {0x18, 0x04},//5
    {0x19, 0x02},
    {0x1a, 0x7a},//0x7a,
    {0x03, 0x0a},//0x0a,
    #else       //VGA
    {0x32, 0x80},//HREF
    {0x17, 0x16},//HSTART = 184,输出格式-行频开始高八位(低三位在HREF[2: 0] )
    {0x18, 0x55},//HSTOP = (184+640*2)%784=680,行频结束高八位(低三位在HREF[5: 3] )
    {0x19, 0x02},//VSTART = 10,场频开始高八位(低二位在VREF[1: 0] )
    {0x1a, 0x7a},//VSTOP = VSTART+480 =490,场频结束高八位(低二位在VREF[3: 2] )
    {0x03, 0x0a},//VREF
    #endif

最佳答案

查看完整内容[请看2#楼]

在网上找了很久,然后自己做实验,终于搞定了,主要设置以下寄存器: {0x12, 0x04},//VGA,RGB输出 //输出窗口设置 {0x32, 0x80},//HREF {0x17, 0x14},//HSTART = 160,输出格式-行频开始高八位(低三位在HREF[2: 0] ) {0x18, 0x02},//HSTOP = (160+640)%784=16,行频结束高八位(低三位在HREF[5: 3] ) {0x19, 0x02},//VSTART = 10,场频开始高八位(低二位在VREF[1: 0] ) {0x1a, 0x7a},//VS ...
我是菜鸟
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

180

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2015-6-29
在线时间
101 小时
 楼主| 发表于 2016-1-8 16:51:59 | 显示全部楼层
在网上找了很久,然后自己做实验,终于搞定了,主要设置以下寄存器:
    {0x12, 0x04},//VGA,RGB输出
    //输出窗口设置
    {0x32, 0x80},//HREF
    {0x17, 0x14},//HSTART = 160,输出格式-行频开始高八位(低三位在HREF[2: 0] )
    {0x18, 0x02},//HSTOP = (160+640)%784=16,行频结束高八位(低三位在HREF[5: 3] )
    {0x19, 0x02},//VSTART = 10,场频开始高八位(低二位在VREF[1: 0] )
    {0x1a, 0x7a},//VSTOP = VSTART+480 =490,场频结束高八位(低二位在VREF[3: 2] )
    {0x03, 0x0a},//VREF

主要有两点注意:
1、很多人都知道设置HSTART、HSTOP、VSTART、VSTOP,但是网上说的基本上都是在QVGA的情况下设置的,如果一开始就已经把输出设为QVGA模式(0x12寄存器),那么后面再怎么设置HSTART、HSTOP、VSTART、VSTOP都不能输出VGA;

2、网上介绍的HSTART、HSTOP、VSTART、VSTOP的计算公式基本上都是基于QVGA的设置的,其实VGA设置下的HSTART、HSTOP、VSTART、VSTOP的计算公式没那么复杂,按照VGA时序标准理解即可
我是菜鸟
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-1-10 23:59:37 | 显示全部楼层
帮顶....
回复

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-11
在线时间
40 小时
发表于 2016-1-12 13:54:03 | 显示全部楼层
还在学习中,不太懂,帮顶
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-4-30
在线时间
4 小时
发表于 2016-5-19 22:53:04 | 显示全部楼层
你好 请问你这些寄存器设置 是在哪个源文件中设置的  方便打包程序看一下吗   我是4.3寸显示屏显示ov7670采集画面  现在不能全屏显示  谢谢了
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-4-21
在线时间
15 小时
发表于 2016-6-3 14:18:59 | 显示全部楼层
我也在弄480X640,用的是vo7670+fifo模块,按照1楼寄存器配置能设置成功,但就是无法在TFT彩屏正常显示,彩屏显示窗口我都已经可以设置成480X640,出现重影和花屏,据说是FIFO内存只有384K,不能完整的存储一帧VGA数据
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-4-21
在线时间
15 小时
发表于 2016-6-3 14:27:01 | 显示全部楼层
负西弱 发表于 2016-1-8 16:51
在网上找了很久,然后自己做实验,终于搞定了,主要设置以下寄存器:
    {0x12, 0x04},//VGA,RGB输出
   ...

这边寄存器配置可以,彩屏那边要怎么搞?
回复

使用道具 举报

16

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
853
金钱
853
注册时间
2016-4-7
在线时间
151 小时
发表于 2016-8-23 17:04:14 | 显示全部楼层
楼主,你好,我按照你这样试了试,还是有问题,像你这样的配置是在初始化数组里面改的吧?这个窗口设置函数OV7670_Window_Set()呢?这个函数是针对QVGA输出的,求指点,崩溃中
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-30 13:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表