1、Q260046902专业做论文西南科技大学毕业设计(论文)题目名称基于SOPC的视频降噪系统的研究与硬件设计年级本科专科学生学号学生姓名指导教师学生单位信息工程学院技术职称副教授学生专业电子信息工程教师单位信息工程学院西南科技大学教务处制西南科技大学本科生毕业论文I基于SOPC的视频降噪系统的研究与硬件设计摘要图像的复原技术对于人们提取有用信息起到了关键作用。图像降噪技术属于图像复原技术。现在的降噪技术有均值滤波、维纳滤波、中值滤波、小波降噪法等。现在,降噪技术考虑的更多的是图像处理系统的实时性,而用FPGA器件对图像进行处理,则解决了系统的实时性问题。基于FPGA的可编程片上系统(SOPC)
2、在设计上的灵活性和运算高速性的特点,有利于实现整个系统。在设计时,选用中值滤波算法对图像进行处理,核心算法的实现则通过VHDL语言实现的。在SOPCBUILDER下添加PIO、JTAGUART、EPCS等组件,并生成系统。整个系统是由一个CPU进行控制的,这个IP软核是从NIOS中调用的,并结合软件进行调试。该系统是基于STRATIX器件中的EP2S30F484C3芯片,占用了39的系统资源。通过对各个模块及系统的调试,可以证明系统处理的速度是比较理想的。关键词图像处理;降噪技术;中值滤波;SOPC西南科技大学本科生毕业论文IITHERESEARCHANDHARDWAREDESIGNOFVID
3、EONOISEREDUCTIONSYSTEMBASEDONSOPCABSTRACTIMAGERECOVERYTECHNOLOGYPLAYSAKEYROLEINEXTRACTINGUSEFULINFORMATIONTHEIMAGENOISEREDUCTIONTECHNOLOGYBELONGSTOIMAGERECOVERYTECHNOLOGYNOW,THETECHNOLOGYOFIMAGENOISEREDUCTIONINCLUDESMEANFILTER,WIENERFILTER,MEDIANFILTER,NOISEREDUCTIONALGORITHMBASEDTHEWAVELETANDSOONNO
4、WADAYS,NOISEREDUCTIONTECHNOLOGYISLOOKEDUPONASAKEYTECHNOLOGYFORREALTIMEIMAGEPROCESSINGSYSTEM,ANDPROCESSEDIMAGESWITHFPGADEVICESWILLSOLVETHEPROBLEMOFREALTIMEAPPLICATIONTHESOPCTECHNOLOGYBASEDONFPGA,WHICHHASTHEADVANTAGEOFFLEXIBILITYANDHIGHSPEED,ISFAVORABLEFORREALIZINGTHEENTIRESYSTEMINTHEDESIGN,THEMEDIANF
5、ILTERISCHOSETOPROCESSIMAGESTHEKEYALGORITHMISACHIEVEDTHROUGHTHEVHDLTHEFUNCTIONMODULESSUCHASPIO,JTAGUARTANDEPCSAREINTERCALATEDINSOPCBUILDER,ANDTHENTHESYSTEMISGENERATEDTHEDESIGNOFTHEWHOLESYSTEMISCONTROLLEDBYTHECPUCOMPONENT,WHICHISASOFTIPCORECALLEDNIOSIIANDDEBUGGEDCOMBININGSOFTWARETHESYSTEMISIMPLEMENTED
6、INTHEEP2S30F484C3FPGACHIPANDTHESYSTEMOCCUPIESONLY39OFTHEFPGARESOURCESTHROUGHDEBUGGINGTHEVARIOUSMODULESANDTHESYSTEM,ITPROVESTHATTHESPEEDOFSYSTEMISRELATIVELYSATISFACTORYKEYWORDSIMAGEPROCESS,TECHNOLOGYOFNOISEREDUCTION,MIDDLEFILTER,SOPC西南科技大学本科生毕业论文III目录第1章绪论111题目背景112图象处理的应用展望313课题的目的及意义414论文的主要内容5第2章S
7、OPC技术介绍621SOPC技术简介及实现方式6211SOPC技术简介6212SOPC技术实现的方式6213SOPC系统开发流程722QUARTUS的介绍723硬件语言的介绍8第3章降噪方案介绍、比较及选择1131均值滤波1132维纳滤波1233标准中值滤波1234图像小波域滤波1335基于图像锐化和平滑的滤波技术13351LUM平滑器13352LUM锐化器14353LUM滤波器1536几种算法的比较及选择1537中值滤波与LUM滤波器的仿真16第4章中值模块的FPGA实现1841中值滤波模块的设计1841133模板生成模块18412中值滤波模块20第5章系统建立及在SOPC中的模块搭建235
8、1系统的设计23西南科技大学本科生毕业论文IV52系统的实现23521组件的选择23522片上系统的实现3053顶层文件的建立32第6章功能模块及系统的仿真和调试3461功能模块的仿真34611深度为254的FIFO的调试3461233模板生成模块的功能验证34613中值选取模块的调试3662系统的调试及功能仿真3763处理结果及分析38结论39致谢40参考文献41西南科技大学本科生毕业论文1第1章绪论11题目背景图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数
9、字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,获得了月球的地形图、彩色图及全景镶嵌
10、图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。数字图像处理取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI公司工程师HOUSFIELD发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(COMPUTERTOMOGRAPH)。CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术获得了
11、诺贝尔奖,说明它对人类做出了划时代的贡献。与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其西南科技大学本科生毕业
12、论文2中代表性的成果是70年代末MIT的MARR提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。图像处理主要研究的内容有以下几个方面1图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理。2图像编码压缩图像编码压缩技术可减少描述
13、图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。3图像增强和复原图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型“,再采用某种滤波方法,恢复或重建原来的图像。4图像分割图像分割是数字图像
14、处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。5图像描述西南科技大学本科生毕业论文3图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究
15、,提出了体积描述、表面描述、广义圆柱体描述等方法。6图像分类(识别)图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。12图像处理的应用展望图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。随着科学技术的发展,数字图像处理技术的应用领域也将随之不断扩大。数字图像处理技术未来应用领域主要有以下七个方面(1)航天航空技术
16、方面数字图像处理技术在航天航空技术方面的应用,除JPL对月球、火星照片的处理之外,另一方面是在飞机遥感和卫星遥感技术中。图像在空中先处理(数字化编码)成数字信号存人磁带中,在卫星经过地面站上空时,再高速传送下来,然后由处理中心分析判读。这些图像无论是在成像、存储、传输过程中,还是在判读分析中,都必须采用很多数字图像处理方法。现在世界各国都在利用各类卫星所获取的图像进行资源调查、灾害检测、资源勘察、农业规划、城市规划。在气象预报和对太空其它星球研究方面,数字图像处理技术也发挥了相当大的作用。(2)生物医学工程方面数字图像处理技术在生物医学工程方面的应用十分广泛,且很有成效。除了CT技术之外,还有
17、一类是对医用显微技术的处理分析,如染色体分析、癌细胞识别等。此外,在X光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术。(3)通信工程方面当面通信的主要发展方向是声音、文字、图像和数据结合的流媒体通信。其中以图像通信最为复杂和困难,因图像的数据量十分巨大,如传送彩西南科技大学本科生毕业论文4色电视信号的速率达100M/S以上。要将这样高速率的数据实时传送出去,必须采用编码技术来压缩信息的比特量。在一定意义上讲,编码压缩是这些技术成败的关键。(4)工业工程方面在工业工程领域中图像处理技术有着广泛的应用,它大大提高了工作效率,如自动装配线中质量检测
18、,流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些恶性环境内识别工件及物体的形状和排列状态,先进设计和制造技术中采用工业视觉等等。其中值得一提的是研制具备视觉、听觉和触觉功能的智能机器人,将会给工农业生产带来新的面貌,目前已在工业生产中的喷漆、焊接、装配中得到有效的利用。(5)军事公安方面在军事方面图像处理和识别主要用于导弹的精确制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统和模拟训练系统等;公安方面主要用于指纹识别、人脸鉴别、不完整图片的复原以及交通监控、事故分析等。目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别就是图像处理技术成功应用的例
19、子6。(6)文化艺术方面的应用目前这类应用有电视画面的数字编辑、动画的制作、电子图像游戏、纺织工艺品设计、服装设计与制作、发型设计、文物资料照片的复制和修复、运动员动作分析和评分等等。目前正在形成一门新的艺术计算机美术。(7)其它方面的应用数字图像处理技术已经渗透到社会生活的各个领域,如地理信息系统中二维、三维电子地图的自动生成、修复等;教育领域各种辅助教学系统研究、制作中;流媒体技术领域等等。13课题的目的及意义由于视频降噪是属于图像处理中的图像增强和复原技术,由于近年来数字图像的广泛应用,所以视频降噪也是当前研究的热点问题之一。而本课题主要研究的是视频降噪算法的研究,并提出自己的算法。在图
20、像采集和传输过程中,信号常常会受到随机噪声的干扰。因而破坏了图像像素间的结构、纹理、内容等方面的相关性。使得图像失真,并且难于压缩、识别和理解。因此,在大多数图像应用场合都需要降低图像中的噪声,使图像恢复本来的面目。由于低层的图像预处理算法处理的数据量大,用一般的软件来实现会比较慢,而且对于一些实时性要求比较高的系统,如视频图像实时处理系统,处理速度往往是要考虑的关键要素,因为一旦速度跟不上,实时性也就无西南科技大学本科生毕业论文5从谈起。针对图像预处理阶段运算结构比较简单的特点,所以硬件实现是可以满足这个要求的。这也是现在图像处理领域的热点问题之一。14论文的主要内容全文的主要内容共分为六章
21、,分别为第一章绪论。综合介绍了图象处理的背景、应用展望,以及课题选择的目的和意义。第二章SOPC技术介绍。首先介绍了SOPC技术及实现的方式,然后介绍试验中所需要用到的软件QUARTUS的设计流程,最后介绍了硬件描述语言VHDL。第三章方案介绍、比较及选择。首先介绍几种典型的降噪方法,并比较它们的优缺点,然后按照其优缺点进行选择,从中选出自己的方案。第四章中值滤波的硬件实现。先介绍了中值滤波实现的总体框架,再具体介绍了框架中各个组件的功能及实现。第五章在SOPC中建立系统。先对组件进行选择并生成系统,然后再将生成的片上系统于硬件实现的滤波块进行连接,建立顶层文件。第六章功能模块与系统的仿真。先
22、对各个模块进行仿真,然后再对系统进行仿真。西南科技大学本科生毕业论文6第2章SOPC技术介绍21SOPC技术简介及实现方式211SOPC技术简介SOPCSYSTEMONPROGRAMMABLECHIP即可编程的片上系统,或者说是基于大规模FPGA的单片系统。SOPC的设计技术是现代计算机辅助设计技术、EDA技术和大规模集成电路技术高度发展的产物。SOPC技术的目标就是试图将尽可能大而完整的电子系统,包括嵌入式处理器系统、接口系统、硬件协处理器或加速系统、DSP系统、数字通信系统、存储电路以及普通数字系统等,在单一FPGA中实现,使得所设计的电路系统在其规模、可靠性、体积、功耗、功能、性能指标、
23、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。SOPC技术是一门全新的综合性电子设计技术,涉及面广。212SOPC技术实现的方式SOPC技术实现方式一般分为三种1基于FPGA嵌入IPINTELLECTUALPROPERTY硬核的SOPC系统。目前最常用的嵌入式系统大多采用了含有ARM的32位知识产权处理核的器件。ALTERA公司EXCALIBUR系列的FPGA中就植入了ARM922T嵌入式视同处理器;XILINX的VIRTEXPRO系列中则植入了IBMPOWEPC405处理器。这样就能使得FPGA灵活的硬件设计和硬件实现与处理器强大的软件功能结合,高效地实现SOPC。2基于FPG
24、A嵌入IP软核的SOPC系统。在第一种实现方案中,由于硬核是预先植入的,其结构不能改变,功能也相对固定,无法裁减硬件资源,而且此类硬核多来自第三方公司,其知识产权费用导致成本的增加。如果利用软核嵌入式系统处理器就能有效克服这些不利因素。最具有代表性的嵌入式软核处理器是ALTERA公司的NIOS软核处理器。3基于HARDCOPY技术的SOPC系统。HARDCOPY就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。从SOPC实现方式上不难看出,IP核在SOPC系统中占有极其重要的地位,IP核的设计及I
25、P核的复用成为SOPC技术发展的关键所在。半导体产业的IP定义为用西南科技大学本科生毕业论文7于ASIC、ASSP和PLD等当中预先设计好的电路模块。在SOPC设计中每一个组件都是一个IP核。IP核模块有行为、结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即完成行为描述的软核SOFTIPCORE、完成结构描述的固核FIRMIPCORE和基于物理描述并经过工艺验证的硬核HARDIPCORE。213SOPC系统开发流程SOPC系统的开发流程一般分为硬件和软件两大部分,如图21所示图21SOPC系统开发流程在图21中我们可以看出硬件开发主要是创建NIOS系统,作为应用程序运行的平台;
26、软件开发主要是根据系统应用的需要,利用C/C语言和系统所带的APIAPPLICATIONPROGRAMMINGINTERFACE,应用程序接口函数编写实现特定功能的程序。而这其中用到的主要工具是ALTERA公司的QUARTUS和NIOSIDE。22QUARTUS介绍QUARTUS是ALETER提供的FPGA/CPLD开发集成环境,ALTERA是世界最大的可编程逻辑器件供应商之一。QUARTUS在21世纪初推出,是ALTERA前一代FPGA/CPLD集成开发环境MAXPLUS的更新换代产品,其界面友好,使用便捷。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
27、配置处理器自定义指令处理器库外设库选择并配置外设IP模块连接模块生成HDL源文件测试平台QUARTUS分析和适配用户代码其他IP模块硬件配置文件JTAG,UART,ETHERNETALTERAPLD软件开发硬件开发NIOSIDEC头文件自定义库外设驱动编译、链接、调试用户代码库PTOSSOPCBUILDERGUI可执行代码软件跟踪,硬件断点SIGNALTAP片上调试验证和调试西南科技大学本科生毕业论文8ALTERA的QUARTUS提供了完整的的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统SOPC设计的综合性环境和SOPC开发的基本设计工具,并为ALTERADSP开发包进行系统
28、模型设计提供了集成综合环境。QUARTUS设计工具完全支持VHDL、VERILOG的设计流程,其内部嵌有VHDL、VERILOG逻辑综合器。QUARTUS也可以利用第三方的综合工具,如LEONARDOSPECTRUN、SYNPLIFYPRO、FPGACOMPILER,并能直接调用这些工具。同样,QUARTUS具备仿真功能,同时也支持第三方的仿真工具,如MODELSIM。此外,QUARTUS与MATLAB和DSPBUILDER结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。QUARTUS包括模块化的编译器。编译器包括的功能模块有分析/综合器、适配器、装配器、时序
29、分析器、设计辅助模块、EDA网表文件生成器和编辑数据接口等。可以通过STARTCOMPILATING来运行所有的编译器模块,也可以通过选择START单独运行各个模块。还可以通过选择COMPILERTOOL,在COMPILERTOOL窗口中运行该模块来启动编译器模块。在COMPILERTOOL,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。在下图22中,上面一排是QUARTUS编译设计主控界面,它显示了QUARTUS自动设计各主要处理环节和设计流程,包括设计输入编译、设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。在图22中,下面一排的流程框图,是与上面的QUAR
30、TUS设计流程相对照的标准的EDA开发流程。图22QUARTUS设计流程23硬件语言介绍图形或HDL编辑ANALYSISUSEIEEESTD_LOGIC_1164ALLENTITYBIJIAOQIISPORTA,BINSTD_LOGIC_VECTOR7DOWNTO0西南科技大学本科生毕业论文21Q1,Q2OUTSTD_LOGIC_VECTOR7DOWNTO0ENDBIJIAOQIARCHITECTUREONEOFBIJIAOQIISBEGINPROCESSA,BBEGINIFABTHENQ1“OFF“,INTENDED_DEVICE_FAMILY“CYCLONEII“,LPM_NUMWORDS
31、254,LPM_SHOWAHEAD“OFF“,LPM_TYPE“SCFIFO“,LPM_WIDTH8,LPM_WIDTHU8,OVERFLOW_CHECKING“ON“,UNDERFLOW_CHECKING“ON“,USE_EAB“ON“)西南科技大学本科生毕业论文31在程序中设置了输入、输出的位宽,芯片类型以及我们需要修改的存储深度,上面的程序中,LPM_NUMWORDS就是对FIFO深度的设置,由于我们需要的是254位的,所以设置为LPM_NUMWORDS254,然后就能够生成深度为254的FIFO了。522片上系统的实现1组件的设置及添加在了解了所需要的组件后,就需要将这些组件集成在同一
32、个片上,做成一个片上系统,这里就需要用到上面提到的SOPCBUILDER。在进入SOPCBUILDER前,首先应该打开或者建立一个工程,这样才能打开SOPCBUILDER,否则是打不开的;然后在TOOL选项中选择SOPCBUILDER,进入到SOPCBUILDER的工作界面,为所需要建立的系统命名;最后才进入到组件的添加界面。在进行添加组件之前,首先要选择好芯片,这里我们选择的是CYCLONE芯片,时钟选择50MHZ,然后开始添加组件了。首先添加的是NIOS软核处理器即CPU,在SYSTEMCONTENTS选项下的AVALONCOMPONENTS中双击NIOSPROCESSORALTERACO
33、RPORATION,然后就会弹出ALTERANIOS对话框,在NIOSCORE配置选项中,点击NIOS/E区域,即选择NIOS/E,在点击下方的NEXT进入下一项配置中;在JTAGDEBUGMODULE配置选项中,选择LEVEL1,就选择完毕了,再点击NEXT进入下一项的选择;下一项是CUSTOMINSTRUCTIONS配置选项,这里是用来添加定制指令的,由于不需要添加什么,所以这里设置为空;最后点击FINISH,那么我的项目中就会增加一个NIOS处理器,其名字默认为CPU_0,如果要改换其它名字,只需点到CPU_0后,点击鼠标右键,在选项中选择RENAME就可以了。然后为系统添加ONCHIP
34、_MEMORY,它是在SYSTEMCONTENTS选项下的AVALONCOMPONENTS选项下的MEMORY的分支中,双击ON_CHIPMEMORYRAMORROM,就会弹出设置选项,首先选择是添加RAM还是ROM,这里我们选择RAM,然后选择存储数据的长度,我们选择8BITS,最后选择存储的大小,我们选择4KBYTES,选择完后,点击FINISH,就完成了对片上存储器的添加及设置。接着添加I/O接口、EPCS_CONTROLLER以及JTAG_UART,除了I/O端口需要将其设置为输入输出和数据长度外,EPCS_CONTROLLER和JTAG_UART都是用系统默认的值,不需要我们改动。I
35、/O端口我们设置为一个输入和两个输出,其数据长度设置为8BITS。西南科技大学本科生毕业论文322地址及中断的设置在SOPCBUILDER中,可以利用系统自动地为添加好的组件进行地址分配和中断设置,其具体操作是添加好系统的组件后点击工具栏中的SYSTEM选项,然后会显示2个选择AUTO_ASSIGNBASEADDRESSES和AUTO_ASSIGNIRQS,前者是让系统自动分配基地址,后者是让系统自动分配中断。系统分配好以后,如图55所示图55组件的添加及地址和中断设置3片上系统的生成在添加好组件及分配好地址和中断以后,接下来要做的就是对整个片上系统的生成了。点击SYSTEMGENERATIO
36、N选项卡,选中HDLGENERATESYSTEMMODULELOGICINVERILOG和仿真选项SIMULATIONCREATEMODELSIMTMPROJECTFILES,选择完后,点击GENERATE,进行系统的生成的任务。如果在添加和设置的时候没有忘记的地方的话,那么在系统生成的时候就会很顺利,如果看到系统提示SUCCESSSYSTEMGENERATIONCOMPLETED,那么就说明顺利地生成了系统;如果失败了,那么就需要返回进行修改。我在第一次进行系统生成的时候就出现了错误,结果检查了很久都没检查出来,最后才发现是由于在对文件夹进行命名的时候将文件夹明明成了中文,结果系统不能识别,
37、所以产生了错误。后来修改了,就顺利地生成了系统。西南科技大学本科生毕业论文3353顶层文件的建立由于经验建立好了相应的模块,就需要创建顶层文件了,由于使用图形输入的,所以这里用BLOCKDIAGRAM/SCHEMATICFILE定义顶层文件。由于模块都是建立好了的,所以这里需要将它们连接接来并进行调试就可以了。顶层文件连好后如图510所示图510中值滤波顶层文件图图中共有5个模块,上面右边的是一个地址发生器;最右边的是一个SRAM,用来存放处理好后的数据;下面左边的是33模板封装后的图,其右边的则是中值滤波模块。图中,首先是33模板中的数据存储,即2个FIFO是否存满了数据,这是通过满信号F0
38、和F1来实现的,F2和F1的状态通过PIO传给片上系统后,系统通过判断来决定RD0和RD1的状态,而RD0和RD1是控制FIFO的输出的,所以只有当满足条件的时候,33模板中才会有数据输出。数据输出后经过中值滤波模块进行处理后,然后在传输给SRAM进行存储,这样就完成了中值滤波。由于SRAM设置的深度与图片的像素点相同,所以当数据处理完以后,SRAM也就存满了。这样就实现了一帧图片的中值滤波。其RTL级硬件电路连接图如图511所示西南科技大学本科生毕业论文34图511顶层文件的RTL级连接西南科技大学本科生毕业论文35第6章功能模块及系统的仿真和调试61功能模块的仿真611深度为254的FIF
39、O的调试由于深度为254的FIFO是自己设置的,那么就需要对其功能进行调试,看是否有需要修改的地方。在对系统进行仿真前,首先要对输入信号进行设置,由于我们是验证254位FIFO的功能是否正确,那么就要看它是否在存入254个数据后有满信号输出,然后在看读、写信号的功能是否正确。对这些输入的设置好以后,就对其进行功能仿真,其输出如图61所示图61254位FIFO功能仿真在图61中,我们可以看到由于FIFO的写信号一直是有效的,所以数据一直有存入,而读信号由于一直是无效的,所以就没有数据输出。在第254个时钟的上升沿来临的时候,由于FIFO一直只有读入,没有输出,所以这时的FIFO已经存满了数据,那
40、么这时FIFO的满信号FULL就应该输出为1,表示已经存满了,从图中可以看出FULL输出的确实是1。再给读信号置为1以后,那么当时钟的上升沿来临的时候就有数据输出了,这说明自己设计的FIFO的读、写信号的功能是正确的,满信号FULL的输出也是正确的,而且确实是实现了对254个数据的存储,这也说明当初的设计思想是正确的。由于254位FIFO的设计是为实现33模板生成模块提供基础,那么它的正确与否直接关系到整个系统能否正确的实现功能,通过对其功能仿真证明了254位FIFO是对的,那么就可以实现33模板生成模块了。61233模板生成模块的功能验证西南科技大学本科生毕业论文3633模板生成模块是实现整
41、个降噪系统的关键,因为33模板生成模块是要就将3行数据进行并行输出,实现中心点及其周围的8个点的正确输出,这就对数据的输出有很严格的要求,也直接关系到降噪的成败,所以这也是验证的重点。在仿真前首先要对输入信号进行设置,由于数据是每个周期都要来的,所以两个写信号都设置为1,一直都不改变,否则会造成数据的流失;由于两个FIFO都是254位,需要在它们都存满数据后才输出,但FIFO的读信号本来是通过片上系统来控制的,而这里没有进行联调,所以自己设置在地254个周期到来时,两个FIFO的读信号都为1,这样FIFO(A)中就存入了第一行数据的前254个数据,而FIFO(B)中则存满了0。设置好以后就对其
42、进行功能仿真了。图62则是对33模板生成模块的仿真图图6233模板生成模块输出验证从图62中的数据可以看出,图中下方的9行数据分别是Z11到Z33。由于是通过254位FIFO和2个D触发器实现了一行数据的存储,那么Z11就是Z12延迟了一个周期后的输出,Z12是Z13延迟了一个周期后的输出,以次类推,Z21和Z31也是这样的。图中第一列数据分别是138、133、134、133、133、133、129、133和130,通过查询原图片的灰度值可以确定正是输出的第一行、第二行和第三行的前三个数据,这也是我们所期望的输出,然后取后面的几组数据与原数据进行比较,也是原图像的灰度值,证明的模块的功能是正确
43、的。由于模块是用FIFO来对数据进行存储,就一定会有一些不需要的输出数据,这是因为FIFO进行数据存储时需要一定的时间,西南科技大学本科生毕业论文37而这段时间就输出一些数据,这就是在Z11里面看到的0输出,而这只需要通过片上系统对Z11数据进行判断,看是否有第一行的数据输出就能实现正确的数据输出了。613中值选取模块的调试中值的选取是为了将图像中的脉冲噪声过滤掉,而这些噪声的象素值通常是极大或极小的,这样通过取邻域中象素的中间值就能将其过滤掉。中值选取模块是通过双进双出的8位2进制的比较器来实现的,这里对其功能进行调试是为了保证能够正确地实现中值滤波。中值选取思想是想将输入的9个数据中的8个
44、数据进行从大到小的排序,然后再将剩下的1个数与排好的数据从小到大的进行比较,这样就实现了9个数据的排序,最后取第5个输出就是数据的中间值了。将硬件图连接好以后,就要对其进行功能的验证,所以先要输入随机的9个8位2进制数,然后看输出是否按从大到小输出。其功能仿真如图63所示图63中值选取仿真波形通过图63我们可以看出,对于输入的9个随即数据,中值选取模块可以将它们按照从小到大的顺序输出,这样就证明模块功能的正确性。而我们在对整个系统进行调试的时候,只需要在输出的时候选择第5个输出引脚就可以实现中值的选取了。西南科技大学本科生毕业论文3862系统的调试及功能仿真系统的实现是由硬件和软件联合实现的,
45、软件部分主要是片上系统通过FIFO的满信号(FULL)来控制FIFO的读信号(RD),当满信号输出为1时,即FIFO里面存满了数据,则通过片上系统给FIFO的读信号置为1,让FIFO开始读出数据,因为只有当FIFO中存满了数据才能实现33模板生成模块的正确输出。在对系统进行仿真的时候,由于没有考虑到FIFO在写信号有效的时候,只要来个时钟周期就要存入一个数据,若没有数据输入则默认输入为0,所以在仿真的时候总是在输出的时候数据不对,因为我们是认为只有在有数据输入的时候才存入FIFO,而把0考虑掉了,所有得出的数据都不正确。通过多次得仿真和调试后,终于得到了比较满意的数据输出。而且通过数据能够看出
46、系统确实是实现了对图像得中值滤波,这也说明了系统的正确性。系统功能仿真如图64所示图64系统功能仿真图在图64中,我们可以看到10行数据,上面的9个数据分别是Z11到Z33,最后一行便是这9个数据的中值。在直线所在的位置我们看到的一组数据,这组数据的上面9个分别是132、132、138、130、131、134、125、129和128,这9个数据的中值是131,我们看到最后一行数据输出的也是131,这说明这是对9个数据的中值选取,而且通过对后面多组数据的确认,也是正确的,说明系统能够实现预期目的。西南科技大学本科生毕业论文3963处理结果及分析图65原始图像图66加入椒盐噪声的图像图67处理后的
47、图像从图像的处理结果可以看出,在对椒盐噪声进行处理的时候,系统能有效的将噪声去除掉,而且对图像的细节也能较好地保护,仅在下面部分产生了点模糊。而且系统是核心算法是由硬件实现的,因此,系统的处理速度也能满足设计的要求的。西南科技大学本科生毕业论文40结论经过将近五个月的毕业设计,已经基本完成了本课题的设计任务。在整个设计过程中,我对视频降噪以及SOPC技术都进行了深入的学习。在设计时,通过使用基于FPGA的功能模块和自己编写的功能模块实现了系统的核心算法。由于系统的运算是用硬件实现的,所以提高了运算速度,保证了系统的实时性。将在SOPCBUILDER中生成的片上嵌入式软核CPU作为系统的信号控制
48、模块,并且将软件与硬件进行联合调试。在对系统进行调试的时候,主要是在对数据进行存储时出现了错误,经过调试后系统能正确的对数据进行存储、输出及运算,并且最终实现了对图像数据的中值处理。在此次设计中,我主要完成了以下工作1完成对片上系统的设置及系统的生成;2完成了对深度为254位FIFO的设计及实现;3通过硬件实现了33模板生成模块的正确输出,为中值滤波提供了实现的基础;4完成了中值选取模块的实现,并最终完成了整个中值滤波系统的功能仿真。通过此次毕业设计,使我在各方面的能力都有了极大的提高。首先,由于此次设计是基于SOPC的,而SOPC又是现在嵌入式研究的热点,所以在设计时不仅学到了不少的专业知识
49、,同时也对SOPC相关软件的使用有一定的了解,这使我在以后的工作选择上有了一定的优势;其次,培养了自己的自学能力,对问题的分析与解决也学会了换个角度思考;最后深深的认识到团队协作是多么的重要,因为你遇到的问题也许其他人也遇到了并且也解决了,或是他人有更好的方法。西南科技大学本科生毕业论文41致谢在毕业设计论文即将完成之际,我首先想感谢的是我的父母,完全是因为父母在家里辛苦的工作才能使我在这里完成四年的大学学业。在此我对我的父母表示深深的感激,父亲和母亲永远是我精神动力和支柱。在此我还要感谢刘桂华老师和赵海龙老师在我做毕业设计之时给我的帮助,刘老师抽时间为我指导工作,为我的毕业设计提出了很多宝贵意见,为我的课题研究提出很多方向,而赵海龙老师则帮助我解答了设计过程中遇到的很多问题。在此,还要感谢实验室的两位师兄何涌和祝本明,在我毕业设计的过程中在他们的帮助下使得我的工作能够很顺利的进行。最后我还想感谢实验室的各位朋友同学卫舒春、董文超、王婧、焦燕、杨玲等,是他们使我深深地感受到我们是一个团队,团队协作精神是很重要的,在工作和学习中我们共同思考,共同进步。感谢各位对我的帮助和关心,再次表示深深的感谢谨以此文献给所有关心和帮助过我的人西南科技大学本科生毕业论文42参考文献1AISHYAMER,ERICDUBOIS,FA