我是靠谱客的博主 温暖纸飞机,最近开发中收集的这篇文章主要介绍OV系列CMOS图像传感芯片的接口时序的FPGA实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

      图像传感器使用的是美商半导体公司(omnivision)的CAMERACHIP图像传感器OV7670。该传感器的感光阵列式640×480,核电压为1.8VDV±10%,模拟电压为2.45VDV3.0VIO口电压为1.7V3.0V。数据输出格式(8位)有四种,分别是YUV/YCbCr422RGB565/555/444GRB422Raw RGB Data。最大帧率为30fpsVGA,性噪比为46dB,动态范围为52dB,像素面积为3.6um×3.6um,像素为30W

        实际应用中所用到,并引出的OV7670引脚有:八位的数据输出D0~D7,帧同步输出VSYNC,行同步输出HREF,像素时钟PCLK、系统时钟输入XCLKPOWER DOWN模式选择输入PWDNSCCB数据口SIO_DSCCB时钟口SIO_C、系统初始化口RESET,如下图。

 

       图像传感器OV7670的接口时序包括两个部分,分别是SCCB接口时序和图像数据输出时序。

        OV7670的初始化使用的就是SCCB接口时序。SCCB是欧姆尼图像技术公司(OmniVision)开发的一种总线,广泛应用与OV系列的图像传感器中。SCCB是一种三线的总线,有SCCB_ESIO_CSIO_D组成。为了减少引脚,在OV7670上缩减为两根线。SIO_CSIO_D

        SCCB总线在启动传输过程中(如下图)有两个时间参数,tPRAtPRCtPRC被定义为SIO_D预充电时间,这说明,SIO_D要先于SCCB_E被拉高的时间,最小值15nstPRA是指在SIO_D拉低前,SIO_E被拉低的时间,不能小于1.25us

       数据传输终止,如下图,tPSCSCCB_E上升沿,SIO_D保持高电平的时间,最小为15nstPSASIO_D上升沿,SCCB_E必须保持低电平的时间,最小为0ns

        SCCB的写时序由3相组成。首先写设备地址,再写寄存器地址,最后写寄存器的值,即ID-Address+SUB-Address+W-DataOV7670的设备地址为0x42,最后一位用来判断读或者写,如下图。

      每次发送八个数据,SDAT设置为输入,接收从机的反馈信号。

         SCCB的读时钟有4相组成,分别是ID-Address+SUB-Address+ID-Address+ W-Data,如下图。通过查询OV7670的数据手册,发现在Read Data过程中,有一个NA,即第九位要驱动SIO_D为高电平。
      

         SCCB的读写时序分别如下图。

SCCB的读取时序

SCCB的写入时序

        OV7670图像的时序与VGA的时序非常的相似,不过VGA时序是有FOGA产生的,而OV7670的时序是有OV7670输出的。所以本设计中需要根据固定的时序,来准确的接收每个像素的数据。下图是RGB565OV7670摄像头的图像时序图,PCLK是连续的信号,每一行有行的有效信号,每一场也有场的有效信号,在场有效信号开始,每一行有效信号的第一个数据是第一个像素的高八位数据,每个像素都要分两次发送。

   

        另外,PCLK是否为连续的输出脉冲信号是可以通过配置寄存器配置的,如下图。在FPGA程序读取摄像头数据时,程序时钟是PCLK驱动,所以我们需要将Bit[5]设置成0,使其一直有脉冲输出。

        在RGB565输出时序中,HREF高电平时候,图像数据有效,此时,FPGA可以在PCLK上升沿时候读取8位图像数据。如下图是HREF相关的寄存器功能。

         FPGA的实现,我使用的是quartus Ⅱ编写。因为挺久没写这方面的驱动程序,所以这几天把以前写的程序进行梳理,重新复习下,正好写成学习报告。

最后

以上就是温暖纸飞机为你收集整理的OV系列CMOS图像传感芯片的接口时序的FPGA实现的全部内容,希望文章能够帮你解决OV系列CMOS图像传感芯片的接口时序的FPGA实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部