




已阅读5页,还剩58页未读, 继续免费阅读
(测试计量技术及仪器专业论文)sopc技术在视觉测量中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 本文以视觉测量为研究背景,探讨了一种基于s o p c ( 片上可编程系统) 技 术的视觉测量系统设计方案n i o si i 软核结合用户自定义逻辑的方案,采用基 于f p g a 的s o p c 技术设计视觉测量系统。 图像处理是视觉测量的关键,本文研究的重点集中在视觉测量系统中前端的 图像预处理以及后端的部分视觉测量算法( 点中心求取) 在s o p c 系统中的实现。 由于本系统所需处理的数据量较大,且后期的视觉测量算法相对复杂。因此,在 稳定可靠的前提下实现高效处理并保证系统的灵活性是系统设计的最终目标。 基于f p g a 的s o p c 系统兼备了嵌入式系统与f p g a 的优势,为高速视觉测 量系统的实现提供了新的解决方案。本系统结合处理算法的特点进行模块划分, 根据模块划分进行软硬件协同设计,实现了基于s o p c 技术的视觉测量图像处理 系统。 论文根据系统需求,选定加拿大s b s 公司的t s i 肘a m ia 4 0 为开发平台,并 最终确定了系统设计的总体方案。系统设计的基本思想如下:首先针对视觉测量 算法进行模块划分,对算法简单、数据处理量大的部分用f p g a 逻辑单元自定义 硬件模块的方法实现,各硬件模块之间数据采取流水线操作;算法复杂、数据处 理量小的部分则在n i o si i 软核中用软件的方法实现,从而使本系统既具速度优 势又具良好的灵活性。 本文给出了系统各模块的详细设计,用f p g a 实现了中值滤波、除杂散点、 二值化以及边缘提取等模块,而点中心的求取则采用n i o si i 软核实现。最后对 系统整体以及系统各模块进行了仿真、调试与实验分析,对设计和调试过程出现 的问题进行了分析并给出了解决方案。系统最终通过验证,实现了所需功能。经 测试,系统速度优势非常明显,相比较于传统的p c 机,处理效率得到极大的提 高。 关键词:s o p c ;视觉测量;f p g a ;图像处理;a v a l o n 总线;n i o si i a b s t r a c t t h ed e s i g no fas t e r e o v i s i o nm e a s u r e m e ms y s t e mb a s e do i ls o p c ( s y s t e mo n a p r o g r a m m a b l ec h i p ) u s i n gf p g a i sd i s c u s s e di nt h i sp a p e r , w h i c hi n t e g r a t e st h en i o s i is o f t w a l e - c o r ew i t hl o g i ci n s t r u c t i o n sd e f i n e db yu s e p 3 t h ei m a g ep r o c e s s i n gi st h ek e ys t e po fas t e r e o v i s i o nm e a s u r e m e mp r o c e d u r e o u rr e s e a r c hi sf o c u s e do nt h er e a l i z a t i o nf o ras e r i e so fi m a g ep r e t r e a t m e n t sa n dt h e d e s i g no fas u c c e s s i v es t e r e o v i s i o na l g o r i t h mw h i c ho b t a i n st h ec e n t r o i dc o o r d i n a t e s o ft a r g e tp o i n t si ni m a g e so fo u rs o p cs y s t e m f o rt h ec o m p l i c a t i o no fas t e r e o v i s i o n a l g o r i t h ma n dt h el a r g eq u a n t i t yo fd a t at ob eh a n d l e d ,o u rs y s t e md e s i g nw o r ki s d i r e c t e dt op r e s e r v ee f f i c i e n c ya n d f l e x i b i l i t yu n d e rs t a b i l i t y t h es o p cs y s t e mb a s e do nf p g ap o s s e s s e st h e a d v a n t a g e so fb o t ht h e e m b e d d e ds y s t e ma n df p g a ,w h i c hp r o v i d e san e wm e t h o dt oi m p l e m e n to u rh i l g h s p e e dm e a s u r e m e ms y s t e m m o d u l ed e s i g n a t i o ni sc a r r i e do u ti nt h es o p cs y s t e m a c c o r d i n gt od i f f e r e n tf u n c t i o nf e a t u r e so fd i f f e r e n ta l g o r i t h mp a r t s t h eh a r d w a r ea n d s o f t w a r ec o d e s i g ni su s e dt oi m p l e m e mt h ei m a g ep r o c e s s i n g w i t hs y s t e mr e q u i r e m e m su n d e rc o n s i d e r a t i o n , t h et s u n a m ia 4 0f r o ms b so f c a n a d ai ss e l e c t e da st h ed e v e l o p m e n tp l a t f o r ma n dt h es y s t e mi sd e s i g n e di n p r i n c i p l e s 勰f o l l o w s :s i m p l ea l g o r i t h m m o d u l e s h a n d l i n gl a r g eq u a n t i t y o f c o m p u t a t i o na r ei m p l e m e n t e do nh a r d w a r eb l o c k sc u s t o m i z e db yt h ef p g al o g i c u n i t sb e t w e e nw h i c hd a t ai st r a n s f e r r e db yp i p e l i n i n g ;c o m p l i c a t e da l g o r i t h m sw i t h s m a l ld a t ac o m p u t a t i o na r ep r o g r a m m e di nn i o si is o f t w a r e - c o r e c o n s e q u e n t l y , h i 曲一s p e e dp r o c e s s i n ga n df l e x i b i l i t yi sa c q u i r e d d e s i g n o fd i f f e r e n tm o d u l e si si n t r o d u c e di nd e t a i l si nt h i sp a p e r ,w h i c hi n c l u d e u s i n gf p g af o rm e d i a nf i l t e r i n g ,i m p u r i t yw i n k l i n g ,b i n a r i z i n g ,a n de d g ed e t e c t i n ga s w e l la su s i n gn i o si is o t t w a r e - e o r ef o rc e n t r o i dc o m p u t i n g s i m u l a t i o na n d d e b u g g i n g a l ea p p l i e dt od i f f e r e n tp a r t s 嬲w e l l 硒t h ew h o l es y s t e mw h i l ea n a l y s i sa n ds o l u t i o n s a 陀p r e s e n t e dt op r o b l e m so c c u l t e dd u r i n gt h ec o u r s e e x p e r i m e n ta n dt e s tr e s u l t s s h o wt h a ta l lt h ef u n c t i o n sn e e d e dw e r er e a l i z e dw i mm u c hh i g h e re f f i c i e n c ya n d p r o c e s s i n gs p e e di no u rs y s t e mt h a nc o n v e n t i o n a lp c s k e yw o r d s :s o p c ;s t e r e o v i s i o nm e a s u r e m e n t ;f p g a ;i m a g ep r o c e s s i n g ;a v a l o nb u s ; n i o s 学位论文版权使用授权书 本人完全了解北京机械工业学院关于收集、保存、使用学位论 文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本 和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、 缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以 及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向 国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目 的的前提下,学校可以适当复制论文的部分或全部内容用于学术活 一- 动o 、 l 彦 学位论文作者签名:学剖蕈 州年,月9 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名:。 年月日年月日 硕士学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 签名: d 2 矿咭 日 7 存月婉幻月 、芬年 第1 章引言 1 1 选题背景及意义 第l 章引言 视觉测量是利用各种图像传感器采集物体图像信息,借助计算机强大的数据 处理能力实现对物体( 物点) 空间位置的测量1 1 。它是以机器视觉技术为基础, 融合了电子技术、计算机技术、近景摄影测量技术以及图像处理技术等多门现代 科学的综合技术2 1 。典型的视觉测量系统构成【3 1 如图1 1 所示。 光源 1 图图后 传感器 i ih l 像 像续 j r 采处处 i 集 理 7 斗 理 心 摄像机标定 铷 被测物体 图1 1 典型的视觉测量系统 视觉测量技术具有测量目标多样性的特点,它已经被广泛的应用到各种科学 领域中4 1 。包括工业,生物医学,建筑学等等各种领域都可以容易的找到视觉技 术的应用,比如说自主车的导航、工件检测、物体的识别。现在基本找不到未使 用过视觉测量技术的行业。 视觉测量的关键技术岭j : 1 光源技术。在目前的视觉测量系统中,好的光源与照明方案往往是整个系 统成败的关键。 2 图像采集技术。图像采集将对象的可视化图像转化为能被计算机处理的一 系列数据。由于视觉测量系统强调精度和速度,所以需要图像采集部分能及时、 准确地提供清晰的图像。因此图像采集部分的性能会直接影响整个视觉测量系统 的性能。 3 图像处理技术。视觉测量中的图像处理主要包括图像预处理、边缘提取( 亚 像素技术) 、特征提取等。 4 摄像机标定技术。摄像机标定是为了确定摄像机的位置、属性参数和建立 成像模型,以便确定空间坐标系中物体点同它在图像平面上像点之间的对应关 第1 章引言 系,包括确定摄像机内部几何和光学特性( 内部参数) 和或相对于一个世界坐标 系的摄像机坐标的三维位置和方向( 外部参数) 。 其中图像处理是视觉测量系统中关键的一部分,也是本文的研究重点。视觉 测量系统中的图像处理既包括前期的图像预处理又包括后期的视觉测量算法( 本 文主要指目标点点中心的求取) 的实现。视觉测量系统设计面临的主要难点就是 如何在保证系统高精度、高可靠性的前提下还能满足系统高速处理的要求以及系 统设计的灵活性。目前采用p c 机用纯软件方式实现的图像处理系统,可靠性以 及系统的灵活性较好,但是处理速度较慢。还有些采用专用的硬件电路实现的视 觉测量系统,由于硬件处理的速度优势,使得基于这种方案的设计的系统在速度 上具有优势,但是由于纯硬件方式实现复杂算法具有一定的难度,因此基于硬件 设计的图像处理系统灵活性较差。而本文采用的基于s o p c 技术的图像处理系 统,结合硬件处理和软件处理的优势,很好的解决了前述方案的技术瓶颈,使系 统即具灵活性又能保证高速处理。 本文的主要工作是采用s o p c 技术实现图像处理及相关算法。课题应用基于 f p g a 嵌入坤软核的s o p c 系统实现对图像预处理算法及视觉测量相关算法的 软硬件加速,可以弥补传统方法的不足,使视觉测量系统具有高效性、实时性和 灵活性,具有一定的理论和实用价值。 1 2 研究现状及发展趋势 视觉测量通过摄像机采集到目标物体的图像信息后,根据所拍摄的到的图像 中物体的成像信息与目标物体实际空间信息之间的几何关系,采用计算机或者其 它处理器对图像进行处理,从而测量物体的空间位置以及几何尺寸1 5 j 。采用高分 辨率的c c d 采集图像后经过一系列的图像处理以及视觉测量算法处理之后,可 以实现高精度测量。视觉测量是基于光学的非接触测量【6 l ,因此其应用领域十分 广阔,尤其是在微小尺寸、大场景以及复杂结构的尺寸测量中应用广泛【5 丌。 目前常用的视觉测量是以二维图像为研究对象的,随着视觉测量技术应用的 日益广泛,应用的场合也日趋复杂,很多情况下所需处理图像的数据量很大而且 所采用的图像处理算法也相当复杂。这些都给视觉测量带来了很多困难,增加了 处理的复杂性。尤其在图像处理数据量很大的情况下,需要提高系统处理的效率, 保证系统的处理的实时性。因此如何改善视觉测量系统性能,提高系统处理效率, 实现高速处理,将是视觉测量研究的一个发展方向。 视觉测量的复杂性还体现在实际的工业现场中。理论上的图像处理模型是比 较完善的,但由于工业现场获取图像有诸多限制,需要考虑更多的实际问题。不同 2 第1 章引言 的图像处理方法的精度和速度也不相同,有些方法虽能获得较为满意的精度,但 复杂的处理过程也影响其在许多场合中的应用;有些方法能保证系统的速度但是 对于复杂的处理是实现起来却无能为力。因此,如何保证系统的高效性和系统的 灵活性,使二者兼备,既能获得满意的处理结果,又能简化系统设计,降低设计 难度,使系统能实现更为复杂的处理,将是视觉测量研究研究的另一个重要内容。 世界上许多的研究机构和实验室都在进行视觉测量领域各个方面的研究,并 且有许多研究成果不断的涌现【4 j ,而且比较成熟的视觉应用也越来越多,其适用 性,精确性,稳定性较以前都有很大提高,例如:加拿大d a l s a ,美国c o g n e x , 比利时e u r e s y s 等公司的产品。但是在计算机视觉领域,总体来讲没有任何一个 系统具有通用性,在不同的应用领域都有其独特的应用需求,而我们的研究主要 针对微波天线的三维面型测量。 对视觉测量来说,底层的数字图像处理以及高层的视觉测量算法的实现是其 中的重点内容。本文的研究重点集中在图像预处理及空间点中心的求取上。一般 情况下,成像系统获取的图像( 即原始图像) 由于受到种种条件限制和随机干扰, 往往不能在视觉系统中直接使用,必须在视觉信息处理的早期阶段对原始图像进 行灰度校正、噪声过滤等图像预处理。图像进行预处理之后,针对不同的测量要 求,设计合适的测量算法,测量算法的复杂性视我们的测量要求和测量对象而定。 不论是图像的预处理还是测量算法的实现都要求系统必须具有很强的数据处理 能力,以保证系统的实时性;其次对系统的体积、功耗、稳定性等也有较严格的 要求。底层的图像预处理算法实现的过程中经常用到对图像的卷积、梯度运算、 锐化、滤波、图像区域特征提取等不同层次、不同种类的处理,一般来说底层图 像预处理需要处理的数据量大,对处理速度的要求高,但运算结构相对比较简单。 适于用硬件处理,比如f p g a 。高层的测量算法的特点是处理的数据量相对较少, 但算法和控制结构复杂,难于用纯硬件实现,因此可以采用易于软件实现的处理 器来实现,比如传统的p c 机或者运算速度高、寻址方式灵活、通信机制强大的 d s p 处理器【8 j ,以及本课题采用的s o p c 技术中的更为灵活的n i o s 处理器 本文研究的重点主要集中在图像预处理算法以及点中心求取算法的实现,目 前,图像处理系统的实现主要有两类方法:一是采用通用的p c 机系统实现;二 是采用专用的嵌入式处理器实现。在第二类方法中由于采用的处理器不同还可以 再细分为几种不同的实现方案。下面具体介绍一下这些方法的优劣并提出本文所 采用的系统实现方案。 1 2 1 基于传统p c 机的图像处理系统 这类系统有成熟的理论和开发方式,拥有强大的软硬件基础。硬件上,可以 第1 章引言 充分利用标准的p c 机资源;软件上,有很多熟悉且相对容易掌握的操作系统以 及各种功能强大的开发工具。因此这类系统实现起来简单可靠。但是传统p c 机 处理器的专用性不高,并且传统的p c 机软件系统较为庞大,因此系统处理速度 较低,难以保证实时性,而视觉测量系统在底层的图像预处理阶段需要处理大量 的数据,传统的p c 机处理起来相当耗时,不能满足实时操作。此类系统常常用 来做仿真或者用来做科研研究1 9 j 。 本课题组实验室以前的研究主要就是基于p c 机实现的视觉测量系统,已经 具有成熟的系统,功能实现相对完善,唯一的缺点就是系统处理速度上还有所欠 缺。 1 2 2 基于d s p 的图像处理系统 基于d s p 的图像处理系统根据在实际应用中的不同,可以采用多个或者多 个d s p 芯片来实现。有些系统相对简单,只需要采用单个d s p 芯片再加存储器 件以及一些辅助的外围电路( 控制电路、信号放大器、模数转换以及一些通信接 口等) 即可实现。而有些复杂的系统,特别是要求实时处理的系统,运算量较大, 这类系统除了要完成d s p 处理的功能之外,还要完成许多控制、通信以及人机 交互等功能,因此需要多个d s p 处理器协同工作,来实现系统功能【8 1 。 目前常用的单d s p 图像处理系统,采用一个d s p 芯片加一个外围的控制管 理电路( 比如通用微处理器m p u ) ,m p u 完成管理控制功能,实现对d s p 芯 片的使能、复位以及挂起等功能,而d s p 芯片则完成海量数据的处理。基于这 种单d s p 芯片的图像处理系统的典型结构原理【l o 】如图1 2 所示。 i 控制管理电路b = = 今。= = 爿 数据采集 i复位电路卜_ + d s p 芯片 c = 刮输出显示 i时钟电路r c = = 爿 存储器 图1 2 典型的单d s p 图像处理系统框图 多d s p 结构的图像处理系统实际上是一种并行处理系统,让多个d s p 芯片 同时进行数字信号处理,从而实现系统的高速处理。系统各d s p 芯片之间采用 的是流水线处理的结构,并且必须采用同步时钟控制各模块协同工作。基于多 d s p 芯片的图像处理系统结构原理【1 0 1 如图1 3 所示。 4 第1 章引言 图1 3 典型的多d s p 图像处理系统框图 采用d s p 来实现图像处理系统,由于采用了具有快运算速度以及数值处理 能力的d s p 芯片作为核心硬件,因此这种方式的图像处理系统具有许多优点, 尤其适合于大数据量的数字信号处理。d s p 采用改进的哈佛结构,内部有硬件乘 法器、累加器,使用流水线结构,具有良好的并行性,并有专门设计的适于数字 信号处理的指令系统等。因此,系统的实时性处理能力也进一步得到提高。特别 是现在很多厂家推出了专门针对图像处理的d s p 芯片,并且不同系列的d s p 芯 片针对应用场合做了特别的硬件设计,使用起来更加简单方便。比如t i 公司的 t m s 3 2 0 c 6 0 0 0 系列d s p 就是针对实时图像处理而推出的1 9 】。 但是采用d s p 实现的图像处理系统也存在着一些局限性。单d s p ,由于图 像处理的数据量大,加之还有大量复杂算法对其处理,所以单一的c p u d s p 一 般还不具备这样的计算能力,而且单d s p 可扩展性差,不利于将来系统的升级, 以满足更大数据量处理要求;多d s p 或d s p 阵列,使用这种方式,其价格昂贵, 开发周期长,设计难度大,而且发热量和体积都不容易控制1 9 】。 1 2 3 基于f p g a 的图像处理系统 采用f p g a 实现的图像处理系统,可以看作是一种纯硬件的解决方案。 f p g a 具有良好的数据并行处理能力,因此系统在处理速度上体现了优势。虽然 这种方式是纯硬件的方式,但是由于f p g a 逻辑器件是可重复编程的,因此系统 的灵活性并不会因此而降低。采用这种方式构成系统,兼具了硬件的高速性和软 件的灵活性。采用f p g a 实现图像处理系统时,首先对整个系统进行功能划分, 把系统分为不同的功能模块,然后用硬件描述语言或者原理图的方式对各个模块 进行设计,最后e d a 软件中将各个模块进行组装,编译、综合、调试,最后构 成完整的系统。一般将图像处理系统分为外围电路及接口模块、控制电路模块、 图像处理模块。基于这种方案实现的图像处理系统结构原理【l o j 如图1 4 所示。 第1 章引言 图1 4 基于f p g a 的图像处理系统框图 随着微电子工业的发展,各种资源丰富的f p g a 器件不断涌现和e d a 工 具成熟并完善,这种方式在很多高速的场合正在逐步得到应用r 7 1 ,但是针对不同 的应用场合而设计的图像处理系统,可能由于特定算法的复杂性,一些复杂的算 法用纯硬件的方式很难实现。特别是在视觉测量系统中,后期的测量算法比较复 杂,完全采用f p g a 来实现几乎是很难的事情。因此采用纯f p g a 的方式实现 的图像处理系统也具有一定的局限性。 1 2 4 基于f p g a + d s p 的图像处理系统 前面提到的用d s 或f p g a 单独实现的图像处理系统,都有各自的优势与局 限性。为了解决数字信号处理器和纯f p g a 硬件实现在效能和费用上的矛盾,越 来越多的人采取d s p 处理器+ f p g a 的办法,这种方法在一定程度上解决了上述 矛盾。这种结构的图像处理系统,结构灵活,通用型强,而且也易于模块化实现, 系统的开发周期也较短,便于系统升级与扩展,灵活性较好。 在很多图像处理系统中,低层预处理部分,数据量大,对处理速度的要求高, 但算法简单,运算结构相对比较单一。适于用硬件处理,比如f p g a 。高层处理 算法( 如目标点检测、目标点边界拟合等) 的特点是处理的数据量相对较少,但 算法和控制结构复杂,难于用纯硬件实现,适于用运算速度高、寻址方式灵活、 通信机制强大的d s p 实现f 8 】。基于f p g a + d s p 的图像处理系统,采集的图像 数据首先进入底层图像处理模块( 由f p g a 实现) ,经底层图像处理模块处理之 后,数据再进入d s p 模块进行后续复杂算法的处理,其通用的系统结构原理如 图1 5 所示。 6 第1 章引言 图1 5 基于f p g a + d s p 的图像处理系统框图 但是基于f p g a + d s p 结构的图像处理系统,由于f p g a 与d s p 之间是板级 p c b 互连,其数据传输速度势必受接口及总线带宽的限制难以继续提高;同时 系统在高速高带宽情况下,信号间存在较严重的串扰,d s p 处理器与f p g a 间 互连的p c b 设计也变得极为困难。其次,d s p 处理器+ f p g a 的系统设计实际上 是一种自底向上的设计【l u ,当硬件系统设计制作完成后,如果出现系统无法满 足设计要求的情况,需要对系统进行修改、扩展或升级,需要更改系统结构时, d s p 处理器+ f p g a 的硬件就必须重新设计制作,因此这种结构缺乏灵活性。以 上这些因素的存在极大的限制了其应用范围。 1 2 5 基于s o p c 技术的图像处理系统 近年来,基于f p g a 的s o p c 技术的出现,使f p g a 高效的硬件并行信号 处理能力和软件控制的灵活性完美的结合到一起,因此采用基于f p g a 的s o p c 技术来实现图像处理系统在越来越多的领域得到应用【1 2 1 。 s o p c 技术是美国a l t c m 公司于2 0 0 0 年最早提出的【1 3 】,并同时推出了相应 地开发软件q u a r t u si i 。s o p c 可视为基于f p g a 解决方案的s o c 。与a s i c 的 s o c 解决方案相比,s o p c 系统及其开发技术具有更多的特色,构成s o p c 的方 案也有多种途径 1 基于f p g a 嵌入m 硬核的s o p c 系统 这种方案的实现就是在f p g a 芯片中预先植入嵌入式微处理器。目前最常用 的嵌入式系统大多是采用含有a r m3 2 位知识产权处理器的器件【1 3 1 。由a r m 等 构成的嵌入式系统具有强大的处理能力,但是为了使系统更为灵活、功能更为强 大需要为这些常规的嵌入式处理器集成诸多通用和专用的接口,如存储器接口、 通信接口等。这样无疑会增加芯片的成本和功耗,降低了系统的可靠性。如果将 删或其他处理器以硬核方式植入f p g a 中,利用f p g a 的可编程逻辑资源和 口软核,就能很好的克服上述问题。按照系统需求来设计和添加接口功能m 模 7 第1 章引言 块,既能实现目标系统功能,又能降低系统的成本和功耗。这样就使得f p g a 灵 活的硬件设计与处理器的强大软件功能有机地结合在一起,高效的实现s o p c 系 统。 2 基于f p g a 嵌入口软核的s o p c 系统 将硬核直接植入f p g a 的解决方案存在一些不足。由于此类硬核大多来 自第三方公司,f p g a 厂商无法直接控制其知识产权费用,因而使f p g a 器件的 价格偏高。同时,因为硬核是预先植入的,设计者无法根据实际需要改变处理器 的结构,如总线规模、接口方式等。此外,只能在特定的f p g a 中使用硬核嵌入 式处理器,无法在同一片f p g a 中集成多个处理器等因素制约着这类解决方案的 大规模应用。如果利用软核处理器,就能有效弥补上述不足【1 3 】。因此,目前广 泛采用了基于f p g a 嵌入口软核的s o p c 解决方案。目前最有代表性的软核处 理器分别是a l t e r a 公司的n i o si i 核,以及x i l i n x 公司的m i c r o b l a z e 核。 a l t c r a 的n i o si i 软核是用户可随意配置和构建的3 2 位嵌入式处理器i p 软核, 采用a v a l o n 总线结构通信接口。在把n i o si i 软核植入f p g a 前,用户可以根据 设计要求,利用q u a r t u si i 和s o p cb u i l d e r ,对n i o si i 软核及其外围设备进行构 建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统 设计的要求。此外,n i o si i 软核在同一片f p g a 中的植入数量没有限制,只要 f p g a 资源足够即可。典型的基于s o p c 技术的图像处理系统结构【1 4 】【1 5 】如图1 6 所示。 s o p c n i o s i i 存储器 数 t s u n a m ip c i b o a r d n f p g a 之间的通信要求。需要注意的是,p l x 9 6 5 6t oa v a l o nb r i d g em o d u l e 是系统开发环境中定义好的接口模块,在系统设计时可以重复调用。通过s o p c b u i l d e r 配置生成后可自动在f p g a 内部实现。其中s o p c 元件是用户设计系统的 核心部分,是系统的处理单元。 ,- 一tt 、帅,1 t1 1 土忆 i3 u n m ir l i 丌及仪 p c i 总线 s t r a t i xf p g a i ii l lil ll- l l l 主 机 p c ia v a l o ns o p c ih n 时c p ij椿口芯片棒口槿馋元件 i1 1l 一 1 1l 一 1 1l 7 t t s u n a m i 本地总线a v a l o n 总线 图2 4t s u n a m ip c i 系统总线结构 2 2 1 设计所需考虑因素 系统设计所主要考虑的因素主要是两个方面,一是体现速度优势,二是保证 系统设计的可靠性与灵活性,在系统可靠性得到保证的情况下尽量提高系统处理 的效率。针对t s u n a m i a 4 0 开发板各模块的性能特点,本系统设计时主要基于 从以下几个方面考虑对系统进行设计,从而使系统灵活、稳定可靠并且最大程度 的发挥f p g a 的速度优势。 1 尽可能提高系统时钟频率。 在设定系统主频时,要考虑系统各模块的速度瓶颈,参考s b s 提供的 t s u n a m ia 4 0 数据手册可知,p c i 总线接口的参数为:6 4 b i t s 6 6 m h z ,由于p c i 总线的作用主要是负责p c 机与t s u n a m i a 4 0 开发平台的存储器交换数据,因 而没有真真参与到系统内部的数据传输,所以不用考虑其速度瓶颈。t s u n a m i a 4 0 的局部总线的参数为:3 2 b i t s 5 0 m h z 。当系统采用d m a ( 直接存储器存取) 方式传输数据时,速度能达到1 7 0 m b y t e s s ,最快速度能达到5 3 3 m b y t e s s 。本文 采用d m a 方式与p c 机交换数据。由d m a 方式与局部总线的数据传输速度可 1 4 第2 章系统设计总体方案 以看出,只要满足局部总线的速度要求,既可以保证系统设计的可靠性,因此系 统主频采用5 0m h z ,足以满足系统需求。 2 保证高速系统的可靠性。 在高速数字系统设计时,容易出现竞争、冒险以及亚稳态等现象【2 0 1 ,这些 情况的出现对系统电路的影响非常大,直接导致系统处理结果的错误,特别是亚 稳态的传播,后果更为严重,可能会直接导致系统的崩溃。因此本系统的设计采 用同步时钟设计,所谓同步时钟设计就是整个系统工作在同一时钟下。同步时钟 设计的优点就是能够在一定程度上有效地避免上述情况的发生。相对于异步电路 设计来说,同步电路中产生的异常现象也变得可知,从而可以根据出现异常的地 方和具体出现的问题,加一些修正电路或者优化电路,从而保证了系统的可靠性。 3 算法优化。 在系统设计之初,对整个系统算法进行分类。对可以用f p g a 实现的算法, 尽量采用f p g a 写算法口核的方式实现;对部分复杂,硬件难以实现的算法, 则采用在n i o si i 软核中以软件的方式实现。根据本系统所需处理对象的特点, 把图像预处理部分全部交给f p g a 来实现,而点中心求取算法则用软件方式实 现。 在用f p g a 实现图像预处理模块时,根据预处理算法的特点,把整个预处理 模块再细分为功能相对比较独立的几个子模块,这样做有几个优点,第一,降低 了算法实现的难度;第二,根据f p g a 设计中“以面积换速度的思想,这样细 分之后会增加整个算法实现所需的逻辑单元数,但是却大大提高了系统的处理速 度,t s u n a m ia 4 0 平台上的f p g a 核心器件s t r a t i xe p l s 4 0 具有4 1 2 5 0 个逻辑单 元数,对于普通的算法来说绰绰有余,因此不必太在意用“面积来换取速度 。 同时,图像预处理各子模块采用同一时钟源,进行同步设计,并在图像预处理各 子模块间加延时缓存模块对数据进行必要的缓存和调整。从而实现各自模块间的 流水线处理,并且各子模块的设计也尽量做到最优化实现,使程序结构更加合理, 减少所占用的逻辑单元数。通过以上方面的技术处理,从而使系统图像预处理模 块得到尽可能的优化,提高处理速度。 在后期点中心算法的软件实现部分,n i o si ic p u 是用户自订制由f p g a 实 现的软核处理器,其工作主频虽然尚不及传统的p c 机,但是由于其精简的指令 集以及独特的哈佛总线结构,使得n i o si ic p u 专用性比较高,而且可以根据具 体算法的需要自定义指令集对相关的算法模块进行软件加速,一定程度上保证了 软件处理的速度。n i o si ic p u 适合那些数据处理量不大,但算法复杂的程序模 块,但是n i o si ic p u 的主频不如传统的p c 机,针对n i o s i ic p u 的这个特点, 在点中心算法设计的时候,尽量减少图片循环扫描的次数,以保证n i o si ic p u 第2 章系统设计总体方案 处理的速度满足系统要求。 2 2 2 系统硬件的设计方案 图2 5 为系统的详细设计框图,系统分为几大模块:p c i 接口模块 ( p c i a v a l o n 桥接器) 、s d r a m 控制器模块、数据管理控制器模块、控制电 路模块、图像预处理模块以及n i o si ic p u 模块,这些模块的设计细节将在第三 章详细讨论。本系统硬件开发板通过p c i 桥与p c 机相连,原始图片保存在p c 机中。p c i a v a l o n 桥是p c 机与f p g a 开发板的通信接口,图像数据经过 p c i a v a l o n 桥进入系统处理模块。s d r a m 管理控制器用来管理和控制s d r a m 中的数据存取。控制电路用来控制与协调各个外设的运行,实现状态控制与数据 传输等基本操作,包括读取s d r a m 中保存的图像数据,控制图像处理各模块。 s d r a m 用来保存图像数据。原始图像数据最初由p c 机下载到s d r a m 中,再 通过s d r a m 管理控制器传输给各处理模块依次处理。处理后的图像数据仍然通 过s d r a m 管理控制器返回s d 洲中保存。最后通过p c i 桥把最终处理结果 图像返回到p c 机。 lp c 机i li r 上j , p c i 桥 s d r a m 八 n i o s i ir a m , 1 1 百丁 v vjj ,j j 1 p c i 一s d r a m 控制器 篇 a v a l a v a l o n 总线模块 = i 数据管理控制器 o n 桥 = l 且且一丑 控制电路 中除边 值 杂值缘 滤散化提 波点模取 模模 块 模 块块块 。 s t r a t i xe pis 4 0 t s u n a m ia 4 0 图2 5 系统详细设计框图 1 6 第2 章系统设计总体方案 2 2 3 系统软件的设计方案 本系统的控制流程相对简单,因此在n i o si i 软核中没有内嵌操作系统,而是 通过i o 操作调用中断的方式实现运行状态的控制、数据通信、协调外设等基本操 作,控制系统各硬件模块,使系统软硬件协同工作。整个系统搭建成功之后,需 要在p c 机上编写程序对整个s o p c 系统的运行进行控制,本系统设计的软件控制 流程如图2 6 所示。 2 3 本章小结 l 启动硬件 上 下载图片至s d r a m 上 初始化各模块 上 启动图像预处理模块 上 启动后续处理模块 上 上传图片至p c 机 上 关闭硬件 , 扣薹孓 上 a 衄1b 懈c m “ a n l i db 砌c m i d a 血b 墒c m i n j lu jj i m ;n ii 蒯li m a x i 上一一 一 xy z j i i m ;d i l i 中值i 图3 8 中值滤波算法原理图 本系统在进行图像的中值滤波操作时,系统在一个时钟周期内读入一个3 3 模板大小中的一列数据,同时将寄存器中原数据按列进行移位操作,其过程如图 3 9 所示。图3 9 ( a ) 为读入新- n 数据( 第四列) ,图3 9 ( b ) 为读入新数据后的寄存 器状态。由于每个像素的灰度值为8 b i t 宽度,一个模板由9 个像素组成,因此, 在硬件实现上定义一个7 2 b i t 宽度的信号量,利用v h d l 中的按位操作分别对每 个像素进行处理。 第3 章系统详细设计及实现 a la 2a 3 b lb 2b 3 c le 2 c 3 a 4 b 4 e 4 ( a ) 读入新一列数据( b ) 读入后寄存器内数据 图3 9 数据输入过程 中值滤波模块在具体实现时,包括两个部分。即3 x 3 模板生成模块与中值算 法模块,如图3 1 0 所示。 图 像 数 据 图3 1 0 中值滤波模块结构图 中值滤波模块用v h d l 语言描述实现时,如图3 8 所示,算法分成3 个比较 层次。每一级的比较生成结构相同的三个三元素排序单元,每一级中的三个排序 单元在硬件结构上为并行结构,在一个时钟周期内分别求出每个单元的最大值, 最小值以及中间值。通过q u a r t o si i 平台编译综合后可在f p g a 上实现v hl 中 所描述的三个相同的并行硬件结构。系统在一个时钟周期内对一个模板大小的 7 2 b i t 数据进行处理,同时可完成一次中值滤波的操作。体现了在f p g a 上实现 并行处理的能力,提高了系统的处理速度。程序设计时设定m a s k r e g ( i ) ( i = 0 ,1 ,2 ) 为第一级的三个三元素比较单元;m a x _ m i d _ r e g 、m i d _ m i d r e g 、m i n _ m i d r e g 为 第二级( 中间级) 三元素比较单元;最后一级只由一个三元素比较单元组成, m a x i m a l 3 为三输入求最大值函数,m e d i a n 3 为三输入求中值函数,m i n i m a l 3 位三 输入求最下值函数。最终输出结果o d a t a 。以下为用v h d l 实现相应硬件结构 的语句。 一一生成第一级三个三元素比较结构 m a s k r e g _ p r o c e s s :f o rim 0t 02g e n e r a t e p r o c e s s ( i c l k ) b e g i n i f ( i c l k e v e n ta n di c l k = 1 ) t h e n m a s k r e g ( i ) = d i n ( ( i + 1 ) 3 掌8 - 1d o w n t oi 3 8 ) ; m a x _ r e g ( i ) = m a x i m a l 3 ( m a s k _ r e g ( i ) ( 2 3 d o w n t o 16 ) ,m a s k r e g ( i ) ( 15d o w n t o 8 ) ,m a s k _ r e g ( i ) ( 7d o w n t o0 ) ) ; m i d r e g ( i ) - - m e d i a n 3 ( m a s k _ r e g ( i ) ( 2 3 d o w n t o 16 ) ,m a s k _ r e g ( i ) ( 15 d o w n t o 第3 章系统详细设计及实现 8 ) ,m a s k r e g ( i ) ( 7d o w n t o0 ) ) ; m i n _ r e g ( i ) - - m i n i m a l 3 ( m a s k _ r e g ( i ) ( 2 3 d o w n t o16 ) ,m a s k _ r e g ( i ) ( 15d o w n t o 8 ) ,m a s k r e g ( i ) ( 7d o w n t oo ”; e n d i f ; e n dp r o c e s s ; e n dg e n e r a t e ; 一一生成第二级三个三元素比较结构 m e d i a n _ r e g _ _ p r o c e s s :f o rii n0 t o0g e n e r a t e p r o c e s s ( i c l k ) b e g i n i f ( i c l g e v e n ta n di c l k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论