- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的图像处理系统设计
摘要根据目前基于FPGA的图像处理现状以及FPGA 器件发展趋势,确定了以Cyclone II FPGA作为主处理芯片, 建立了基于NIOS II精简指令架构嵌入式处理器的SOPC 像处理系统。硬件部分在Quartus II和SOPC Builder中进 行开发;软件在NIOS II IDE中进行开发,编程实现SD卡 驱动,文件读取,图像SURF特征点提取以及特征线段的计 算。对系统进行了全面的软硬件优化,加快了系统处理速度。 【关键词】FPGA Quartus II SOPC Builder图像处理 像处理算法具有多样性和复杂性,而随着图像实时性 要求的增加,处理速度成为了图像处理的瓶颈。可编程阵列 (FPGA)具有硬件可编程性和并行处理性,而利用FPGA来 实现的可编程片上系统(SOPC)既具有模板设计的特性,又 具有ASIC的系统级设计特性,可以大大缩短系统的开发周 期。
1 FPGA特点
从某些方面上看,FPGA也是一种专用集成芯片,它们具 有专用集成芯片的特点,同时,还有自己付的优势:(l)FPGA 需要的较少的资金投入,风险较低。FPGA设计者可以在特定 的软硬件平台上进行芯片的功能方面设计,不需要投片,所 以在这方面没有风险,也不用任何费用。(2)总的来说,FPGA
的规模不断变大,开发投入不断减少,可多次编写、擦除, 功能强,灵活且保密性好,有较智能的开发工具,因此,用 可编程门阵列进行设计的优势越来越明显,应用领域越来越 广。
2系统总体设计
该系统主要由嵌入式NIOS II处理器,外部SRAM、FLASH 等存储器,PIO,外部SD卡以及系统内部相关组件构成,如 1所示。系统的工作流程是:首先通过SD卡接口驱动外 部SD卡,读取SD卡中存储的图像,随后利用简化SURF算 法,定位罔像中的特征点并建立描述子,虽终实现特征线段 的计算所求取的特征线段可以用来进行日标定位。
3系统软硬件开发
系统开发由硬件和软件两部分组成。系统硬件是最底层 的部分。首先在SOPC Builder中完成系统软核的搭建,随 后由Quartus II建立系统顶层模块,井编译生成系统,软 件部分在NIOS HIDE中开发,编程实现设备驱动、图像读 取、简化SURF算法以及特征线段的计算。
3.1硬件组成
首先根据系统需要选择台适的NIOS II CPU类型以及配 套相关外设,SOPC Builder会自动将这些组件连接到Avalon 总线上,随后对系统进行地址和中断号的分配,即可生成 SOPC软核。本系统中的CPU代表NIOS II处理器,频率为 120MHz,为提高高系统性能,选择了快速型(NIOS II/f) NIOS II处理器。选择了速度较快的SRAM和一片32Kbyte的 片上存储器,用来来提高系统速度。另外,还在系统中添加 了 Avalon流水桥,使部分设备通过流水桥与NIOS II进行 通信。形成流水线,提高了系统的最大时钟频率。在SOPC Builder中生成软核之后,使用Quartus II建立系统的顶层 模块,并进行编译,生成系统的硬件平台。
3.2软件设计
首先编程实现驱动外部SD卡,读取存储在其中的图像 文件;随后,利用简化的SURF算法提取图像中的特征点。 并建立描述子,完成图像匹配。本系统所用SURF算法主要 在两方面进行了简化:(1)图像金字塔的层数。由于本系统 的同的是求取特征线段的长度,因此只需要少量的特征点即 可,故系统所建立的图像金字塔仅有3层,以减少建立图像 金字塔所用的时间。(2)简化特征点描述子。描述子的建立 方法是借鉴文献中的方法,并没有使用原SURF中的方法。 使用建立过程较为简单的方法虽然提供的信息没有原算法 多,但却可以提高系统的处理速度。
4系统优化
为了更好地利用FPGA资源,改善系统运行速度的,对 系统进行了软件和硬件方面的优化。
4. 1硬件优化
硬件优化主要在以下几方面:(1) NIOS II处理器类型 的选择。快速型处理器内核具有较高的性能,可以实现较快 的处理速度。(2)添加浮点自定义指令。SURF算法中有大量 的浮点数计算,通过添加浮点自定义指令可以加快浮点数的 计算速度,减少系统处理时间。(3) Quartus II的编译选项。 在Quartus II的编译选项中通过编译选项,选择对速度进 行优
化,改善系统性能。
4.2软件优化
软件优化主要在以下4个方面:(1)算法优化。使用了 简化的SURF算法,降低了算法的复杂度和运算量。(2)优 化工程大小。NIOS II工程的运行速度与工程大小有直接关 系。(3)程序运行内存的选择。系统RAM使用了速度较快的 SRAM,并使用SOPC系统中配置的片上存储器来存放可读写 的数据以及栈内存,提
文档评论(0)