欢迎来到天天文库
浏览记录
ID:28173310
大小:70.11 KB
页数:5页
时间:2018-12-08
《基于fpga的图像处理系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于FPGA的图像处理系统设计摘要根据目前基于FPGA的图像处理现状以及FPGA器件发展趋势,确定了以CycloneIIFPGA作为主处理芯片,建立了基于NIOSII精简指令架构嵌入式处理器的SOPC像处理系统。硬件部分在QuartusII和SOPCBuilder中进行开发;软件在NIOSIIIDE中进行开发,编程实现SD卡驱动,文件读取,图像SURF特征点提取以及特征线段的计算。对系统进行了全面的软硬件优化,加快了系统处理速度。【关键词】FPGAQuartusIISOPCBuilder图像处理像处理算法具有多样性和复
2、杂性,而随着图像实时性要求的增加,处理速度成为了图像处理的瓶颈。可编程阵列(FPGA)具有硬件可编程性和并行处理性,而利用FPGA来实现的可编程片上系统(SOPC)既具有模板设计的特性,又具有ASIC的系统级设计特性,可以大大缩短系统的开发周期。1FPGA特点从某些方面上看,FPGA也是一种专用集成芯片,它们具有专用集成芯片的特点,同时,还有自己付的优势:(l)FPGA需要的较少的资金投入,风险较低。FPGA设计者可以在特定的软硬件平台上进行芯片的功能方面设计,不需要投片,所以在这方面没有风险,也不用任何费用。(2)总
3、的来说,FPGA的规模不断变大,开发投入不断减少,可多次编写、擦除,功能强,灵活且保密性好,有较智能的开发工具,因此,用可编程门阵列进行设计的优势越来越明显,应用领域越来越广。2系统总体设计该系统主要由嵌入式NIOSII处理器,外部SRAM、FLASH等存储器,PIO,外部SD卡以及系统内部相关组件构成,如1所示。系统的工作流程是:首先通过SD卡接口驱动外部SD卡,读取SD卡中存储的图像,随后利用简化SURF算法,定位罔像中的特征点并建立描述子,虽终实现特征线段的计算所求取的特征线段可以用来进行日标定位。3系统软硬件开
4、发系统开发由硬件和软件两部分组成。系统硬件是最底层的部分。首先在SOPCBuilder中完成系统软核的搭建,随后由QuartusII建立系统顶层模块,井编译生成系统,软件部分在NIOSHIDE中开发,编程实现设备驱动、图像读取、简化SURF算法以及特征线段的计算。3.1硬件组成首先根据系统需要选择台适的NIOSIICPU类型以及配套相关外设,SOPCBuilder会自动将这些组件连接到Avalon总线上,随后对系统进行地址和中断号的分配,即可生成SOPC软核。本系统中的CPU代表NIOSII处理器,频率为120MHz,
5、为提高高系统性能,选择了快速型(NIOSII/f)NIOSII处理器。选择了速度较快的SRAM和一片32Kbyte的片上存储器,用来来提高系统速度。另外,还在系统中添加了Avalon流水桥,使部分设备通过流水桥与NIOSII进行通信。形成流水线,提高了系统的最大时钟频率。在SOPCBuilder中生成软核之后,使用QuartusII建立系统的顶层模块,并进行编译,生成系统的硬件平台。3.2软件设计首先编程实现驱动外部SD卡,读取存储在其中的图像文件;随后,利用简化的SURF算法提取图像中的特征点。并建立描述子,完成图像
6、匹配。本系统所用SURF算法主要在两方面进行了简化:(1)图像金字塔的层数。由于本系统的同的是求取特征线段的长度,因此只需要少量的特征点即可,故系统所建立的图像金字塔仅有3层,以减少建立图像金字塔所用的时间。(2)简化特征点描述子。描述子的建立方法是借鉴文献中的方法,并没有使用原SURF中的方法。使用建立过程较为简单的方法虽然提供的信息没有原算法多,但却可以提高系统的处理速度。4系统优化为了更好地利用FPGA资源,改善系统运行速度的,对系统进行了软件和硬件方面的优化。4.1硬件优化硬件优化主要在以下几方面:(1)NIO
7、SII处理器类型的选择。快速型处理器内核具有较高的性能,可以实现较快的处理速度。(2)添加浮点自定义指令。SURF算法中有大量的浮点数计算,通过添加浮点自定义指令可以加快浮点数的计算速度,减少系统处理时间。(3)QuartusII的编译选项。在QuartusII的编译选项中通过编译选项,选择对速度进行优化,改善系统性能。4.2软件优化软件优化主要在以下4个方面:(1)算法优化。使用了简化的SURF算法,降低了算法的复杂度和运算量。(2)优化工程大小。NIOSII工程的运行速度与工程大小有直接关系。(3)程序运行内存的选
8、择。系统RAM使用了速度较快的SRAM,并使用SOPC系统中配置的片上存储器来存放可读写的数据以及栈内存,提高了数据读取的速度,从而提高了系统的性能。(4)编译器优化。在NIOSIIIDE的优化选项中,选择了最高级别的优化选项Optimize(-03),测试表明使用该级别的优化选项的运行速度确实是最快的。5结论本文开发了一种基于F
此文档下载收益归作者所有