基于FPGA的视频信号采集与处理系统方案.docx

上传人:b****8 文档编号:9713000 上传时间:2023-02-06 格式:DOCX 页数:40 大小:878.19KB
下载 相关 举报
基于FPGA的视频信号采集与处理系统方案.docx_第1页
第1页 / 共40页
基于FPGA的视频信号采集与处理系统方案.docx_第2页
第2页 / 共40页
基于FPGA的视频信号采集与处理系统方案.docx_第3页
第3页 / 共40页
基于FPGA的视频信号采集与处理系统方案.docx_第4页
第4页 / 共40页
基于FPGA的视频信号采集与处理系统方案.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

基于FPGA的视频信号采集与处理系统方案.docx

《基于FPGA的视频信号采集与处理系统方案.docx》由会员分享,可在线阅读,更多相关《基于FPGA的视频信号采集与处理系统方案.docx(40页珍藏版)》请在冰豆网上搜索。

基于FPGA的视频信号采集与处理系统方案.docx

基于FPGA的视频信号采集与处理系统方案

基于FPGA的视频信号采集与处理系统

摘要

图像是人类获取和交换信息的主要来源。

现如今,图像处理的应用领域已经涉与到人类生活和工作的方方面面,如航天和航空技术、工业和工程、军事公安、生物医学工程等等。

在图像处理系统中,实时图像的采集是整个系统的前端部分,也是整个系统最重要的部分。

前端的图像采集速度与质量,直接影响到图像处理系统后端的算法处理与应用。

本文主要设计图像处理系统的前端部分,即视频信号的采集。

本文设计中采用CMOS图像传感器OV7670对外界图像进行实时采集,通过FPGA部设计的初始化模块对图像传感器输出信号的格式进行配置。

根据其输出信号的时序,在FPGA部设计采集单元。

采集到的数据一路送到TFT液晶屏上进行实时显示,另一路送入SRAM缓存。

当一帧图像存储完成后,在NIOSII软核中对图像进行处理,并将处理结果以图片的方式,存储到外部存储器SD卡中。

关键字:

FPGA;实时图像;CMOS;图像采集

 

Abstract

Theimageishumanaccessandexchangestheprimarysourceofinformation.Nowadays,Imageprocessingapplicationshaveinvolvedhumanlifeandallaspectsofthework,suchasaerospaceandaviationtechnology,industryandengineering,militarypolice,biomedicalengineeringandsoon.Intheimageprocessingsystem,Real-timeimagecollectionistheheadpartofthewholesystem,isalsothemostimportantpartofthewholesystem.Partoftheimageacquisitionspeedandquality,directlyaffecttheimageprocessingsystemandthealgorithmafterprocessingandtheapplication.

Thispapermainlydesignsimageprocessingsystem,namelytheheadpartofvideosignalcollection.

ThispaperappliedtothedesignofCMOSimagesensortotheoutsideworldOV7670real-timeimageacquisition.ThroughtheFPGAdesigninsidetheinitializationofthemoduleofimagesensoroutputsignalformatconfiguration.Accordingtoitsoutputsignaltiming,IntheFPGAdesigninsideacquisitioncell.ThedatacollectedonewaytoTFTLCDscreenonthereal-timedisplay,andtheotherwayintoanSRAMcache,whenaframeimagestoragecompleted,processingtheimageintheNIOSIIMCU.Andtheresultofprocessing,storagetoexternalstorageSDcard.

Keywords:

FPGA;Real-timeimage;CMOS;Imageacquisition

 

 

1前言

1.1数字图像处理发展史

数字图像处理技术起源于20世纪20年代,当时通过海底电缆从英国伦敦到美国纽约传输了一幅照片,它采用了数字压缩技术。

就1920年的技术水平看,如果不压缩,传一幅图片要一个星期时间,压缩后只需要3小时。

1964年美国的喷气推进实验室处理了太空船“徘徊者七号”发回的月球照片,这标志着第三代计算机问世后数字图像处理概念开始得到应用。

其后,数字图像处理技术得到迅速发展,目前已成为工程学、计算机科学、信息科学、统计学、物理学、化学、生物学、医学甚至社会科学等领域各学科之间学习和研究的对象。

从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。

人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界。

如今图像处理技术已给人类带来了巨大的经济效益和社会效益。

而在图像处理系统中,图像采集是图像处理最重要的前提。

前端的图像采集速度与质量,直接影响到图像处理系统后端的算法处理与应用。

图像采集卡是常用的图像输入设备,通常占用PC机总线的一个插槽。

它主要包括图像存储器单元、CCD或CMOS摄像头接口、PC机总线接口等。

传统的图像采集卡大多数采用PCI接口,这种图像采集卡适用于将模拟信号经A/D转换器转换成数字信号,或本身就是数字信号,再通过PCI接口传输至PC机,进行图像处理。

但使用嵌入式系统实现图像采集和处理时,带有PCI接口的图像采集卡就不适用。

另外在图像处理的实时性方面,一般的所用的PC软件或MCU软件方法已不能满足要求,究其原因就是因为其本质是顺序执行指令,不能做开并行处理。

而一般采集的图像数据量较大,运算量也相应比较大。

另一方面,现今的图像处理应用也向嵌入式小型化方向发展。

因此,现场可编程门阵列(FPGA,Field-ProgrammableGateArray)以其较高的并行处理能力、丰富的部资源和较大的灵活性,在视频图像处理方面,显现出独特的优势。

FPGA,即现场可编程门阵列是用户自编程ASIC的一种,它使用户可以在现场通过编程形成自己所需要的ASIC,并可不断对自己已经提出的要求或初始设计进行更改。

1985年,Xilinx公司推出了世界上第一款FPGA,在随后的20多年的发展过程中,FPGA硬件体系结构和软件开发工具都在不断的完善,成熟。

现在如今,Xilinx、Altera等世界顶级厂商已经将FPGA器件的集成度提高到一个新的水平。

此外,FPGA还嵌入用户可以自己定制的软核CPU,加上完整和多平台设计环境,还可以利用第三方的综合、仿真工具,提高了设计效率,缩短了设计周期。

随着现代大容量、高密度、高速度FPGA的出现,在这些FPGA中一般都嵌有可配置的高速RAM、PLL以与硬件乘法器等DSP专用IP模块,而且在原有逻辑宏单元的基础上嵌入了许多面向DSP的专用模块,结合这些硬件资源使DSP开发者能十分容易地在一片FPGA上实现整个DSP系统,使得之前主要由DSP完成数字图像处理算法,对数字图像进行算法级处理的系统,完全可以在一片FPGA上来实现,大大缩减了外部硬件电路。

同时FPGA中能嵌入高速的ROM和RAM模块,实现高达10Mb/s的读写速率(Altera公司的Stratix系列),FPGA的设计非常灵活,通用DSP芯片通常只有1—4个乘法器,而在FPGA中可以配置数十个乘法器(例如Altera公司最新的低成本的CycloneII系列FPGA可以提供多达150个18×18位的乘法器),用来实现通用的DSP功能。

很多FPGA供应商提供了专用的开发软件(例如Altera公司的DSPBuilder),以MATLAB工具箱的形式出现,利用MATLAB中的Simulink工具进行图像化设计,建立各种数字信号DSP模型,完成后利用DSPBuilder将其转换成硬件描述性语言VHDL,通过综合、下载,最后得到能实现DSP功能的FPGA电路,使得DSP算法处理开发变得简单。

1.2系统整体设计

本文主要研究是基于FPGA设计一个完整和视频信号采集与存储系统。

本系统能够实时采集数据,其图像的质量可以通过对数字图像传感器进行配置初始化,以得到最佳图像。

之后送入FPGA,一方面在TFT液晶屏上实时显示,另一方面在存入SRAM缓存,然后在NIOSII软核中对其进行处理,之后以图片的格式存入SD卡。

基本系统框图如图1-1所示:

图1-1系统框图

所应用场合如图1-2所示。

:

图1-2参考应用场合

 

2CMOS原理和特性与CMOS摄像头的基本结构

2.1CMOS原理与特性

CMOS(ComplementaryMetal-Oxide-Semiconductor)图像传感器是在60年代末期出现的,但由于其性能的不完善严重影响了图像质量,从而制约了它的发展和应用。

在70年代和80年代,CCD在可见光成像方面取得了主角的地位。

进入到90年代,由于对小型化、低功耗和低成本成像系统消费需求的增加和芯片制造技术和信号处理技术的发展,为新一代低噪声、优质图像和高彩色还原度的CMOS传感器的开发铺平了道路,CMOS图像传感器成为固体图像传感器的研究开发热点,CMOS传感器的性能也因此大大提高。

CMOS图像传感器的迅速发展并商业化得益于成熟的CMOS工艺,目前国外诸多公司和科研机构已经开发出不同光学格式、多种类型的CMOS图像传感器,并将其应用于光谱学、X射线检测、天文学(观测研究)、空间探测、国防、医学、工业等不同的领域。

2.1.1CMOS数字图像传感器基本原理

CMOS数字摄像头是由CMOS数字图像传感器芯片、芯片外围电路和光学镜头组成的。

在通常情况下,图像传感器芯片的性能就决定了摄像机的性能。

典型的CMOS图像传感器芯片是由像素感光阵列与辅助电路构成,其结构如图2-1所示。

其中像素感光阵列主要完成光电转换功能,实现图像的采集,是芯片的核心组成部分。

辅助电路主要完成驱动信号的产生、光电信号的处理和信号输出等任务,是芯片实现各种功能的关键电路。

图2-1CMOS图像传感器基本组成原理

像素感光阵列是由光电二极管和MOS场效应管阵列构成的集成电路。

在实际工作中,CMOS图像传感器首先在行选择译码器的控制下依次接通被选中行的像素模拟开关,图像信号通过行开关传送到列线上,再通过列选择译码器的控制传送到放大器。

经过处理的模拟信号最后由A/D转换器进行模数转换,再经预处理电路处理后通过接口电路输出。

2.1.2CMOS图像传感器的特性

(1)光照特性

CMOS传感器的主要应用也是图像的采集,也要求能够适应更宽的光照围。

因此也必须采用非线性的处理方法和自动调整曝光时间与自动增益等处理方法。

结果与CCD相机一样损失了光电转换的线性,正因为此项,它也受限于灰度的测量。

(2)输出特性

CMOS图像传感器的突出优点在于输出特性,它可以部分输出任意区域围的图像。

(并非所有CMOS传感器都具有这个功能,如果生产厂家没有给您提供)这个特性在跟踪、寻的、搜索与室外拍照等的应用前景非常之好。

也是CCD传感器所无法办到的。

(3)光谱响应

光谱响应受半导体材料限制,同种硅材料的光谱响应基本一致,与CCD的光谱响应基本一致。

(4)光敏单元的不均匀性

光敏单元的不均匀性是CMOS图像传感器的弱项,因为它的光敏单元不像CCD那样严格的在同一硅片上用同样的制造工艺严格制造,因此远不如CCD的光敏单元的一致性好,但是它部集成单元多,处理能力强能够弥补这个缺陷。

2.2COMS传感器的基本结构

2.2.1OV7670简介

下面以OmniVision公司的OV7670图像传感器为例,来说明COMS传感器的基本结构。

OV7670CAMERACHIPTM图像传感器,体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。

通过SCCB总线控制部寄存器,可以使OV7670输出整帧、子采样、取窗口等方式的各种分辨率的图像数据。

SCCB是OmniVision公司定制的串行摄像头控制总线(Serialcameracontrolbus),它用于对摄像头的寄存器进行读写,以达到对摄像头输出图像的控制。

两线制SCCB与I2C总线类似,是一种双向二线制同步串行总线。

SCCB的数据传输由微处理器控制,微处理器能够发出数据传输启动信号、时钟信号以与传送结束时的停止信号。

SCCB接口有两个管脚,SIO_C是SCCB时钟输入信号,它的最大频率为400KZ,SIO_D是SCCB数据输入输出口,根据协议把参数写入寄存器和读取寄存器的数值。

SCCB的时序图,如下图2-2所示:

图2-2SCCB控制协议

OV7670摄像头的VGA图像最高达到30帧/秒。

用户可以完全控制图像质量、数据格式和传输方式。

所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。

OmmiVision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。

其主要性能参数,如表2-1所示:

表2-1OV7670性能参数

2.2.2OV7670部结构

其部功能模块如图2-3所示:

图2-3OV7670部组成

其中包括:

(1)感光阵列(共有656x488个像素,其中在YUV的模式中,有效像素为640x480个),如图2-4所示,显示了一个断面的图像传感器阵列

图2-4一个断面图像传感器阵列

(2)模拟信号处理

该模块执行所有模拟功能,包括:

1自动增益

2自动白平衡

③A/D转换

原始的信号经过模拟处理器模块之后,分g和BR两路进入一个10位的A/D转换器,A/D转换器工作在12M频率,与像素频率完全同步,(转换的频率和帧率有关)。

除A/D转换器外,该模块还有以下两个功能:

(3)黑电平校正(BLC)

(4)U/V通道延迟

(5)A/D围控制

A/D围乘积和A/D的围控制共同设置A/D的围和最大值,允许用户根据应用调整图片的亮度。

(6)测试图案发生器

测试图案发生器有如下功能:

1八色彩色条图案

2渐变至黑白彩色条图案

3输出脚移位“1”

(7)数字信号处理器

该模块控制由原始信号插值到RGB信号的过程,并控制一些图像质量:

1边缘锐化(二维高通滤波器)

2颜色空间转换(原始信号到RGB或者YUV/YCbYCr)

3RGB色彩矩阵以消除串扰

4色相和饱和度的控制

5黑/白点补偿

6降噪

7镜头补偿

8可编程的伽玛

9十位到八位数据转换

(8)图像缩放

这个模块按照预先设置的要求输出数据格式,能将YUV/RGB信号从VGA缩小到CIF以下的任何尺寸。

(9)时序发生器

通常时序发生器有以下功能:

1阵列控制和帧率发生

2部信号发生器和分布

3帧率的时序

4自动曝光控制

5输出外部时序(VSYNC,HREF/HSYNC和PCLK)

其输出外部时序如图2-5所示:

水平时序:

图2-5OV7670输出水平时序

VGA框架时序如图2-6所示:

图2-6OV7670输出VGA框架时序

(10)数字视频端口

寄存器COM2[1:

0]调节IOL/IOH的驱动电流,以适应用户的负载。

(11)SCCB接口

用于对OV7670部各个寄存器的读与写。

(12)LED和闪光灯输出控制OV7670/OV7171有闪光灯模式,控制外接闪光灯或闪光LED的工作。

3系统设计与硬件实现

3.1系统结构与工作流程

3.1.1系统结构

在前言中已经提到,本系统的主要是基于FPGA架构的,由FPGA作为核心控制与处理单元,其余外部设备与芯片包括SRAM存储器、SDRAM存储器、EPCS4配置芯片、TFT液晶显示屏等。

系统框图如图3-1所示,

图3-1系统总体框架

3.1.2系统工作流程

(1)系统上电,FPGA通过配置芯片完成硬件电路配置;

(2)硬件电路配置完毕,FPGA部的特定模块对OV7670和TFT液晶屏进行寄存器的配置初始化设置;

(3)初始化设置完毕,启动OV7670,FPGA采集图像数据到FPGA部,经过格式转换后,一路存入SRAM缓存,一路直接在TFT液晶屏上实时显示。

(4)一帧图像数据全部存入SRAM后,FPGA部的NIOSII软核读取SRAM图像数据并解析,处理后以图片格式存入SD卡中。

3.2器件选型与硬件电路实现

3.2.1FPGA选型

FPGA是该系统的核心,由于本系统目前只是完成简单的图像处理,故FPGA选用Altera公司的低成本FPGACyclonelI系列器件。

CycloneII系列器件简介如表3-l所示。

表3-1CycloneII系列FPGA参数对比

CycloneII器件采用90nm工艺制造,它延续Cyclone的低成本定位,在逻辑容量、PLL、乘法器和I/O数量上都较Cyclone有了很大的提高,应用CycloneII进行图像处理开发有如下优点:

(1)低成本高性能,适应图像处理要求较高的需要。

CycloneII器件架构是专门为低成本设计优化的,提供了大量的逻辑单元(LE),密度超过第一代CycloneFPGA三倍;其部的逻辑资源可以用来实现复杂的应用。

与其他低成本90nmFPGA相比,CycloneIIFPGA快60%,是市场上性能最好的低成本90nmFPGA。

(2)丰富的嵌存储器资源,适应大量图像数据存取的需要。

CyclonelIFPGA基于流行的M4K存储器块,提供大量的嵌入式存储器,支持多种操作模式的配置,包括RAM、ROM、FIFO缓冲器以与单端口和双端口模式。

(3)丰富的硬件乘法器,适应图像处理算法的需要。

CycloneIIFPGA提供了大量的比特乘法器,可用于实现通用DSP功能。

出于成本与系统实现功能的考虑,本系统的FPGA目前暂时选用EP2C8Q208C8。

3.2.2FPGA配置电路

由于目前的FPGA大多采用SRAMI艺,系统掉电后SRAM部的数据将丢失,无法保存,因此必须通过外部配置,才能再次对FPGA部的多路器、逻辑、互连线结点和RAM初始化容进行编程。

下面简单介绍一下FPGA的三种配置方式。

①FPGA主动方式

在主动方式下,配置过程如下:

FPGA主动输出控制和同步信号(包括配置时钟)给Altera专用的串行配置芯片(EPCSl和EPCS4等),配置芯片在收到命令后,将配置数据发送到FPGA。

要支持的这种主动方式,AlteraFPGA只能够与Altem公司提供的主动串行芯片(EPCS系列)配合使用,Altem称这种配置方式为主动串行AS(ActiveSerial)模式。

AS方式下配置芯片与FPGA相连的信号有:

串行时钟输入(DCLK),AS控制信号输入(ASDI),片选信号(nCS),串行数据输出。

②FPGA被动方式

在被动方式下,由系统中的其他设备,如Altem的配置芯片(EPC系列)、微处理器、CPLD等发起并控制配置过程,FPGA处于完全被动的地位。

FPGA接收配置时钟、配置命令和配置数据,给出配置的状态信号以与配置完成指示信号等。

被动方式可以具体细分为以下多种模式,包括被动串行PS(PassiveSerial)、快速被动并行FPP(FastPassiveParallel)、被动并行同步PPS(PassiveParaltelSynchronous)、被动并行异步PPA(PassiveParallelAsynchronous),以与被动串行异步PSA(PassiveSerial

Asynchronous)。

上述模式这里不再详述。

PS方式下配置设备与FPGA相连的信号有:

DCLK(配置时钟),DATA0(配置数据),nCONFIG(配置命令),nSTATUS(状态信号),CONFDONE(配置完成指示)。

③JTAG方式

JTAG是IEEE1149.1边界扫描测试的标准接嗣。

绝大多数的AlteraFPGA都支持由JTAG口进行配置,并支持JAMSTAPL标准,JTAG配置方式比其他任何一种配置方式的优先级都高。

扶JTAG接叠进行配置可以使用Altera的下载电缆,通过QuartosII工具下载,也可以采用微处理器来模拟JTAG时序进行配置。

JTAG方式下FPGA需要用到以下信号:

TDI(测试数据的输入),TDO(测试数据的输出),TMS(模式控制管脚,决定JTAG电路部的TAP状态机的跳转),TCK(测试时钟)。

CycloneII的器件都支持上述三种配置方式,本系统可以通过不同的下载接口可以选择采用AS方式还是JTAG方式。

电路原理图如图3-2所示。

图3-2FPGA配置电路

3.2.3SDRAM电路实现

本系统FPGA部设计有NIOSII软核,SDRAM主要用来存放软件MCU中的软件程序,软核CPU中设计的复位基地址ResetVevtor与中断向量基地址ExceptionVector,都定义在SDRAM上,即通常说的存。

如下图3-3所示:

图3-3SDRAM设置

在Altera公司FPGA开发软件quartusii中,集成有SOPCBulider。

SOPC(SystemOnProgrammableChip,可编程片上系统)是Altera公司提出的一种灵活、高效的SOC解决方案,是一种新的软硬件协同设计的系统设计技术。

它将处理器、存储器、I/O口、LVDS和CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程片上系统。

本系统所用的SDRAM控制器,就是在SOPCBuilder中生成,大大减小了开发难度。

对于本系统而言,只需要一片SDRAM(K4S641632),其大小为64Mb(1M×16Bit×4Bank)。

FPGA与SDRAM的连接比较简单,只需要在FPGA部实现SDRAM控制器并且配置FPGA相应引脚为SDRAM对应的引脚,即A0—A10,BA0一BAl,DQ[15:

0],CLK,CKE,aWE,nCAS,nRAS,LDQM,UDQM,然后将上述引脚与SDRAM相连即可。

电路原理图如图3-4所示。

图3-4SDRAM硬件电路图

3.2.4SRAM电路实现

在该系统中,SRAM主要用来做为图像数据的缓存,用以之后软核CPU对图像的处理工作。

本系统采用一片IS61LV25616-10TSRAM芯片即可达到系统要求,FPGA与SRAM的连接如下图3-5所示,此模块最主要的是其控制器的设计,将在下一章软件设计时详细说明。

图3-5SRAM硬件电路图

3.2.5其他硬件电路

上面将几个比较复杂的模块详细说明了一下,剩余的几个模块,如OV7670、TFT液晶、SD卡。

这几个与FPGA之间都只是简单的接线连接,在这里就不再详细叙述。

这几个模块最重要的是软件设计,将在下一章详细说明。

4系统软件设计

4.1软件设计概述

本系统软件设计主要分两部分,一部分是由硬件描述语言设计的系统各个外部的控制模块,如PLL、MCU主控模块、OV7670初始化模块、0V7670数据采集模块、SRAM控制、TFT液晶显示控制等。

另一部分是NIOSII软核中的程序设计,主要包括:

SD卡控制、图像算法处理等。

系统框图如下图4-1所示:

图4-1FPGA部功能模块连接图

系统启动后,MCU先完成对TFT液晶的初始化设置,然后OV7670初始化模块完成对OV7670部各寄存器的配置;完成后产生一个信号,通知MCU单元0V7

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1