毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc

上传人:文库蛋蛋多 文档编号:3979286 上传时间:2023-03-30 格式:DOC 页数:48 大小:1.45MB
返回 下载 相关 举报
毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc_第1页
第1页 / 共48页
毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc_第2页
第2页 / 共48页
毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc_第3页
第3页 / 共48页
毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc_第4页
第4页 / 共48页
毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGA的视频信号采集与处理系统.doc(48页珍藏版)》请在三一办公上搜索。

1、摘 要图像是人类获取和交换信息的主要来源。现如今,图像处理的应用领域已经涉及到人类生活和工作的方方面面,如航天和航空技术、工业和工程、军事公安、生物医学工程等等。在图像处理系统中,实时图像的采集是整个系统的前端部分,也是整个系统最重要的部分。前端的图像采集速度及质量,直接影响到图像处理系统后端的算法处理及应用。本文主要设计图像处理系统的前端部分,即视频信号的采集。本文设计中采用CMOS图像传感器OV7670对外界图像进行实时采集,通过FPGA内部设计的初始化模块对图像传感器输出信号的格式进行配置。根据其输出信号的时序,在FPGA内部设计采集单元。采集到的数据一路送到TFT液晶屏上进行实时显示,

2、另一路送入SRAM缓存。当一帧图像存储完成后,在NIOS II软核中对图像进行处理,并将处理结果以图片的方式,存储到外部存储器SD卡中。关键字:FPGA; 实时图像; CMOS; 图像采集AbstractThe image is human access and exchanges the primary source of information. Nowadays, Image processing applications have involved human life and all aspects of the work, such as aerospace and aviatio

3、n technology, industry and engineering, military police, biomedical engineering and so on. In the image processing system, Real-time image collection is the head part of the whole system, is also the most important part of the whole system. Part of the image acquisition speed and quality, directly a

4、ffect the image processing system and the algorithm after processing and the application.This paper mainly designs image processing system, namely the head part of video signal collection.This paper applied to the design of CMOS image sensor to the outside world OV7670 real-time image acquisition. T

5、hrough the FPGA design inside the initialization of the module of image sensor output signal format configuration. According to its output signal timing, In the FPGA design inside acquisition cell. The data collected one way to TFT LCD screen on the real-time display, and the other way into an SRAM

6、cache, when a frame image storage completed, processing the image in the NIOS II MCU. And the result of processing, storage to external storage SD card.Key words:FPGA; Real-time image; CMOS; Image acquisition目 录1 前 言11.1 数字图像处理发展史11.2 系统整体设计32 CMOS原理和特性及CMOS摄像头的基本结构42.1 CMOS原理及特性42.1.1 CMOS数字图像传感器基本

7、原理42.1.2 CMOS图像传感器的特性52.2 COMS传感器的基本结构62.2.1 OV7670简介62.2.2 OV7670内部结构83 系统设计及硬件实现123.1 系统结构及工作流程123.1.1系统结构123.1.2系统工作流程123.2器件选型及硬件电路实现123.2.1 FPGA选型123.2.2 FPGA配置电路133.2.3 SDRAM电路实现153.2.4 SRAM电路实现173.2.5其他硬件电路184 系统软件设计194.1 软件设计概述194.2 VHDL简介及特点204.3 OV7670初始化模块214.4 OV7670数据采集模块234.5 SRAM控制模块和

8、TFT液晶控制模块254.6 MCU单元设计264.6.1 SOPC Builder简介264.6.2主控制单元MCU的实现284.7 NIOS II软件开发294.7.1 NIOS II集成开发环境294.7.2 MCU软件设计304.7.3简单运动检测314.7.4 BMP图片存储325 总结与展望34参考文献35附录 136附录 243致谢441 前 言1.1 数字图像处理发展史数字图像处理技术起源于20世纪20年代,当时通过海底电缆从英国伦敦到美国纽约传输了一幅照片,它采用了数字压缩技术。就1920年的技术水平看,如果不压缩,传一幅图片要一个星期时间,压缩后只需要3小时。1964年美国

9、的喷气推进实验室处理了太空船“徘徊者七号”发回的月球照片,这标志着第三代计算机问世后数字图像处理概念开始得到应用。其后,数字图像处理技术得到迅速发展,目前已成为工程学、计算机科学、信息科学、统计学、物理学、化学、生物学、医学甚至社会科学等领域各学科之间学习和研究的对象。从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界。如今图像处理技术已给人类带来了巨大的经济效益和社会效益。而在图像处理系统中,图像采集是图像处理最重要的前提。前端的图像采集速度及质量,直接影响到图像处理

10、系统后端的算法处理及应用。图像采集卡是常用的图像输入设备,通常占用PC机总线的一个插槽。它主要包括图像存储器单元、CCD或CMOS摄像头接口、PC机总线接口等。传统的图像采集卡大多数采用PCI接口,这种图像采集卡适用于将模拟信号经A/D转换器转换成数字信号,或本身就是数字信号,再通过PCI接口传输至PC机,进行图像处理。但使用嵌入式系统实现图像采集和处理时,带有PCI接口的图像采集卡就不适用。另外在图像处理的实时性方面,一般的所用的PC软件或MCU软件方法已不能满足要求,究其原因就是因为其本质是顺序执行指令,不能做开并行处理。而一般采集的图像数据量较大,运算量也相应比较大。另一方面,现今的图像

11、处理应用也向嵌入式小型化方向发展。因此,现场可编程门阵列(FPGA,FieldProgrammable Gate Array)以其较高的并行处理能力、丰富的内部资源和较大的灵活性,在视频图像处理方面,显现出独特的优势。FPGA,即现场可编程门阵列是用户自编程ASIC的一种,它使用户可以在现场通过编程形成自己所需要的ASIC,并可不断对自己已经提出的要求或初始设计进行更改。1985年,Xilinx公司推出了世界上第一款FPGA,在随后的20多年的发展过程中,FPGA硬件体系结构和软件开发工具都在不断的完善,成熟。现在如今,Xilinx、Altera等世界顶级厂商已经将FPGA器件的集成度提高到一

12、个新的水平。此外,FPGA还嵌入用户可以自己定制的软核CPU,加上完整和多平台设计环境,还可以利用第三方的综合、仿真工具,提高了设计效率,缩短了设计周期。随着现代大容量、高密度、高速度FPGA的出现,在这些FPGA中一般都内嵌有可配置的高速RAM、PLL以及硬件乘法器等DSP专用IP模块,而且在原有逻辑宏单元的基础上嵌入了许多面向DSP的专用模块,结合这些硬件资源使DSP开发者能十分容易地在一片FPGA上实现整个DSP系统,使得之前主要由DSP完成数字图像处理算法,对数字图像进行算法级处理的系统,完全可以在一片FPGA 上来实现,大大缩减了外部硬件电路。同时FPGA中能嵌入高速的ROM和RAM

13、模块,实现高达10Mb/s的读写速率(Altera公司的Stratix系列),FPGA的设计非常灵活,通用DSP芯片通常只有14个乘法器,而在FPGA中可以配置数十个乘法器(例如Altera公司最新的低成本的CycloneII系列FPGA可以提供多达150个1818位的乘法器),用来实现通用的DSP功能。很多FPGA供应商提供了专用的开发软件(例如Altera公司的DSP Builder),以MATLAB工具箱的形式出现,利用MATLAB中的Simulink工具进行图像化设计,建立各种数字信号DSP模型,完成后利用DSP Builder将其转换成硬件描述性语言VHDL,通过综合、下载,最后得到

14、能实现DSP功能的FPGA电路,使得DSP算法处理开发变得简单。1.2 系统整体设计本文主要研究是基于FPGA设计一个完整和视频信号采集与存储系统。本系统能够实时采集数据,其图像的质量可以通过对数字图像传感器进行配置初始化,以得到最佳图像。之后送入FPGA,一方面在TFT液晶屏上实时显示,另一方面在存入SRAM缓存,然后在NIOS II软核中对其进行处理,之后以图片的格式存入SD卡。基本系统框图如图1-1所示:图1-1 系统框图所应用场合如图1-2所示。:图1-2 参考应用场合2 CMOS原理和特性及CMOS摄像头的基本结构2.1 CMOS原理及特性CMOS(Complementary Met

15、al-Oxide-Semiconductor)图像传感器是在60年代末期出现的,但由于其性能的不完善严重影响了图像质量,从而制约了它的发展和应用。在70年代和80年代,CCD在可见光成像方面取得了主角的地位。进入到90年代,由于对小型化、低功耗和低成本成像系统消费需求的增加和芯片制造技术和信号处理技术的发展,为新一代低噪声、优质图像和高彩色还原度的CMOS传感器的开发铺平了道路,CMOS图像传感器成为固体图像传感器的研究开发热点,CMOS传感器的性能也因此大大提高。CMOS图像传感器的迅速发展并商业化得益于成熟的CMOS工艺,目前国外诸多公司和科研机构已经开发出不同光学格式、多种类型的CMOS

16、图像传感器,并将其应用于光谱学、X射线检测、天文学(观测研究)、空间探测、国防、医学、工业等不同的领域。2.1.1 CMOS数字图像传感器基本原理CMOS数字摄像头是由CMOS数字图像传感器芯片、芯片外围电路和光学镜头组成的。在通常情况下,图像传感器芯片的性能就决定了摄像机的性能。典型的CMOS图像传感器芯片是由像素感光阵列及辅助电路构成,其结构如图2-1所示。其中像素感光阵列主要完成光电转换功能,实现图像的采集,是芯片的核心组成部分。辅助电路主要完成驱动信号的产生、光电信号的处理和信号输出等任务,是芯片实现各种功能的关键电路。图2-1 CMOS图像传感器基本组成原理像素感光阵列是由光电二极管

17、和MOS场效应管阵列构成的集成电路。在实际工作中,CMOS图像传感器首先在行选择译码器的控制下依次接通被选中行的像素模拟开关,图像信号通过行开关传送到列线上,再通过列选择译码器的控制传送到放大器。经过处理的模拟信号最后由A/D转换器进行模数转换,再经预处理电路处理后通过接口电路输出。2.1.2 CMOS图像传感器的特性(1)光照特性CMOS传感器的主要应用也是图像的采集,也要求能够适应更宽的光照范围。因此也必须采用非线性的处理方法和自动调整曝光时间与自动增益等处理方法。结果与CCD相机一样损失了光电转换的线性,正因为此项,它也受限于灰度的测量。(2)输出特性CMOS图像传感器的突出优点在于输出

18、特性,它可以部分输出任意区域范围内的图像。(并非所有CMOS传感器都具有这个功能,如果生产厂家没有给您提供)这个特性在跟踪、寻的、搜索及室外拍照等的应用前景非常之好。也是CCD传感器所无法办到的。(3)光谱响应光谱响应受半导体材料限制,同种硅材料的光谱响应基本一致,与CCD的光谱响应基本一致。(4)光敏单元的不均匀性光敏单元的不均匀性是CMOS图像传感器的弱项,因为它的光敏单元不像CCD那样严格的在同一硅片上用同样的制造工艺严格制造,因此远不如CCD的光敏单元的一致性好,但是它内部集成单元多,处理能力强能够弥补这个缺陷。2.2 COMS传感器的基本结构2.2.1 OV7670简介下面以Omni

19、Vision公司的OV7670图像传感器为例,来说明COMS传感器的基本结构。OV7670 CAMERACHIPTM图像传感器,体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过SCCB 总线控制内部寄存器,可以使OV7670输出整帧、子采样、取窗口等方式的各种分辨率的图像数据。SCCB是OmniVision公司定制的串行摄像头控制总线(Serial camera control bus),它用于对摄像头的寄存器进行读写,以达到对摄像头输出图像的控制。两线制SCCB与I2C总线类似,是一种双向二线制同步串行总线。SCCB的数据传输由微处理器控制,微处理器能够发出数据传输启动信

20、号、时钟信号以及传送结束时的停止信号。SCCB接口有两个管脚,SIO_C是SCCB时钟输入信号,它的最大频率为400KZ,SIO_D是SCCB数据输入输出口,根据协议把参数写入寄存器和读取寄存器的数值。SCCB的时序图,如下图2-2所示: 图2-2 SCCB控制协议OV7670摄像头的VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。OmmiVision 图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。其

21、主要性能参数,如表2-1所示:表2-1 OV7670性能参数2.2.2 OV7670内部结构其内部功能模块如图2-3所示:图2-3 OV7670内部组成其中包括:(1) 感光阵列(共有656x488个像素,其中在YUV的模式中,有效像素为640x480个),如图2-4所示,显示了一个断面的图像传感器阵列图2-4 一个断面图像传感器阵列(2)模拟信号处理该模块执行所有模拟功能,包括: 自动增益 自动白平衡 A/D转换原始的信号经过模拟处理器模块之后 ,分g和BR两路进入一个10 位的A/D 转换器,A/D 转换器工作在12M频率,与像素频率完全同步,(转换的频率和帧率有关)。除A/D转换器外,该

22、模块还有以下两个功能:(3)黑电平校正(BLC)(4)U/V通道延迟(5)A/D范围控制A/D范围乘积和A/D的范围控制共同设置A/D的范围和最大值,允许用户根据应用调整图片的亮度。(6)测试图案发生器测试图案发生器有如下功能: 八色彩色条图案 渐变至黑白彩色条图案 输出脚移位“1”(7)数字信号处理器该模块控制由原始信号插值到RGB 信号的过程,并控制一些图像质量: 边缘锐化(二维高通滤波器) 颜色空间转换( 原始信号到RGB 或者YUV/YCbYCr) RGB色彩矩阵以消除串扰 色相和饱和度的控制 黑/白点补偿 降噪 镜头补偿 可编程的伽玛 十位到八位数据转换(8) 图像缩放这个模块按照预

23、先设置的要求输出数据格式,能将YUV/RGB信号从VGA缩小到CIF以下的任何尺寸。(9)时序发生器通常时序发生器有以下功能: 阵列控制和帧率发生 内部信号发生器和分布 帧率的时序 自动曝光控制 输出外部时序(VSYNC, HREF/HSYNC和PCLK)其输出外部时序如图2-5所示:水平时序:图2-5 OV7670输出水平时序VGA框架时序如图2-6所示:图2-6 OV7670输出VGA框架时序(10)数字视频端口寄存器COM21:0调节IOL/IOH的驱动电流,以适应用户的负载。(11)SCCB接口用于对OV7670内部各个寄存器的读与写。(12) LED和闪光灯输出控制OV7670/OV

24、7171有闪光灯模式,控制外接闪光灯或闪光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内

25、部,经过格式转换后,一路存入SRAM缓存,一路直接在TFT液晶屏上实时显示。(4)一帧图像数据全部存入SRAM后,FPGA内部的NIOS II软核读取SRAM图像数据并解析,处理后以图片格式存入SD卡中。3.2器件选型及硬件电路实现3.2.1 FPGA选型FPGA是该系统的核心,由于本系统目前只是完成简单的图像处理,故FPGA选用Altera公司的低成本FPGA Cyclone lI系列器件。Cyclone II系列器件简介如表3-l所示。表3-1 Cyclone II系列FPGA参数对比Cyclone II器件采用90nm工艺制造,它延续 Cyclone的低成本定位,在逻辑容量、PLL、乘法

26、器和I/O数量上都较Cyclone有了很大的提高,应用Cyclone II进行图像处理开发有如下优点:(1) 低成本高性能,适应图像处理要求较高的需要。Cyclone II器件架构是专门为低成本设计优化的,提供了大量的逻辑单元(LE),密度超过第一代Cyclone FPGA三倍;其内部的逻辑资源可以用来实现复杂的应用。与其他低成本90nm FPGA相比,Cyclone II FPGA快60,是市场上性能最好的低成本90nm FPGA。(2) 丰富的内嵌存储器资源,适应大量图像数据存取的需要。Cyclone lI FPGA基于流行的M4K存储器块,提供大量的嵌入式存储器,支持多种操作模式的配置,

27、包括RAM、ROM、FIFO缓冲器以及单端口和双端口模式。(3) 丰富的硬件乘法器,适应图像处理算法的需要。Cyclone II FPGA提供了大量的比特乘法器,可用于实现通用DSP功能。出于成本及系统实现功能的考虑,本系统的FPGA目前暂时选用EP2C8Q208C8。3.2.2 FPGA配置电路由于目前的FPGA大多采用SRAMI艺,系统掉电后SRAM内部的数据将丢失,无法保存,因此必须通过外部配置,才能再次对FPGA内部的多路器、逻辑、互连线结点和RAM初始化内容进行编程。下面简单介绍一下FPGA的三种配置方式。FPGA主动方式在主动方式下,配置过程如下:FPGA主动输出控制和同步信号(包

28、括配置时钟)给Altera专用的串行配置芯片(EPCSl和EPCS4等),配置芯片在收到命令后,将配置数据发送到FPGA。要支持的这种主动方式,Altera FPGA只能够与Altem公司提供的主动串行芯片(EPCS系列)配合使用,Altem称这种配置方式为主动串行AS(Active Serial)模式。AS方式下配置芯片与FPGA相连的信号有:串行时钟输入(DCLK),AS控制信号输入(ASDI),片选信号(nCS),串行数据输出。FPGA被动方式在被动方式下,由系统中的其他设备,如Altem的配置芯片(EPC系列)、微处理器、CPLD等发起并控制配置过程,FPGA处于完全被动的地位。FPG

29、A接收配置时钟、配置命令和配置数据,给出配置的状态信号以及配置完成指示信号等。被动方式可以具体细分为以下多种模式,包括被动串行PS(Passive Serial)、快速被动并行FPP(Fast Passive Parallel)、被动并行同步PPS(Passive Paraltel Synchronous)、被动并行异步PPA(Passive Parallel Asynchronous),以及被动串行异步PSA(Passive SerialAsynchronous)。上述模式这里不再详述。PS方式下配置设备与FPGA相连的信号有:DCLK(配置时钟),DATA0(配置数据),nCONFIG(配

30、置命令),nSTATUS(状态信号),CONF DONE(配置完成指示)。JTAG方式JTAG是IEEE 11491边界扫描测试的标准接嗣。绝大多数的Altera FPGA都支持由JTAG口进行配置,并支持JAM STAPL标准,JTAG配置方式比其他任何一种配置方式的优先级都高。扶JTAG接叠进行配置可以使用Altera的下载电缆,通过Quartos II工具下载,也可以采用微处理器来模拟JTAG时序进行配置。JTAG方式下FPGA需要用到以下信号:TDI(测试数据的输入),TDO(测试数据的输出),TMS(模式控制管脚,决定JTAG电路内部的TAP状态机的跳转),TCK(测试时钟)。Cyc

31、lone II的器件都支持上述三种配置方式,本系统可以通过不同的下载接口可以选择采用AS方式还是JTAG方式。电路原理图如图3-2所示。图3-2 FPGA配置电路3.2.3 SDRAM电路实现本系统FPGA内部设计有NIOS II 软核,SDRAM主要用来存放软件MCU中的软件程序,软核CPU中设计的复位基地址Reset Vevtor及中断向量基地址Exception Vector,都定义在SDRAM上,即通常说的内存。如下图3-3所示:图3-3 SDRAM设置在Altera公司FPGA开发软件quartus ii中,集成有SOPC Bulider。SOPC(System On Program

32、mable Chip,可编程片上系统)是Altera公司提出的一种灵活、高效的SOC解决方案,是一种新的软硬件协同设计的系统设计技术。它将处理器、存储器、I/O口、LVDS和CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程片上系统。本系统所用的SDRAM控制器,就是在SOPC Builder中生成,大大减小了开发难度 。对于本系统而言,只需要一片SDRAM(K4S641632),其大小为64Mb(1M16Bit4Bank)。FPGA与SDRAM的连接比较简单,只需要在FPGA内部实现SDRAM控制器并且配置FPGA相应引脚为SDRAM对应的引脚,即A0A10,BA0一BAl

33、,DQ15:0,CLK,CKE,aWE,nCAS,nRAS,LDQM,UDQM,然后将上述引脚与SDRAM相连即可。电路原理图如图3-4所示。图3-4 SDRAM硬件电路图3.2.4 SRAM电路实现在该系统中,SRAM主要用来做为图像数据的缓存,用以之后软核CPU对图像的处理工作。本系统采用一片IS61LV25616-10T SRAM芯片即可达到系统要求,FPGA与SRAM的连接如下图3-5所示,此模块最主要的是其控制器的设计,将在下一章软件设计时详细说明。图3-5 SRAM硬件电路图3.2.5其他硬件电路上面将几个比较复杂的模块详细说明了一下,剩余的几个模块,如OV7670、TFT液晶、S

34、D卡。这几个与FPGA之间都只是简单的接线连接,在这里就不再详细叙述。这几个模块最重要的是软件设计,将在下一章详细说明。4 系统软件设计4.1 软件设计概述本系统软件设计主要分两部分,一部分是由硬件描述语言设计的系统各个外部的控制模块,如PLL、MCU主控模块、OV7670初始化模块、0V7670数据采集模块、SRAM控制、TFT液晶显示控制等。另一部分是NIOS II软核中的程序设计,主要包括:SD卡控制、图像算法处理等。系统框图如下图4-1所示:图4-1 FPGA内部功能模块连接图系统启动后,MCU先完成对TFT液晶的初始化设置,然后OV7670初始化模块完成对OV7670内部各寄存器的配

35、置;完成后产生一个信号,通知MCU单元0V7670已初始化完毕,然后MCU启动OV7670采集模块和TFT控制模块,实现图像的实时显示。另一方面,OV7670采集到的数据,也送入SRAM控制模块,一帧图像数据全部存入SRAM后,FPGA内部的NIOS II软核读取SRAM图像数据并解析,处理后以图片格式存入SD卡中。另外,PLL(Phase Locked Loop,锁相环)模块提供三路不同的频率信号,为驱动其他模块提供。4.2 VHDL简介及特点VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language,超高速集成电

36、路硬件描述语言)诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。与其他硬件描述语言相比,VHDL具有以下特点: 功能强大、设计灵活VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,

37、又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。 支持广泛、易于修改由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。 强大的系统硬件描述能力VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自

38、定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。 独立于器件的设计、与工艺无关设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。 很强的移植能力VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。 易于共享和复用VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人

39、员之间进行交流和共享,减少硬件电路设计。4.3 OV7670初始化模块如前方所述,OV7670摄像头有很强大图像处理功能过程,包括伽玛曲线、白平衡、饱和度、色度等,而这些功能,都是通过SCCB接口对OV7670内部的上百个寄存器进行配置而控制。SCCB接口有两个管脚,SIO_C是SCCB时钟输入信号,它的最大频率为400KZ,SIO_D是SCCB数据输入输出口,根据协议把参数写入寄存器和读取寄存器的数值。SCCB传输时序图已在前方给出过,在这里为叙述方面再列一下。如下图4-2所示。图4-2 SCCB控制协议在本系统中,按上图时序,设计配置方案,利用VHDL硬件描述语言设计的专用OV7670初始

40、化模块。该模块包含两个部分,底层部分专门用来实现SCCB控制传输,向OV7670传送上层模块传送过来的初始化数据。传输的数据帧格式如下图4-3所示:图4-3 OV7670初始化数据帧格式按照图4-2所示,系统启动时,SIC_C为高电平,即为1时 , 把SIO_D为设置为1,开始传输时,SIO_D拉低为0,然后再把SIC_C拉低,表明一帧数据开始传输, 之后把依次把寄存器的地址和初始化数据送到SIO_D总线上,在时钟SIC_C的驱动下,写入到OV7670。每设置一个寄存器,就调用一次该底层模块,直接最终,完成对OV7670的初始化。发出初始化完成cmos_finish信号。其在quartus i

41、i中生成的模块如下图4-4所示:图4-4 OV7670初始化模块在本系统中的MCU单元中,也设计有利用C语言设计实现该功能,在实际应用时,也可使用。两方案,任选一种。利用VHDL设计的硬件初始化模块,灵活稳定,可按要求重新配置,不会占用MCU的周期指定,这样就在MCU的软件设计中,只需要着重考虑图像算法的处理。大大减轻了MCU的负担。仿真结果如图4-5所示:图4-5 初始化仿真时序4.4 OV7670数据采集模块在初始化程序中,我们已经把OV7670配置为,输出QVGA格式,16位图像数据格式为RGB565。OV7670QVGA输出时序,如下图4-6所示:图4-6 OV7670 QVGA输出时

42、序其中VSYNC为帧同步信号,HREF为行同步信号,只有按照上图中严格的时序,即OV7670输出的时序,我们才能采集到正确的图像数据。采集到的RGB565格式数据符合下图标准如4-7所示,图4-7 RGB565数据输出格式采集到的数据,经过内部处理,直接送到TFT显示屏上进行实时显示,TFT液晶显示屏的初始化将在后面介绍的MCU单元中进行,配置为可直接显示数据采集模块处理过的图像数据。4.5 SRAM控制模块和TFT液晶控制模块此模块包含两部分,一部分的功能是用来转换MCU和写SRAM模块对外部SRAM的控制。另一部分就是SRAM写入控制模块,此模块在OV7670数据采集模块的WR和DATA_

43、VALID等几个信号线的控制下,完成对SRAM的图像数据写入。开始时,MCU发出SRAM为空的信号,转换模块将其转换到对SRAM进行图像数据写入。当一帧图像写入完成之后,转换模块将功能切换到MCU可读SRAM数据,从而对SRAM存储的图像进行算法处理。在Quartus II中生成的模块电路如图4-8所示:图4-8 SRAM控制模块TFT液晶控制模块的功能只是将控制权从MCU转换到OV7670数据采集模块,系统启动后,MCU中的软件完成对TFT液晶显示屏的初始化,包括背光、颜色、初始写入的坐标等一系列设置。完成之后,将TFT的控制交给OV7670数据采集模块,因为在OV7670O数据采集模块中,

44、已经完成所需的数据格式转换,所以这时TFT液晶可实时显示到采集的图像。4.6 MCU单元设计4.6.1 SOPC Builder简介SOPC Builder 是Altera公司推出的一种可加快在PLD内实现嵌入式处理器相关设计的工具。它是一个革命性的系统级开发工具,其功能与PC应用程序中的“引导模板”类似,旨在提高设计者的效率。设计者可确定所需要的处理器模块和参数,并据此创建一个处理器的完整存储器映射。设计者还可以选择所需的IP外围电路,如存储器控制器、I/O控制器和定时器等模块。SOPC Builder可以快速地开发定制新方案,重建已经存在的方案,并为其添加新的功能,提高系统的性能。通过自动

45、集成系统组件,SOPC Builder允许用户将工作的重点集中到系统级的需求上,而不是从事把一系列的组件装配在一起这种普通的、手工的工作。所有版本的Altera Quartus的设计软件都已经包含了SOPC Builder。设计者采用SOPC Builder,能够在一个工具内定义一个从硬件到软件的完整系统,而花费的时间仅仅是传统SOC设计的几分之一。SOPC Builder提供了一个强大的平台,用于组建一个在模块级和组件级定义的系统。SOPC Builder的组件库包含了从简单的固定逻辑的功能块到复杂的、参数化的、可以动态生成的子系统等一系列的组件。这些组件可以是从Altera或其他合作伙伴处

46、购买来的IP核,其中一些IP核是可以免费下载用来做评估的;用户还可简单地创建他们自己定制的SOPC Builder组件。SOPC Builder内建的IP核库是OpenCore Plus版的业界领先的Nios/Nios 嵌入式软核处理器。所有的Quartus 用户都能够把一个基于Nios/Nios 处理器的系统经过生成、仿真和编译进而下载到Altera FPGA中,进行实时评估和验证。SOPC Builder库中已有的组件包括:(1) 处理器:包括片内处理器和片外处理器的接口。(2) IP及外设:包括通用的微控制器外设,通信外设,多种接口(存储器接口、桥接口、ASSP、ASIC),数字信号处理

47、(DSP)IP和硬件加速外设。如图4-9所示,SOPC Builder 的设计流程包括两个阶段:配置(框图左边所示)和生成(框图右边所示)。它是利用Class PTF和System PTF这两个文件来配置和生成系统流程的。SOPC Builder GUI引导用户完成两部分的配置:部件配置和系统配置。部件配置需要汇总参数,Class PTF文件标准包括了为这一要求定义GUI的格式。当需要时,SOPC Builder读取该格式,产生相应的部件向导(Component Wizard),收集所需的用户数据。然后SOPC Builder把收集的参数值存放在System PTF文件中。系统配置是指把用户提供的有关处理器的配置、外设连接等数据写入System PTF中。当这两部分配置都完成后,SOPC Builder进入到生成阶段,生成设计的输出文件。SOPC Builder查阅每个Class PTF文件,允许相关的部件生成程序,它们会正确地输出特定系统配置的硬件和/或软件文件。简单的部件生成程序可能每次都会输出相同的文件,更多的可配置部件则会根据用户输入

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号