STM32直接驱动OV7660摄像头成功_第1页
STM32直接驱动OV7660摄像头成功_第2页
STM32直接驱动OV7660摄像头成功_第3页
STM32直接驱动OV7660摄像头成功_第4页
STM32直接驱动OV7660摄像头成功_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、STM32直接驱动 OV7660摄像头成功(2009-i2-08 2i:o4:oo)Q标签:it HYPERLINK /bbs/bbs_content_all.jsp?bbs_sn=3539898 /bbs/bbs content all.jsp?bbs sn=3539898直接用STM32接的摄像头,没有其他什么外加电路,stm32从摄像头读到数据,然后直接送往TFT(ILI9320 芯片)效果和速度:图像调整成了 160 x120,8帧每秒,320 x240的时候大概是2帧图像质量有待调整,刚实验成功中,激动中,所以先发裸照完全使用中断的方式接收摄像头的数据代码没有整理。程序TARourd

2、ev 473545.rar(文件大小:469K)(原文件名:stm32_Demo_ili9325.rar)没有原理图,我也是直接搭出来的基本上摄像头的接法是这样子的:3.3v串一个0.7v压降的二极管,接到摄像头的电源,我随便拿了一个1N4148,也能用。测到 电压为2.6v这样子摄像头的HREF(行同步)一PG3VSYNC(帧同步)PG5PWDN接地PCLKPG4SIO_DPG7SIO_CPG6XCK1,(系统时钟PA8D0D7 PA0PA7RESET接51类型的阻容复位电路液晶屏:内部芯片为ILI9320,稍微改下就可以变成ILI9325PF610#define nCSGPIO_Pin_8

3、#define RSGPIO_Pin_7#define nWRGPIO_Pin_10#define nRDGPIO_Pin_9#define nReset GPIO_Pin_6数据口: PD0PD15一共有40来根线,呼呼没有原理图,我也是直接搭出来的基本上摄像头的接法是这样子的:摄像头的HREF (行同步)PG3VSYNC (帧同步)PG5PWDN接地PCLKPG4SIO_DPG7SIO_CPG6XCK1 (系统时钟PA8D0D7PA0PA7RESET接51类型的阻容复位电路液晶屏:内部芯片为ILI9320,稍微改下就可以变成ILI9325PF610#define nCS GPIO_Pin_

4、8#defineRSGPIOPin7#definenWRGPIOPin10#definenRDGPIOPin9#definenResetGPIOPin6数据口:PD0PD15调试SCCB有几个是我认为比较重要的,一是一定要给摄像头系统时钟,你可以用stm32输出一个8M的时钟接到XCK1,太快了不行, 我觉得SCCB工作的时候也是需要系统时钟提供的。二是SCCB的data脚要上拉,在STM32io 口设置的时候,要设置成上拉。设置成输入的时候上 拉,我测试过,不上拉就不成功。三是有个延时函数,时间不能够太短,还要小心你的延时代码不要被编译器优化掉了。SCCB的代码我没有仔细看,是直接拿wang

5、guanfu的AVR的代码来改的,只改了 io 口操作 的部分,直接就成功了。请直接看代码。要有数据输出的话,首先要提供时钟,一定要提供时钟。我觉得不用配置也能有数据输出,没 有实测,你就先把SCCB调好了再进行下一步吧。直接写BSRR会比GPIO_SetBits()快很多倍,在要求速度的情况下,我喜欢直接写BSRR我把它再初始化成了普通IO 口了,然后由自己控制时钟。它已经没有时钟输出了,除非你自己去控制io 口输出时钟。我就是想自己输出时钟,所以在sccb配置好了以后,把它改成了普通io我专门把stm32f103的时钟频率从72M调到了 16M,再自拍,除了图像反应变慢,其他没有区 别我已

6、经把stm32f103的时钟频率从72M调到了 16M 了,图像还是可以采集正常,效果没法比 较,因为我也还没有调节好C8051f020的22M的晶振会比16M的stm32f103差很远么,这个我也不知道,我的感觉是,频率慢一点也能够采集,当然是cpu越快越好了stm32f103在16M的时候,我的程序已经差不多是10us采集一个点了,100k的频率这样子。对啊,就是一个PCLK读一次数据,所以速度就是局限于stm32的中断响应速度,我现在是没 有缓冲,读一个点数据,写一个点到屏首先是是给摄像头提供时钟,然后通过SCCB初始化摄像头,然后依据时序每次pclk读一次数 据,然后把数据组合成你想要

7、的rgb数据。同时必须处理的是行同步信号和帧同步信号,这直接关系到你所采的数据的x,y坐标,还有 每个点的rgb数据的前后组合顺序。具体看数据手册的时序图。最好你能够有逻辑分析仪,分析摄像头的数据输出,知道到底有没 有数据。逻辑分析仪armok也有卖了,几百块。用示波器也可以看一下信号。先把SCCB调试好先吧,读取ov7660的id数据,能够读取和写入SCCB的话,基本上就完全成 功了,剩下的都是些小事情。ov7660是8位的 可以用16位的tft LCD (不支持8位)显示吗?答:我用也是用的tft的16位模式。ili9320 回:【40楼】money32楼主你好,请问一下提供给系统的时钟一

8、定要8M吗?低一点可以吗?答:可以,但是对摄像头效果的影响未知我的程序里面是先用PA8输出8M的时钟,好初始化SCCB;初始化完成后,我把PA8改成了普 通GPIO 口模式,自己翻转来产生时钟。再请问一下,OV7600本身一般工作在什么频率范围内?答:典型值:24M最小值:10M最大值:48M数据上面有下载: HYPERLINK /bbs_upload245682/files_16/ourdev_453650.rar /bbs_upload245682/files_16/ourdev_453650.rar相关帖子地址1:18元摄像头(OV7660)+27元TFT液晶+M16显示成功!全套资料

9、HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3401782&bbs_page_no=1&search_mode= /bbs/bbs_content.jsp?bbs_sn=3401782&bbs_page_no=1&search_mode=1&search_text=ov7660&bbs_id=9999地址二:ATmega32L接ILI9325 320*240 TFT驱动OV7660摄像头,放图放资料 HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3433467&bbs_page_no=1&search_mode= /bbs/bbs_

10、content.jsp?bbs_sn=3433467&bbs_page_no=1&search_mode= 1&search_text=ov7660&bbs_id=9999 HYPERLINK /s?wd=SCCB+0 x42 /s?wd=SCCB+0 x42ov7660数据手册里面搜索42,有这么一句The device slave addresses are 42 for write and 43 for read我也是飞线的,可是图像不怎么好,RGB高低BIT也颠倒试过,可是颜色总是不行,LZ可否指 点一下八、I这么夸张的图像应该是RGB字节的对应问题。两个方面:1.ov7660读回来是两个字节的,这两个字节的顺序你换下看看2. r g b 565的位数还有顺序再核对一下还有可能,你接摄像头的数据线有误?我无聊在刷屏看阿莫发的模特照片,所以回复快:)76 0111011

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论