基于FPGA的图像采集与预处理系统设计

发布时间:2024-11-12

基于FPGA的图像采集与预处理系统设计

武汉理工大学

硕士学位论文

基于FPGA的图像采集与预处理系统设计

姓名:郑容

申请学位级别:硕士

专业:机械电子工程

指导教师:朱宏辉

20090501

基于FPGA的图像采集与预处理系统设计

摘要

汽车工业的发展给人们带来很大便利的同时,也给交通系统带来了巨大的压力。其日趋明显的危害使人们更加关注汽车安全性问题。本文作为基于视觉的汽车自动防撞系统的前端图像采集与预处理部分,在解决汽车安全性问题上具有十分重要的意义。

本文比较了计算机、DSP、ASIC和FPGA在嵌入式实时系统中的应用,分析FPGA在图像实时性处理方面的优势,研究FPGA设计上的灵活性、软硬件的可编程性、良好的集成性等特点,分析FPGA的设计流程及开发环境。结合实时图像处理数据量大的特点,确定FPGA作为系统的核心芯片。

本系统主要由图像采集、图像存储、图像处理和实时显示等模块组成。图像采集部分采用模拟CCD图像传感器作为视频的输入,由视频AD芯片SAA7113完成模拟到数字信号的转换,FPGA完成对SAA7113的配置以及有效亮度信号的提取。由于图像采集模块获取的图像数据量十分可观,因此本系统采用一块32MB的SDRAM完成数据的存储。并在FPGA中实现了一个简化的SDRAM控制器,用以完成对SDRAM的初始化、定时刷新、连续读写等功能。图像处理模块实现中值滤波和边缘检测两种算法,在这两种算法的硬件实现中采用了流水线处理技术,显著提高了处理速度。实时显示模块将经过处理后的图像数据送至DA芯片,并产生出VGA时序,通过VGA显示器即可实时观察图像处理后的效果。

另外,为了方便调试和程序设计,还在FPGA内部生成一个NiosII内核及一些相关组件,包括两个双向PIO、Flash控制器等。其中两个双向PIO用来模拟12C总线。完成对SAA7113的配置,Flash控制器用于与外部Flash芯片连接。

本文重点在于系统硬件和接口模块设计。在硬件设计中,器件选型和PCB设计是难点;在接口模块中,图像采集与存储是难点:在图像算法方面,本文更注重其硬件实现过程。目前基于设计目标所开发出来的电路板已通过调试,并能实时显示处理后的图像。关键词:实时图像,采集,预处理

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

Abstract

Withthedevelopmentofautomobileindustry,itfavors

tothepeople丽thfacilities,meanwhile,italsohasbroughtgreaterpressuretraffic.DuetoitsmoFoand

moreobviousharm,theissueofautomotivesafleybecomesthefocusquestionthatpeoplepayattentiontogradually.T11isthesisaspartofthevision-basedautomaticcollisionavoidancesystem,includingtheimageacquisitionandpre-processing,isveryimportantinresolvingtheissueofautomobilesafety.

TIlisthesishascomparedthecomputer,thedigitalsignalprocessor,theASICandFPGAinthereal—timeapplicationofembedded

oftheFPGA

featuressystem,analyzedtheadvantagestheusedtoprocessimagestoresolvetheproblemofreal-time,studiedofFPGA,includingdesignflexibility,programmabilityofsoftwareandhardware,goodintegrationandsoon,analyzedthedesignprocessanddevelopment

ofdataintheenvironment

real-time

thisintheFPGA.Combined谢ththefeatureoflargemountcoreimageprocessing,wedecidedtochooseFPGA鼬thecomponentinsystem.

1f11issystemcomprisesimageacquisition,imagestorage,imageprocessingandreal—timedisplayingfunctionmodules.11heacquisitionofdigitalimagefrontendUSesaCCDimagesensortocollectthereal-timeimage,andthe

digitalsignalby

di百talSAA711outputanalogsignalofthe螂lsorisluminance

SDRAM

inconvertedinto3.ThenFPGAextractseffectivesignalfromthesignal.Theimagestoragemodule璐铬a32MBtostoretheconsiderabledigitaldata.WedesigntasksasimpleSDRAMcontrollerFPGAtointerfacewithSDRAM,itsmainareinitialization,periodic

module,wedesignrefreshingcontinuousreadingandwriting.Inimageprocessing

hardwarecircuitsformedianfilteringandcdgedetection.Thepipelinedprocessingmethodsareusedincircuitdesigntoraiseprocessingspeed.TherealtimedisplaymodulesendsthesignalafterprocessedtotheDAchipandge.“neratestheVGAtiming.WecanuseaVGAmonitortoobservetheeffectofimageprocessingreal—timely.

Inaddition,wegenerateaNiosllkernelandsomerelativemodulesinFPGA,

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

includingtwoPIOsandaFlashcontroller.ThePIOsareusedtosimulatethe12C

tointerfacewiththeFlashtiming

chip.toconfigureSAA7113,theFlashcontrollerisused

Thisthesisemphaticallyresearchesofthehardwaredesignandtheinterfacemodule.Inhardwaredesign,partsselectionandPCBdesign

interfacearedifficultpoints;Inmodules,Imageacquisition

toandimagestoragealedifficultpoints.Inthisthesis,wepaymoreattentionhardwareimplementationoftheimageprocessing

algorithmthanthealgorithmitself.At

systemhavebeensuccessfullypresent,Theandrun.hardwareandsofl'waleofthedebugged

Keywores:real-timeimage,acquisition,pre-processing

基于FPGA的图像采集与预处理系统设计

独创性声明

本人声明,所呈交的论文是本人在导师指导下进行的研究王作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方以外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其他教育机构的学位或证书蔼使用过的材料。与我一目工作的弱恚对本研究的任何贡献均已在论文中作了明确的说明并表示了谢意。

研究生(签名):牲西嬲:——

学位论文使用授权书

本人完全了髂武汉理工大学有关傈留、使用学位论文的规定,即:学校有权保髫并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库进行检索,可以采用影印、缩印和其袍复制手段保存或汇编本学位论文。同时授权经武汉理工大学认可的有关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息服务。

(保密的论文在解密后应遵守此规定)

研究生(签名):盘室导师(签名):

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

第1章

1.1研究背景引言

汽车工业的发展与人们的生活息息相关,在给我们带来极大方便的同时,也带来了很多困扰:比如由于交通事故的频繁发生而酿成惨剧,越来越多的家庭使用汽车加重了交通的负担等。因此汽车安全性问题越来越受到人们的重视。

各国政府组织,汽车生产厂商和相关研究机构已经投入了大量人力物力进行汽车安全性能方面的研究,很多新的技术被应用其中,汽车自动防撞便是这些技术中的重要成员。通过该系统可以对车体周围的物体进行检测,并对物体进行跟踪识别,预测对本车的危险度,并根据不同的情况作出相应的决策,及时提醒驾驶员采取避险措施,或直接通过控制电路进行减速或制动。

目前的汽车防撞系统主要基于以下几种途径:基于超声波、基于红外线、基于雷达、基于激光以及基于视频。目前数字摄像测量技术的应用已基本成熟,尤其是各相关的软硬件的发展,给基于视频的汽车防撞系统研究提供了充足的条件【¨。

作为汽车自动防撞系统的采集与预处理模块,需要对实时图像进行操作,该技术已有几十年的发展历史,在生活中的各个领域也有广泛的应用:在同常生活中,数码相机、可视电话、电话会议等产品发展日新月异;在工业生产中也广泛应用于材料分析、过程监控等仪器上;在生物医学领域,用于B超、CT、病理分析等方面;在金融领域,用于票证处理、柜台机自动检测等;在航天航空领域,用于对各种运动目标的自动制导、运动物体的经纬度测定以及夜间侦察等【21。

在图像处理的实时性方面,一般所采用的PC机软件方法已不能满足要求,因为它的本质是顺序执行指令,不能做到并行处理。而一般采集的图像数据量较大,运算量也相应比较大。另一方面,现今的图像处理应用也越来越趋向于小型化(嵌入式),因此,需要采用硬件方法来实现图像处理【3】。器件主要有:专用集成芯片(ASIC,Application

(DSEDigitalSignalSpecificIntegratedCircuit)、数字信号处理器Process)和现场可编程门阵列(FPGA,FieldProgrammable

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

GateArray)。由于基于专用芯片方式的灵活性、系统可更改性差,不适合前期未成熟产品的开发工作。DSP方式的吞吐量,运行速度,系统结构的可重配性,功能的升级方面存在约束,所以不适合作为前端图像采集系统。而FPGA具有较高的并行处理速度和较大的灵活性,在视频图像处理方面具有独特的优势。

FPGA由逻辑阵列组成,通过对各个阵列的单元之间的互连线编程来实现特定的功能。1985年,Xilinx公司推出了世界上第一款FPGA,在随后20多年的发展过程中,FPGA硬件体系结构和软件开发工具都在不断的完善,成熟。从最初的1200个可用门,到90年代的几十万个可用门,再到目前的数百万甚至千万门的单片FPGA芯片。Xilinx、Altera等世界顶级厂商已经将FPGA器件的集成度提高到一个新的水平。此外FPGA还有完整的多平台设计环境,还可以利用第三方的综合、仿真工具,提高了设计效率,缩短了设计周期。

1.2发展现状与趋势

汽车防撞系统的研究始于20世纪60年代,以德国、美国和日本为代表的发达国家热衷于该系统的研究。1986年,由德国奔驰公司发起,欧洲开始了所谓的“普罗米休斯”计划,防撞系统在汽车运用领域得到了较快的发展,如奔驰公司和英国劳伦斯电子公司联合研制的汽车防撞报警系统,探测距离为150米,当测得的实际车间距离小于安全车间距离时,发出声光报警信号。该装置已经安装在小汽车、客车和卡车上试用多年,性能良好。90年代以来,日本的各大汽车生产厂商均参与了运输省提出的被称为先进安全汽车AVS(AdvancedSafetyVehicle)的计划。日本在制定未来汽车发展计划中也明确地把开发更复杂的智能汽车和安全驾驶支持系统作为交通安全的关键技术之一。1995年,丰田汽车公司研制了主动预防安全系统;尼桑公司为4l—L、,z配备了自适应巡航控制系统,为巡航驾驶提供判断信息。美国的研究对于欧洲和日本来说起步较晚,但目前美国的汽车防撞技术已经处于世界的领先水平。美国正在进行智能车辆交通系统(NHS)的开发工作,其中先进的车辆控制系统(AVCS)是最复杂的一部分,它主要采用的是防撞预警技术。90年代中期,我国开始跟踪国际上ITS的发展。据中国《科技同报》报道,我国电子工业部于1997年4月12同在北京首次召开了智能交通系统发展趋势国际研讨会,讨论了在我国目前公路建设还不十分理想的情况下,必须通过高科技来改善中国交通状况。近年来,以清

基于FPGA的图像采集与预处理系统设计

华大学、吉林大学、长安大学和东南大学等为代表的科研院所致力于车辆防撞控制系统的研究。与国外机构的高投入、系统性的研发相比,国内的研发机构虽多,却相对分散,而且国内的研发水平仍然较低,还处于试验阶段,与国际上还有较大差距【4J。

在目前的汽车防撞系统中毫米波雷达和激光方式采用的比较多,同时图像处理技术也逐渐的发展起来,并且将在未来与毫米波雷达技术等一起给汽车安全性能带来很大的提高。图像处理技术最初始于20世纪80年代中期,欧洲(德国为主)、日本及美国出于路面管理系统的需要被引入到交通系统的研究,后来又逐渐被引用到汽车防撞系统的信号采集处理模块【51,2007年5月19同梅赛尔德斯奔驰发布了一套全新的智能汽车辅助系统,该系统就包含了“视频辅助功能”,可以自动探测路况并且预测潜在的危险,当探测到可能发生危险时,系统就会转入“自动操作”来避免危险的发生。

采用FPGA作为汽车防撞系统中信号采集处理的核心芯片是现在比较普遍的方式,随着可编程逻辑技术的不断创新和发展,EDA技术的日新月异,硬件描述语言的不断进化,开发工具的不断完善,成熟知识产权(m)的不断涌现,FPGA的潜力将得到越来越大的发挥。我们有理由相信,将来FPGA会在图像处理领域发挥越来越重要的作用。

然而,尽管在当前用FPGA进行图像采集与处理方面已经得到了很大的进步与突破,但是仍然有许多待解决的问题,比如稳定性、可靠性、实时处理能力和功耗等,由于系统和算法的只益庞大和复杂带来的技术难题,仍然需要更新理论的支持和更多系统的验证。特别是在国内,与国际水平相比,不管是在应用还是在研究方面都存在较大的差距,仍然处于摸索阶段。因此,我们提出以FPGA作为图像采集与处理的核心应用,前景与挑战共存。

1.3研究内容

本文主要研究的是基于FPGA设计一个完整的图像采集与预处理系统,本系统能够实时采集数据,并且对数据进行中值滤波和边缘检测,最后将处理后的图像实时显示出来。研究的主要内容如下:

基于FPGA的图像采集与预处理系统设计

1.3.1实时视频图像采集

目前图像采集前端——摄像头主要有数字式和模拟两种,其中数字式又分为专用接口卡、并口型、USB接口型或1394接口型等,各种型号之间并不通用;而模拟型一般能输出PAL或NTSC制式的图像信号,输出信号类型比较单一。分析可知虽然数字摄像头输出信号直接就是数字信号,但接口设计较复杂,通用性较差,适合与电脑等设备互连,并不适合与嵌入式设备互连。因此本文选择“模拟摄像头+视频AD芯片”作为视频采集前端。其中模拟摄像头采用PAL制式输出的普通摄像头,视频AD芯片采用菲利普公司的视频解码芯片SAA7113芯片,同时采用Altera公司cyclone系列低成本FPGA完成对SAA7113的配置以及有效亮度信号的提取。设计预期目标是能够快速准确地完成模拟视频图像的数字化。

1.3.2视频数据的实时存储设计

经视频AD芯片后的数字图像数据数据量是相当可观的,本文中采用的FPGA内部存储器容量最大为240kbit,即使全部用于存储视频数据也装不下一帧图像数据。因此本设计在FPGA上外扩了一块32MB的SDRAM,主要用于存储视频图像。由于SDRAM的控制比较复杂,本设计专门为SDRAM设计了一个控制模块,该模块完成对SDRAM的初始化、定时刷新和连续读写等功能。对于FPGA内部其它模块而言,该控制器和外部SDRAM共同组成了一个容量巨大的双口删。

1.3.3图像预处理算法设计

本文主要实现了中值滤波和图像边缘提取两种图像处理方法。中值滤波是一种邻域运算,它把邻域中的像素按照灰度等级排序,然后选择该组的中间值作为输出像素值。含有噪声的图像经过中值滤波后会变得平滑细腻,而且图像中的景物轮廓也得以保存,便于进行后续处理。边缘检测是检测图像局部显著变化的最基本运算。实际上,边缘检测后得到的图像,是对原来图像边缘处的增强及对灰度连续区域的削弱。

在算法设计过程中需要尝试设置不同的参数,根据实验结果找到最佳的参数设置。然后将这两种算法用硬件描述语言实现,最终达到了预期目的。

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

1.3.4VGA显示设计

为了实时观察图像处理的效果,本文采用视频DA芯片CS7123完成了视频图像的VGA显示,由于前端采集到的视频有效信号为亮度信号,色度信号丢弃,因此在VGA显示时,将送至CS7123的RGB数据全部赋相同的亮度信号值,这样在VGA显示器上即可显示出灰度信号。本文中RGB三色的数据宽度为8bit,因此一共可显示256阶灰度信号。

1.3.5NioslI系统平台搭建

本设计中利用QuartusII中的SOPCBuilder工具在FPGA内部产生了一个NioslI内核和一些相关的组件,包括一个UART、两个双向口、Flash控制器等。其中UART用于打印调试信息和参数设置,两个双向121用于模拟12C总线时序,完成对SAA7113的配置,Flash控制器则用于和外部Flash器件进行接口。

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

第2章FPGA及开发环境

2.1可编程逻辑器件概述

数字电子领域中三种基本的器件类型为:存储器件、微处理器和逻辑器件。其中逻辑器件可分为两大类,即固定逻辑器件和可编程逻辑器件。固定逻辑器件中的电路是永久性的,用于完成一种或一组功能。在可编程逻辑器件中,可以在任何时候对此类器件进行修改,以完成多种不同的功能。可编程逻辑器件的两个主要类型是:现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD),与CPLD相比,FPGA可提供更高的逻辑密度、更丰富的特性和更高的性能。

可编程逻辑器件与固定逻辑器件相比,其优点主要包括以下几个方面:

(1)在设计过程中为客户提供了更大的灵活性,因为对于可编程逻辑器件来说,设计反复只需要简单地改变编程文件就可以了,而且设计改变的结果可立即在工作器件中看到;

(2)不需要漫长的前置时间来制造原型或正式产品,因为可编程逻辑器件已经十分活跃于市场中,购买方便;

(3)不需要客户支付高昂的一次性工程费用(Non.RecurdngEnginneering,M迎)和购买昂贵的掩膜组,因为可以在同一个芯片中重复编程,实现不同的功能,这样便可延长产品的使用周期,从而分摊购买芯片时所花的成本;

(4)允许客户在需要时仅定购所需要的数量,从而使客户可控库存;

(5)可以进行重新编程,有了可编程逻辑器件之后,对于设备新功能的增加和升级,只需要将新的编程文件下载到可编程逻辑器件中,就可以在系统创建新的硬件逻辑;

(6)有越来越多的知识产权(口)核心库的支持。用户可以利用这些预定义和预测试的软件模块在可编程逻辑器件内迅速实现系统功能。

可编程逻辑器件的价值在于其能够大大缩短电子产品制造商的开发周期,节约开发成本,随着可编程逻辑器件集成度的提高,成本的降低,更多口核的面市,可编程逻辑器件一定会在数字设计领域进一步普及。

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

2.2FPGA芯片介绍

系统所采用的FPGA芯片属于CycloneII系列。该系列是继Cyclone系列在低成本FPGA市场取得成功后,Altera公司推出的更低成本的FPGA,它将低成本FPGA的密度扩展到了68416(该系列中的最高集成度)个逻辑单元(LEs),从而可以在低成本FPGA上实现复杂的数字系统。

冒一■IOEo目冒一_

‰Embed由d

酗m砸li甜s<}

I‘

纪}

Lo—c

Array

‘托)白LoglcArmy。冕,LogIcLogicArrayA什叫

}’●o白孝二

_7

笼;

?i≮

l冒一一IOE●_冒一_

图2-1CycloneII系列FPGA的内部结构示意图

图2.1是EP2C20的内部结构示意图,器件主要由以行列形式排列的逻辑阵列块(LogicArrayBlock,LAB)、嵌入式存储器块及嵌入式乘法器组成,锁相环(PLL)为FPGA提供时钟,输入/输出单元(Input/OutputElement,IOs)提供输入输出接口逻辑。逻辑阵列、嵌入式存储器块、嵌入式乘法器、输入输出单元及锁相环之间可实现各种速度的信号互联。

逻辑单元是CycloneII系列中可实现用户逻辑定制的最小单元。每16个LE组成一个逻辑阵列块(LAB)。LAB以行列形式在FPGA器件中排列。CycloneII系列FPGA的LE数量在4608----68416范围之间变化。

CycloneII系列FPGA有片内PLL,并有多达16个全局时钟网络为逻辑阵列块、嵌入式存储器块、嵌入式乘法器和输入输出单元提供时钟。CycloneII系列FPGA的全局时钟线也可以作为高速输出信号使用。CycloneII的PLL可以实现FPGA片内时钟的合成、移相,也可以实现高速差分信号的输出。

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

M4K嵌入式存储器块由带校验的4K位(4096位)真双口(TureDual.Port)RAM组成,可配置成真双口模式、简单双口模式或单口模式的存储器,位宽最高可达36位,存取速度最高260MHz。M4K嵌入式存储器分布于逻辑阵列块之间。CycloneII系列FPGA的M4K嵌入式存储器的容量为119K~1152K位不等。

每个嵌入式乘法器可以配置成两个9x9或一个18x18的乘法器,处理速度最高可达250MHz。CycloneII的嵌入式乘法器在FPGA上按列排列。

输入输出单元排列在逻辑阵列块的行或列的末端,可以提供各种类型的单端或差分逻辑输入输t61。

2.3开发平台及开发流程

2.3.1QuartusII软件概述

QuartusII是Altera公司在21世纪初推出的FPGA/CPLD开发环境,其功能强大,界面友好,使用便捷。QuartusII软件集成了Altera的FPGA/CPLD开发流程中所涉及的所有工具和第三方软件接口。通过使用开发工具,设计者可以创建、组织和管理自己的设计。其开发流程如图2.2所示:

设计输入

,一一厂ii石:F]

图2-2QuartusII软件的开发流程

QuartusII软件中的工程由所有设计文件和与设计文件相关的设置组成。可以使用原理图输入方式、文本输入方式、模块输入方式和EDA设计输入工具等表

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕十学位论文

达电路构思。可以采用自顶向下的设计方法或自底向上的方法。前者整个设计只有一个输出网络表,可以优化处理整个设计,且容易管理。后者允许单独编译,综合每个模块,且单个模块的修改不会影响其他模块的优化,最后将各个模块整合到QuartusII软件的最高层设计中。

在设计输入后,我们还需分配引脚以及设置时序约束。分配引脚是将设计文件的输入输出信号指定到器件的某个引脚上,设置此引脚的电平标准和电流强度等。时序约束是为了使高速数字电路的设计满足运行速率方面的要求,在综合和布局布线阶段附加的约束。时序分析工具会根据指定的时序约束来判断时序是否满足设计要求。因此设置时序约束是非常必要的,而且时序约束越全面,对于分析设计的时序越有帮助。

在工程输入以及约束设计完成之后将要进行综合操作,综合的主要功能是将HDL语言翻译成最基本的与门、或门、非f-I、RAM和触发器等基本逻辑单元的链接关系(网络表),并根据要求(约束条件)优化所生成的门级逻辑链接,输出网络表文件,供布局布线用。接下来,布局布线将工程的逻辑和时序要求与器件的可用资源相匹配。将每个逻辑功能分配到最优的逻辑单元位置,进行布线和时序逼近,并选择相应互联路径的引脚分配。

在前面的工作完成之后还需进行仿真,进一步确定设计是否满足要求,验证电路的行为和设想是否一致。该仿真是在考虑器件延时的情况下对网络表文件的一种模拟实现,其中器件延时信息是通过反向标注时序延时信息实现的。仿真除了通过QuartusII软件集成的仿真工具外还可使用第三方仿真工具。目前比较流行的仿真工具有ModelSim和ActveHDL等【7】。

检验完设计工程的功能和时序满足要求之后,就可以对Cyclone芯片进行编程和配置了。这是为了使FPGA在上电启动后仍然保持原有的配置文件,并能正常工作,必须将文件烧写进专用的配置芯片EPCSx中,这是一种Flash结构存储器【8】。根据FPGA在配置电路中的角色,可以将配置方式分为3类:FPGA主动串行(AS)方式、FPGA被动(Passive)方式、JTAG方式。在主动串行方式下,由FPGA主动输出控制和同步信号给专用的串行配置芯片,在串行配置器件收到命令后,把配置数据发送到FPGA中,完成配置过程;在被动方式下,由系统的其他设备发起并控制配置过程。这些设备可以是Altera的配置芯片(EPC系列),或者是微处理器、CPLD等,FPGA则在配置过程中完全处于被动,只是输出一些状态信号来响应配黄过程;AlteraFPGA的JTAG是符合IEEE

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

119.1边界扫描测试规范的标准接口,JTAG除了能调试FPGA外,还能用来下载配置数据,在配置时可以使用Altera的下载电缆和QuartusII下载工具下载,也可以采用智能主机(微处理器或CPLD)来模拟JTAG时序进行配置【91。2.3.2SOPCBuilder概述

SOPCBuilder包含在QuartusII软件中,它为建立SOPC设计提供了图形化环境。可以帮助设计者以与传统SOC设计方法相比,非常短的时间来完成由处理器、存储器和外设等组件组成的SOPC系统。传统的SOC设计方法中,设计者需要手工编写将系统中的各个组件链接起来的顶层HDL设计文件。而SOPCBuilder则帮助设计者自动完成系统集成工作,SOPC提供了直观的图形用户界面(GUI),帮助设计者添加和配置系统所需的外设(包括存储器、定制外设和IP模块),根据设计者的要求将这些外设与处理器连接在一起,并自动完成外设和存储器的地址映射、中断控制和总线控制等工作。

SOPCBuilder提供的组件包括:

(1)NiosII处理器;

(2)微控制器外设:

(3)定时器;

(4)UART、SPI等串行通信接口;

(5)通用输入输出口(GPIO);

(6)存储器接口;

(7)总线和总线桥;

(8)数字信号处理(DSP)内核。

可以使用SOPCBuilder构建由CPU、存储器接口和I/O组成的嵌入式微处理器系统,也可以生成不包括CPU的数据流系统,还可以构建具有多主机和从机的系统拓扑结构。在构建系统时可以选择用户自定义组件或组件库中提供的组件。SOPCBuilder可以导入或提供用户自定义逻辑块的接口。

CyclonelI系列FPGA支持Altera公司的NiosII嵌入式软核处理器【101,在SOPCBuilder中构建的该软核有三种类型,用来满足不同的设计要求,分别是快速型、经济型和标准型。快速型NiosII内核具有最高的性能,经济型NiosII内核具有最低的资源占用,而标准型在性能和面积之间做了一个平衡。一般选择标准型即可。同时Niosll具有灵活的可配置性,可以实现各种外设的扩展【lI】。

基于FPGA的图像采集与预处理系统设计

武汉理工大学硕士学位论文

对于并行数据处理,可以在一个FPGA上放置多个NiosII软核,大大提高了处理器的效率,也方便多个小组同时开发,进一步加快了新产品的研发速度【12】。

在SOPCBuilder的组件库中选择组件,并将组件添加到系统中,这样所添加的组件就会在组件列表中列出。

2.3.3NiosII

NiosIDE概述NiosIIIntegratedDevelopmentEnvironmentII的软件开发环境称为The

(IDE),即NioslI集成开发环境。编译器采用GNUC/C++编译器。在NiosII[DE中可以完成NiosII处理器的编辑、编译、运行管理、调试和下载等工作。

NiosIIIDE提供了NiosII处理器系统软件开发的图形化界面,是NiosII系统软核处理器的主要开发工具,在NiosIIIDE中可以完成NiosII软核处理器软件开发的所有工作。步骤可分为七步:①建立工程;②设置工程属性;③编辑代码:④编译代码;⑤运行与调试代码;⑥评判代码的执行性能;⑦将代码存储到目标板上。

2.3.4ModelSim概述

ModelSim为公认的HDL的优秀仿真工具,它提供了最友好的调试环境,采用直接优化的编译技术,TcFTk技术和单一内核仿真技术,帮助我们更快更好的完成调试工作,是唯一的单内核支持VHDL或Verilog混合仿真的仿真器,它支持IEEE常见的各种硬件描述语言标准,支持C/C++功能调用和调试。编译的代码与平台无关,便于保护m核【131。

使用ModelSim进行仿真时,全部的设计文件不论是VHDL、Verilog还是两者的混合文件,都需要编译到一个库中。当所有文件加入到ModelSim中,并且相关的库建立之后,就可以对源文件进行编译了,完成之后就可以进行仿真了。这时需要使用激励源来驱动设计的电路,此激励源可以是HDL源文件,也可以是波形文件,当设置好并执行仿真后,在波形窗口将会显示仿真波形,我们便可以参考此波形来判断调整设计以达到设计要求。

2.3.5硬件描述语言介绍

硬件描述语言(HardwareDescriptionLanguage)是硬件设计人员和EDA

基于FPGA的图像采集与预处理系统设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219