基于FPGA和USB 2.0的数字图像采集系统设计

发布者:脑洞狂想最新更新时间:2012-02-13 来源: 电子元器件应用 关键字:FPGA  图像传感器  USB2.0  SCCB 手机看文章 扫描二维码
随时随地手机看文章

0 引言
    在当今信息化的时代,在机器获取现实世界信息方面,图像由于具有信息面全、直观、方便直接的特点而受到广泛的研究。图像采集与处理系统在工业检测、智能控制、医学成像、安全监控、航空航天等方面得到了广泛的应用。人们在图像获取渠道上不断的提升图像传感器的性能,改进图像获取的硬件组件与系统结构;同时在图像的处理上提出一系列的新型或是改进的处理技术来改进图像的处理质量与处理速度,以便能够满足当前应用对图像质量、实时性能、精准控制等方面的要求。

    现有的图像传感器芯片有CCD和CMOS两种类型。CCD图像传感器具有良好的性能,但其外部电路复杂,不适合于低成本系统;而随着CMOS集成电路工艺技术的发展,CMOS图像传感器得到了快速的发展,与CCD相比,它具有制造工艺成熟、易集成、低成本、低功耗、体积小以及使用简单等优点。随着集成电路工艺技术的提高,CMOS图像传感器在分辨率、噪声等方面都有显著的改善,使得它在越来越多的领域上得到应用,它适用于低功耗的小型图像采集系统。

    目前大量的图像采集系统采用CPLD或者单片机作为图像采集的时序控制接口,如文献,或者是用DSP作为图像处理的主处理器,如文献。这二者在各自的方面都有各自的优势,但它们的专用性太强,CPLD与单片机在时序控制方面有优势而图像处理能力弱,DSP则是图像处理能力强而时序控制能力差。FPGA是介于专用集成电路与原有的可编程逻辑器件之间的一种半定制电路器件。它具有丰富的I/O接口、低功耗、兼容CMOS和TTL电平、可重复擦写,易于在线调试等优点,可以使系统开发具有周期短,风险小,费用低的优点。它的时序控制能力强,在并行处理的算法方面具有较大优势,具有较强的图像处理能力,同时在嵌入式系统方面的应用也具有较好的前景。

    USB总线接口技术是一种PC与外围设备进行高速通信的接口,它具有可以即插即用、连接方便简单、易于扩展外围设备以及高速传输等优点,适用于有大量数据传输的场合,满足图像传输数据量大的特点,同时作为一种通用串行总线,它的使用使得系统能够被移植到更多的应用场合当中。

1 系统硬件组成

    系统硬件的整体结构如图1所示,它包括有搭载有OV7620图像传感器的C3188模组、FPGA、SRAM存储器、USB 2.0接口芯片、以及PC端上位机几部分组成。


    在系统上电时,由FPGA通过模拟SCCB总线,完成对图像传感器的初始化工作;在完成初始化工作以后,FPGA开始在OV7620产生的时序信号控制下进行图像数据的采集,并将之存储在SRAM当中;当存满一帧的图像后,在FPGA的控制下,图像数据由SRAM通过CY7C68013A传送到PC端,USB芯片被设置在从模式的工作状态下;上位机程序接收来自USB芯片的数据并将之实时的显示,完成图像数据的采集与传输。

2 OV7620的性能参数及初始化

    OV7620是CMOS彩色/黑白图像传感器。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664×492,帧速率为30 f/s;数据格式包括YUV,YCrCb,RGB三种,能够满足一般图像采集系统的要求。OV7620具有丰富的编程功能,应用开发者可以通过SCCB控制总线来对芯片相关参数进行设置,以达到控制输出图像大小、增益、颜色、爆光时间、输出格式等,以使所获得的图像满足应用的需要。

    SCCB接口是采用一种简单、双向二线制的同步串行总线。它是简化的I2C协议,其中SIO-1是串行时钟输入线,SIO-O是串行双向数据线,分别相当于I2C协议的SCL和SDA。图中其中的SDA,SCL两根线由于是开漏输出,因此需要有上拉电阻,在本系统中接1 kΩ的上拉电阻。SCCB的总线时序与I2C基本相同,它的响应信号ACK被称为一个传输单元的第9位,分为Don’t care和NA。Don’t care位由从机产生;NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’t care响应信号,其二线制的控制时序与I2C相仿,如图2所示。


    在FPGA当中,采用普通IO口模拟SCCB的时序,由于本系统只需要在上电时对图像传感器进行初始化的参数设置,而SCCB的写时序与I2C的写时序完全兼容,因此,在程序中只需要模拟I2C的单字节写过程。C3188模组与FPGA的连接关系图如图3所示。[page]

    程序中使用顺序的方式,将要发送的数据逐位发送的方式来进行设置,其状态机如图4所示。


    将要初始化的寄存器地址以及所要设置的值直接存放于parameter定义的参数中;在上电时,通过I2C程序将这些写到OV7620当中,实现图像传感器的初始化工作。

3 CY7C68013A芯片SLAVE FIFO模式固件编写
    由于系统用于图像的采集,具有数据量大,实时性要求高的特点,因此采用USB 2.0接口,以便能满足实时,高速的数据传输。为了达到最快的传输速率,使用SLAVE FIFO模式,在该模式下,USB芯片的数据传输不需要8051的参与,便于大量连续的数据传输,在这种模式下需要有一个外部的控制时序,而FPGA恰能提供相关的时序,同时为了能够与图像数据同步,采用外部输入时钟,同步传输方式,采用8位数据传输。在该应用中,寄存器EP2CFG配置了端点2作为IN端点传输FPGA来的数据至上位机,寄存器EP2FIFOCFG使能自动传输;寄存器EP6CFG配置端点6为OUT端点,寄存器EP6FIFOCFG使能自动传输;并在寄存器FIFOPINPOLAR中设置了端点的满标志为高电平有效,这是由于在刚上电下载完FPGA程序后,FPGA即对图像进行采集并存储至SRAM当中,而上电时FPGA的引脚默认为高电平,如果没有设置高电平为EP2的满有效,则在下载USB固件之前FPGA会误认为是USB的端点一直处于非满状态而一直传送数据,这样,在下载完USB固件后,主机端所得到的图像就不能保证它是从一帧图像的第一个数据开始传输而是与下一帧的图像有一定的错位。在设置EZ-USB FX2LP为SLAVE FIFO模式的过程大致是:配置IFCONFIG[1:0]=11,先把SLAVE FIFO模式;复位相应端点,即使用FIFOREST寄存器;配置所要用的端点大小,类型,以及传输方向,使用EPxCFG,式中x代表2,4,6,8;设置各端点的空标志,满标志和可编程标志值,使用PINFLAGAB和PINFLAGCD寄存器;配置是否使能自动传输以及传输的位宽,使用EPxFIFOCFG,式中x代表2,4,6,8;本应用中的USB固件程序的部分代码如下:
   

4 FPGA对图像数据的采集、存储及对USB的传输控制
4.1 FPGA对图像的采集控制
    FPGA对图像的采集控制是通过OV7620的VSYNC,HREF,PCLK三个源同步时序信号来对图像进行采集。首先是在1个状态机中检测VSYNC信号,当VSYNC的高电平来临时,初始化所有的内部寄存器,包括SRAM的地址寄存器,SRAM的写控制信号,数据总线读写方向的选择信号,USB的写使能信号,内部计数寄存器等;等VSYNC来临之后,表示新的一帧开始了,接下来等待图像的行信号使能来临,当HREF到来之后,就可以将图像的数据写进SRAM当中了,这个写过程需要两个CLK,在第一个时钟周期中更改SRAM的写地址,第2个CLK周期将连接在数据总线上的图像数据写进SRAM中,同时对内部的图像计数器进行计数,这个过程中要在HREF为高电平的时候进行存储;当计数达到一帧,也就是153 600 B的时候结束采集的过程,并更改相应的控制信号,准备USB的操作信号,进行FPGA对USB芯片的控制,将SRAM当中的一幅完整的图像能过USB传至USB当中,整个采集与传送的状态流程如图5所示。


4.2 FPGA对USB芯片的控制
    在FPGA完成了一幅图像的采集并将图像的数据存储在片外的SRAM当中以后,接下来要做的事情就是将所存储的图像传给USB芯片,这个过程当中,FPGA要控制SRAM的写信号,同时使能数据总线的方向为输出方向。FPGA对USB的写首先是花费一个CLK的时间从SRAM当中取出一个数据,之后在第2个CLK时间内判断它的端点满标志,如果USB端点已经满了,则等待,如果非满,则拉低写信号使能信号同时地址计数器加1,返回上一个取数据的状态继续取下一个数据,直到传完一幅图片,之后返回初始的状态重新等新的一帧开始信号的到来。

[page]

5 上位机读取数据
    应用程序是系统与用户的接口,它通过通用驱动程序完成对外设的控制和通信。本应用中使用VC++6.0进行开发。EZ-USB Fx2LP开发套件提供了主机端驱动程序(cyusb.sys),当中提供了快捷方便的设备接口类,基于这些类,可以使用户快速的完成系统相应部分的开发。程序中使用单线程异步数据的传输,每次的传输取一帧图像,并显示在对话框中。
    程序的部分代码如下,在该段代码中,首先是调用WaitForXfer函数启动异步传输,如果数据传输成功,则返回相应字节的数据,调用自定义的显示函数就可以将图像显示在对话框当中,否则断开线程,结束数据传输。以下为部分代码:


6 系统测试结果
    系统的硬件架构为:FPGA开发板使用北京威视锐科技有限公司的红色飓风Ⅱ代RC2-1C6开发板,其板上搭载Altera公司的EPIC6Q240C8芯片,配有Cypress公司的USB 2.0芯片CY7C68013A、ISSI公司的IS61LV25616AL芯片,并提供了三组扩展接口JE1,JE2,JE3供用户使用,图像传感器芯片使用OmnniVision Corporation的OV7620芯片。整个系统的连接关系如图6所示,C3188板所需要的5V与3.3V电源由板上扩展接口JE1上的电源引脚提供,OV7620与FPGA开发板的数据通过JE3,JE2相连,传感器使用的SCCB配置线SCL,SDA通过外接1kΩ的上拉电阻至3.3V。


    实验的部分图像如图7,图8所示,其中图7大小为320×240,图8的大小为160×240。



7 结语
    本文以FPGA为控制核心,介绍了CMOS图像传感器的数据采集与存储,并应用USB 2.0芯片CY7C68013A进行数据的传输。FPGA为控制核心主要完成了OV7620的初始化工作,数据采集与存储以及CY7C68013A芯片的时序控制;USB 2.0芯片工作在SLAVE FIFO模式下,便于图像数据的快速传输。充分利用了FPGA丰富的接口资源以及USB 2.0的高速传输特点。与文献相比,具有更快的传输速度,便于实时的监测。整个系统结构简单,便于维护扩展;而FPGA的加入可作为并行计算的平台,对于图像数据的实时处理具有一定的优势。本系统可应用于如工业检测等需要高的图像处理速度以及实时的监测能力,而FPGA的应用使得它可以作为小型嵌入式系统,USB2.0接口的使用提高了系统有着较好的可移植性。

关键字:FPGA  图像传感器  USB2.0  SCCB 引用地址:基于FPGA和USB 2.0的数字图像采集系统设计

上一篇:应用平行极板式电容传感器检测润滑油品质的研究
下一篇:移动式输油系统多功能控制电路的研制

推荐阅读最新更新时间:2024-05-02 21:54

利用FPGA实现异步FIFO设计
目前数据采集系统朝着高速和高精度的方向发展。随着FPGA的集成度和运行速度的提高,可以满足高速数据采集系统的需求。FPGA内部具有丰富的存储单元,易于实现各种存储器(如FIFO、双口RAM等);另外,基于查找表的逻辑单元可用于实现各种数字信号处理(如滤波等),以辅助DSP处理器做各种预处理。 TI公司推出的高性能数字信号处理芯片TMS320C6000系列,工作频率最高可达到1GHz,具有处理速度快、灵活、精确和可靠性高等优点,作为数据采集系统中的主处理器,可以满足实时性的要求。基于以上考虑,北京合众达公司开发了采用TMS320C6416和FPGA的高速高精度双通道数据采集系统,每个通道的采样率为3Msps,最高可达10Msp
[半导体设计/制造]
基于FPGA的通信接口模块的设计
  某新型设备分为两个相互分离的部分:射频及信号处理部分(简称“前端”)、数据处理及系统控制部分(简称“后端”),两部分之间相距较远。前端由多个模块组成,均受后端中心机的控制,并且还需向中心机传输模块状态信息。为保证两部分之间的通信并尽量简化通信线路设计,需要在前端设置通信接口模块,负责前端各模块与中心机之间的通信。文中设计了一个通信接口模块,通过光纤接口与中心机连接,实现了对前端受控模块的远程控制和状态监测。   中心机和前端受控模块之间相距较远,而且需要传输较大的数据量。一般的485串行接口已无法满足要求,而光纤具有传输速度快、传输距离远、抗干扰能力强和重量轻等优点,在高速通信中得到了广泛应用。因此这里选择光纤作为通信介质
[单片机]
基于<font color='red'>FPGA</font>的通信接口模块的设计
超高色彩敏感度图像传感器问世
图像传感器一直不断追求更好的颜色敏感度,近期,由西班牙格拉纳达大学和意大利米兰理工大学组成的一队研究人员,利用“横场检测器”(“Transverse Field Detector” )技术研发出一款能区分36种单颜色通道的图像传感器,这种传感器无需任何的滤镜系统,它具备标准RGB传感器和人眼12倍以上的颜色敏感度。 左:传统传感器记录RGB三通道色彩信息,最终合成彩色照片,右:TFD传感器可记录36通道色彩信息 这种传感器技术与适马Foveon X3传感器类似。不同的是它用TDF代替传统的颜色阵列材料,利用的概念也是利用不同波长(颜色)的光穿透硅材质不同深度记录信号。使用这种技术,新系统号称搭载了高达36种不同的颜色通
[嵌入式]
积高电子CMOS图像传感器封装车间进入试生产
据无锡日报报道,近日,在积高电子(无锡)公司最新建成的厂房里,全球顶级的CMOS图像传感器封装车间投入试生产。 此外,积高电子董事长王国建表示,积高电子审时度势,自主投资1.5亿元建新厂房,其中10级无尘室属于顶级CMOS图像传感器的封装环境,且同时具备CMOS图像传感器的晶圆测试、芯片封装和成品测试功能(如图)。工厂原计划今年底投产,但下游厂商亟需积高电子迅速达产。区和街道两级政府得知后,积极协调相关单位,将“无难事、悉心办”营商政策落在每个细微之处,以最短的时间完成相关手续办理及配套设施建设,工厂提前半年投产,为最终用户提供高端CMOS图像传感器。 据了解,2019年2月19日,积高电子图像传感器研发生产项目参与2019年
[手机便携]
积高电子CMOS<font color='red'>图像传感器</font>封装车间进入试生产
利用Virtex-5 FPGA实现更高性能的方法
在FPGA系统设计中,要达到性能最大化需要平衡具有混合性能效率的元器件,包括逻辑构造(fabric)、片上存储器、DSP和I/O带宽。在本文中,我将向你解释怎样能在追求更高系统级性能的过程中受益于Xilinx 的Virtex-5 FPGA构建模块,特别是新的ExpressFabric技术。以针对逻辑和算术功能的量化预期性能改进为例,我将探究ExpressFabric架构的主要功能。基于实际客户设计的基准将说明Virtex-5ExpressFabric技术性能平均比前一代Virtex-4 FPGA要高30%。 利用新的逻辑构造(在里面你可以实现诸如计数器、累加器和RAM/ROM存储)和可用的硬IP模块、存储器及DSP(经最优化以运
[应用]
新一代柔性图像传感器有望实现
  记者近日从合肥工业大学获悉,该校首次制备出大晶粒非层状结构的硒化镍薄膜,并成功将其构筑为光探测器阵列,为新一代柔性 图像传感器 的研发提供了新的方法。相关成果日前发表在国际材料领域权威期刊《先进材料》上。下面就随嵌入式小编一起来了解一下相关内容吧。   未来 可穿戴 智能设备要求 图像传感器 具有柔性,可以弯曲折叠,而目前在数码相机中广泛应用的集成 图像传感器 ,由于其硅基底不具有柔性,难以满足未来需求。而柔性低维材料被认为是硅基底的理想替代者。   该校材料科学与工程学院王敏教授和陈翌庆教授团队与韩国成均馆大学科研人员合作,提出了一种新的界面限域外延生长方法,成功制备出高质量大晶粒非层状结构硒化镍薄膜。课题组通过硒化镍微米
[嵌入式]
中国图像传感器发展路在何方
前不久,中国半导体芯片自给率低的话题引发行业热议,自给率已经成为中国半导体行业发展的瓶颈——各类芯片的自给率数据触目惊心,中国半导体人蓦然惊觉,原本看似欣欣向荣的中国半导体产业却依旧让国际厂商捏着七寸,而这些自给率“重灾区”就包括了图像传感器这一类别。 图像传感器,顾名思义就是将光学图像转换为计算系统能够处理的电子信号。根据采用的感光元件不同,通常分为CCD(电荷耦合器件)图像传感器与CMOS(互补金属氧化物半导体)图像传感器两类,相较于CCD图像传感器较高的制造成本,随着CIS(CMOS图像传感器)技术的发展,CIS逐渐实现了比CCD更广泛的应用。 由于中国半导体起步较晚、基础较差,商用CCD芯片的开发完全落于人后,市场
[传感器]
中国<font color='red'>图像传感器</font>发展路在何方
Chipworks反向分析三星200万像素CMOS图像传感器
反向工程(reverse engineering)及系统分析公司Chipworks日前宣布,该公司分析了三星电子最新的S5K3BAF 200万像素CMOS图像传感器(CIS)模组。这是Chipworks首次发现运用了130纳米铜工艺的CIS技术。图像阵列的De-Metallized Zone(DMZ)结构消除了反射耐蚀层,提升了光学效率。 Chipworks技术情报部经理Gary Tomkins表示:“三星电子这套整合方案十分巧妙,把介电堆迭的图像阵列电介质进行解耦。它容许了外部电路更多金属的应用,保证了更高素质的晶体管整合及系统性能。除此之外,130纳米铜工艺允许应用MIM(金属-绝缘体-金属)电容器,以及有源像素传感器(AP
[焦点新闻]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved