(测试计量技术及仪器专业论文)用于视觉测量的sopc技术研究.pdf_第1页
(测试计量技术及仪器专业论文)用于视觉测量的sopc技术研究.pdf_第2页
(测试计量技术及仪器专业论文)用于视觉测量的sopc技术研究.pdf_第3页
(测试计量技术及仪器专业论文)用于视觉测量的sopc技术研究.pdf_第4页
(测试计量技术及仪器专业论文)用于视觉测量的sopc技术研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(测试计量技术及仪器专业论文)用于视觉测量的sopc技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 视觉测量技术在现代工业生产中的应用非常广泛。视觉测量系统中的图像处理环 节已成为影响系统实时性的重要因素。本文通过对几种图像处理方案的比较分析,指 出了f p g a 在并行处理图像数据、提高系统处理速度方面的优势,研究了基于f p g a 的可编程片上系统( s o p c ) 在设计的灵活性、功能的可裁剪性、软硬件的可编程性 和良好的集成性等方面的特点,分析了采用s o p c 技术实现图像处理系统的设计思路 及流程。 本文研究的重点集中在视觉测量系统中的图像预处理部分和后处理中的点中心 定位部分。根据实时图像处理各环节算法的复杂度,对s o p c 系统进行了合理的软硬 件划分。在此基础上,构建了基于s o p c 技术的实时图像处理系统的总体结构,对图 像存储、图像处理、系统控制等方面进行了结构设计。在f p g a 中实现了中值滤波、 直方图统计、二值化以及边缘检测的硬件电路,引入了流水线处理和并行处理等技术, 提升了系统的处理速度;利用n i o s 软核实现了阈值计算和点中心定位功能,增加了 系统的灵活性。最后对各模块及系统整体进行了仿真、调试与实验验证,对设计和调 试过程出现的问题进行了分析并给出了解决方案。 本系统实现了图像预处理功能,达到了较好的处理效果,并完成了初步的点中心 定位。系统能够满足处理速度的要求,节省了硬件开销,具有一定的实用参考价值。 关键词:视觉测量;图像处理;f p g a ;s o p c ;n i o s ;a v a l o n 总线 a b s t r a c t a b s t r a c t v i s i o nm e a s u r e m e n tt e c h n o l o g yi sw i d e l ya p p l i e di nm o d e r ni n d u s t r i a lp r o d u c t i o n i m a g ep r o c e s s i n gh a s a l li m p o r t a n te f f e c to nt h er e a l t i m ep e r f o r m a n c eo ft h ev i s i o n m e a s u r e m e n ts y s t e m i nt h i sp a p e r , s e v e r a lk i n d so fi m a g ep r o c e s s i n gs c h e m e sa r e c o m p a r e d ,a n dt h ea d v a n t a g e so ff p g ai np a r a l l e lp r o c e s s i n ga n da c c e l e r a t i n gi m a g e p r o c e s s i n gs p e e d a led i s c u s s e d t h ei n t e g r a t i o nm e t h o d so ft h es o p cb a s e do nf p g aa r e s t u d i e d t h ef e a t u r e so fs o p c ,s u c ha sd e s i g nf l e x i b i l i t y , e a s y - c u tf u n c t i o n s , p r o g r a m m a b i l i t yo fs o f t w a r ea n dh a r d w a r e ,e t c a r ei l l u s t r a t e d t h ed e s i g nf l o wo fi m a g e p r o c e s s i n gs y s t e mb a s e do nt h es o p ct e c h n o l o g yi sa l s oa n a l y z e d t h er e s e a r c hi sf o c u s e d0 1 1i m a g ep r e - p r o c e s s i n ga n dt h es p o t sc e n t e rl o c a t i o nm e t h o d i nv i s i o nm e a s u r e m e n ts y s t e m a c c o r d i n gt oa l g o r i t h mc o m p l e x i t yo fd i f f e r e n tf u n c t i o n m o d u l e s ,t h ei m a g ep r o c e s s i n gs y s t e mi sr e a s o n a b l yd i v i d e di n t os o f t w a r ep a r t sa n d h a r d w a r ep a r t s t h eo v e r a l ls t r u c t u r eo ft h es y s t e mi sc o n s t r u c t e dw i t hs o p ct e c h n o l o g y , a sw e l la st h es t r u c t u r e so fi m a g es t o r a g e ,p r o c e s s i n ga n dt h es y s t e m sc o n t r 0 1 m e d i a n f i l t e r 、h i s t o g r a m 、b i n a r ya n dc d g ed e t e c t i o na l g o r i t h m sa r ei m p l e m e n t e dw i t hf p g a sl o g i c r e s o u r c e s ,w h i c ht h ep i p e l i n ea n dp a r a l l dp r o c e s s i n gm e t h o d sa r eu s e dt or a i s ep r o c e s s i n g s p e e d s y s t e mf l e x i b i l i t yi si n c r e a s e db e c a u s et h em o d u l e so ft h et h r e s h o l dc a l c u l a t i o na n d t h es p o t sc e n t e rl o c a t i o na r er e a l i z e db yp r o g r a m m i n gw i t h i nt h en i o s ( s o t i - c o r e ) m i c r o p r o c e s s o rs y s t e m a tl a s t ,s i m u l a t i o n 、d e b u g g i n ga n dv e r i f i c a t i o no f t h ew h o l es y s t e m a n dt h o s ei n d i v i d u a lm o d u l e sa r ec a r r i e do u t s a t i s f a c t o r yr e s u l t sa r eo b t a i n e dt h r o u g hi m a g ep r e - p r o c e s s i n ge x p e r i m e n t sc a r r i e do u t o ns o p cs y s t e ma n ds p o t sc e n t e rl o c a t i o nf u n c t i o ni sa c h i e v e dp r e l i m i n a r i l y t m a e c o n s u m p t i o no ft h es y s t e mi sd e c r e a s e dg r e a t l yt os a t i s f yp r o c e s s i n gs p e e da n dh a r d w a r e c o s ti sr e d u c e d ,w h i c hi n d i c a t e si t sa p p l i c a t i o nf e a s i b i l i t yi np r a c t i c e k e yw o r d s :v i s i o nm e a s u r e m e n t ;i m a g ep r o c e s s i n g ;f p g a ;s o p c ;n i o s ;a v a l o nb u s 学位论文版权使用授权书 本人完全了解北京信息科技大学关于收集、保存、使用学位论文的 规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子 版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本 学位论文全文或者部分的阅览服务;学校有权按有关规定向中国科学技 术信息研究所等国家有关部门或者机构送交论文的复印件和电子版;在 不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用 于学术活动。 学位论文作者签名:起皙 加p 汐年z 月z 尹e l 经指导教师同意,本学位论文属于保密,在年解密后适用本授 权书。( 注:论文属公开论文的,作者及导师本处不签字) 指导教师签名:学位论文作者签名: 年月日年 月 日 硕士学位论文原创性声明 本人郑重声明:所呈交的题目为用于视觉测量的s o p c 技术研究 的学位论文,是本人在导师指导下,进行研究工作所取得的成果。尽 我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包 含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对 本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以 明确方式标明。本学位论文原创性声明的法律责任由本人承担。 作者签字:办穆 加p 寥年12 - 月z 严日 第一章引言 第一章引言 1 1 视觉测量概述 视觉测量是计算机视觉的一个应用实例,它将电子学、光电检测、图像处理以及 计算机技术融合在一起,以空间几何尺寸的精确测量和定位作为研究对象,把被测目 标的图像当作检测和传递信息的手段或载体,从图像中提取有用的信息【l 】【2 】。与传统 测量方式相比,视觉测量具有非接触性、动态响应快、测量范围广、自动化程度高等 优点,且抗干扰能力强,能够满足工业现场环境下高精度、高可靠性的测量要求。 视觉测量作为当今的高新技术之一,近年来取得了突飞猛进的发展,并在军事、 医疗、工业等领域得到了广泛关注和应用。例如:导弹接近目标区域后针对最终目标 的导航以及无人战机的视觉定位与跟踪;数字放射影像术和血液药品检测;汽车仪 表盘加工精度检测和食品包装中对生产日期的辨识,等等。视觉测量系统不但可以替 代人力完成一般环境下的作业,还能够在人力无法涉及的,或是危险、恶劣的场合下 自动化地、高精度地实现在线测量。 国外学者自上个世纪八十年代初即开始对视觉测量技术进行广泛研究,而国内起 步相对较晚,从上世纪九十年代开始得到重视,并获得了众多研究与应用的成果。例 如由天津大学精仪学院和南京依维柯汽车有限公司车身厂共同开发的汽车白车身三 维激光视觉检测系统,是我国自主研发的用于整车检测的激光三维尺寸自动测量系 统。该系统将检测速度由过去的以小时计提升到数分钟之内,其性能指标已达国际水 平,在取得了良好应用效果的同时也为国家节省了数额巨大的设备引进资金【3 】。华中 科技大学李炜博士等人设计的带钢表面缺陷检测系统,可以有效地检测生产线上的带 钢表面缺陷,图像处理软件达到了实时检测的要求,该系统已在上海宝钢集团的冷轧 生产线做了初步测试,实验结果表明,系统的平均识别率达到9 0 1 ,识别率较高, 可以满足绝大多数带钢生产线的质量监控要求【4 】。但我国的总体研究水平仍处于相对 落后的阶段,测量功能还比较单一,自动化、智能化程度不高:另外检测系统集成化、 小型化的程度也相对偏低。 1 2 视觉测量系统 典型的视觉测量系统构成如图1 1 所示。通常包括图像获取、图像处理以及测量 与控制计算等几部分【l 】【5 1 。 第一章引言 图1 1 视觉测量系统的构成 1 图像获取 图像获取是将模拟图像信号转换成图像处理系统可理解的数字信号的过程,通常 由光源、带有图像传感器的摄像机、图像采集卡构成。图像获取是整个测量系统的基 础。获取图像时不仅要满足系统的应用要求,而且要考虑视点差异、光照条件、摄像 机性能以及景物特点等因素的影响。 2 图像处理 图像处理主要包括图像预处理、特征提取以及后处理。预处理用于改善图像质量。 由于环境、器件以及操作等多方面因素的影响,采集到的图像往往包含了各种各样的 随机噪声和畸变,因此在对其进行分析、理解之前,必须进行必要的预处理,突出有 用信息、抑制无用信息【6 】。预处理主要包括图像增强、噪声滤波等。 特征提取是从两幅图像中提取便于匹配的特征基元,常用的图像特征有颜色特 征、纹理特征、形状特征、空间关系特征。为了保证后面匹配的速度、可靠性和稳定 性,选择适当的图像特征是非常重要的。角点、直线、圆和椭圆都是零件尺寸测量中 的常见特征。 预处理和特征提取属于视觉图像的底层处理,可由高速视觉图像专用硬件处理系 统来实现底层处理算法。 后处理是根据视觉测量数学模型,计算出被测物体的特征空间坐标,最终得到被 测物体空间几何参数和位置姿态等参数。后处理可由高级算法硬件处理系统来实现, 也可由测量与控制软件实现。 3 测量与控制 测量与控制程序根据收到的数据实现被测物体的空间几何参数和位置姿态等参 数的快速计算,并完成相关的系统控制。 2 第一章引言 1 3 视觉测量中的图像处理 图像处理速度的提高,主要有两种手斟1 7 1 ,一是改变图像处理算法,使算法更简 单。据统计,那些相对简单但重复操作较多的图像低级处理算法是最为耗时的,但如 今这部分算法已相当成熟,其运算的复杂性也相对固定,所以改变算法同时又能够保 证精度是非常困难的;二是改变实现算法的手段。近年来,随着电子、微电子技术的 快速发展,以大规模可编程逻辑器件为核心构建的图像处理系统运行速度越来越快, 占用体积越来越小,功耗和价格越来越低,极大地推动了图像处理技术的发展。目前, 针对不同的应用需求,具体的图像处理方案主要有如下几种【8 】: 1 通用计算机 这种方法基本上可以实现所有的图像处理算法。图像数据保存在计算机的存储器 中,在专门的应用程序中完成图像处理。这些应用程序是由c 、c + + 等高级语言开发 出来的。目前,这类系统已有成熟的理论和开发方式,拥有强大的软硬件基础,但在 专用性和实时性方面还有所欠缺【9 j 。 2 a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ,专用集成电路) 专用集成电路是针对某一固定算法或应用而专门设计的硬件芯片。许多图像处理 算法采用通用处理器实现难以满足速度需求,这时往往需要采用a s i c 来实现。a s i c 的处理速度是最快的,但在实际应用中也有其缺点【1 0 1 :开发周期较长;作为专用硬件 芯片,需求数量较少导致成本非常高;灵活性较差,在设计中当算法因故改变时只能 重新设计芯片,导致芯片商付出沉重的经济代价。 3 d s p ( d i g i t a ls i g n a lp r o c e s s o r ,数字信号处理器) d s p 拥有强大的数据处理能力,运行速度可高达每秒数千万条复杂指令程序。d s p 采用了改进的哈佛结构、多总线结构以及流水线技术,性能相对于一般微处理器有了 很大扩充和增强。其程序与数据存储器相对独立,取指令和取数据可以同时进行。另 外,d s p 内部嵌有硬件乘法器,可在单周期内完成乘法运算。 除了通用d s p 之外,还有一部分d s p 是为那些使用频率很高的特定运算定制的, 如f f t 、f i r 滤波,卷积运算等。美国的i n m o s 公司的i m s a l 0 0 芯片,可以在2 m s 内完成1 0 2 4 点的复数f f t 运算。摩托罗拉公司的d s p 5 6 2 0 0 也属于这种专用型的 d s p 芯片。这种方案速度更快,非常适合于嵌入式实时性场合 以d s p 为核心构建的图像处理系统具有般数字信号处理系统的全部特点【l l 】, 比如接口方便,数字系统之间互相兼容;编程方便,易于软件升级;稳定性好,受环 境温度以及噪声的影响较小;精度高;可重复性好、集成方便等。但是从根本上来说, d s p 只是对某些固定的运算提供硬件优化,其体系仍是串行指令执行系统,并且这些 固定优化运算无法满足众多算法的需要,这使得它的使用受到限制。 4 f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y ,现场可编程门阵列) u z j 3 第一章引言 近年来,f p g a 被越来越多地用于数字图像处理或数字信号处理。f p g a 在设计 上能够实现并行处理和流水线技术,与通用计算机和d s p 的串行方式相比大大提升 了处理速度。另外,高端的f p g a 芯片,比如a l t e r a 的s 仃a f i x 及s t r a t i x i i 系列,x i l i n x 的v i r t e x 4 及以上系列,都在芯片内部集成了为数众多的r a m 存储器、锁相环、硬 件乘法器甚至d s p 模块,再加上专门的d s p 开发工具的推出( 比如a l t e r a 的 d s p b u i l d e r ) ,原本在d s p 中才能实现的模块可以很方便的在f p g a 中实现;性能上 也十分优越,时钟频率高达数百兆赫兹;随着制造工艺的进步,f p g a 的生产成本已 经大大降低,在采用9 0 n m 工艺后百万系统门器件的成本已从几百美元降至了1 0 美 元以下。事实上,6 5 n m 级工艺的器件已经进入了大规模生产阶段,4 5 n m 级别的设计 也已推出。成本的降低进一步推动了f p g a 的广泛使用。 5 f p g a + d s p 1 3 】 早期的数字图像处理涉及的数据量比较小,或者涉及算法不多,单独使用d s p 或 单独使用f p g a 能够满足系统需求。随着数字图像处理的应用日渐广泛,其理论、算 法不断推陈出新且更加复杂,单纯依靠单片d s p 或单片f p g a 已无法完成那些数据 量巨大、实时性要求高的图像处理任务,二者相结合,也就是f p g a + d s p 的方式逐 渐流行起来。将图像处理算法进行分类,f p g a 和d s p 协作发挥各自的长处:通常 由f p g a 做前端,来面对那些算法实现简单、重复操作较多、运算量大的处理过程; 例如可以采用f p g a 来实现中值滤波、直方图统计、卷积运算等预处理算法。d s p 则 用来做后端,运行那些算法结构复杂,乘加运算多、循环较多的算法,例如亚像素定 位、数据融合等。 采用f p g a + d s p 的架构对开发人员的要求比较高,开发周期相对较长。 6 基于f p g a 的s o p c 技术 s o p c 是可编程片上系统( p r o g r a m m a b l e - s y s t e m o n c h i p ) 的简称,是a l t e r a 公司 于2 0 0 0 年推出的一项全新技术。s o p c 技术是一种灵活、高效的嵌入式系统解决方 案【1 4 1 。它将处理器、存储器、通信接口电路、网络接口电路以及用户自定义逻辑等部 件集成到一片f p g a 器件上,各个部件一般都以i p 核( i n t e l l e c t u a lp r o p e r t yc o r e , , 知识产权核) 的形式出现,从而构成一个可编程的片上系统。由于可编程逻辑固有的 灵活性,这些部件可裁剪、可扩充、可升级,也可以改变它们间的连接关系。各部件 之间由芯片内部总线相连,这种方式不但避免了板级互连的信号串扰问题,而且具有 板级互连不可比拟的灵活性:总线的数据和地址位宽可变,互连结构可变,总线仲裁 机制灵活可变。另外,还可以在s o p c 系统的嵌入式处理器中以软件实现复杂的算法 控制流程,或者采用自定义指令集的方式,在处理器中加入用户逻辑,当程序运行到 自定义指令时,由用户逻辑直接给出运算结果。自定义指令的方式可进一步提高系统 的灵活性和实时性。 4 第一章引言 构成s o p c 的方案主要有如下几种途径【1 5 】: a 基于f p g a 嵌入i p 硬核的s o p c 系统 嵌入m 硬核是在f p g a 中预先植入嵌入式系统处理器,将a r m 或其他知识 产权核,以硬核方式植入f p g a 中,利用f p g a 中的可编程逻辑资源和其它口核, 直接利用f p g a 中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块。a l t e r a 和x i l i n x 公司都相继推出了这方面的器件,使得f p g a 灵活的硬件设计和硬件实现 与处理器的强大软件功能有机结合,高效地实现s o p c 系统。 b 基于f p g a 嵌入i p 软核的s o p c 系统 嵌入p 硬核存在的主要问题有:( 1 ) 无法根据设计需要改变处理器的结构;( 2 ) 无法裁剪处理器硬件资源以降低f p g a 成本;( 3 ) 由于硬核多来自于第三方公司,涉 及到知识产权导致f p g a 价格偏高。在f p g a 中嵌入口软核的s o p c 解决方案较 好地解决了上述问题。a l t e r a 公司的嵌入式软核处理器是n i o s 及n i o si i ,x i l i n x 的嵌 入式软核处理器是m i c r o b l a z e 。 n i o s 是用户可随意配置和构建的3 2 位1 6 位总线指令集和数据通道的嵌入式系 统微处理器口核,有3 2 位和1 6 位两种模式,其对照如表1 1 所示【1 6 】。n i o s 软核处 理器采用a v a l o n 总线结构通信接口,带有增强的内存、调试和软件功能( c 或汇编 程序化开发功能) ;基于j t a g ( j o i n tt e s ta c t i o ng r o u p ,联合测试行动小组) 的o c i ( o nc h i pi m m a n e n t ,片上设备) 内核。此外,集成开发环境q u a r t u s l i 中集成的软 件工具s o p cb u i l d e r 含有多个可配置p 核,包括:高速缓存模块,r s 2 3 2 通信口、 s d r a m 控制器,标准以太网协议接口、d m a 、定时器、协处理器等。n i o s 软核在 同一块f p g a 中被植入的数量没有限制,只要f p g a 的资源允许即可。 表1 1n i o s 3 2 与n i o s l 6 的对照表 项目3 2 位n i o s c p u1 6 位n i o s c p u 数据总线宽度( 位) 3 21 6 a l u 宽度( 位) 3 21 6 内部寄存器宽度( 位)3 21 6 地址总线宽度( 位) 3 21 6 指令宽度( 位) 1 61 6 本文尝试采用基于f p g a 嵌入n i o s 软核处理器的s o p c 技术实现视觉测量系统 中的图像处理子系统,仅利用单片f p g a 芯片实现图像处理,成本更低,系统更可靠, 弥补了传统方法的不足,使视觉测量系统更具高效性、实时性和灵活性。 1 4 课题来源及主要研究内容 本课题来源于北京市教委科技发展计划面上项目:基于f p g a 的高速视觉测量算 5 第一章引言 法研究。 本文所讨论的s o p c 系统是大尺寸三维视觉测量系统的一部分,以p c i ( p e r i p h 耐 c o m p o n e n ti n t 即c o 姗e c t ,外设部件互连标准) 板卡的形式内嵌在主机中。在整个大尺 寸三维视觉测量系统中,采用数字摄像机从不同位置拍摄多幅图像,经过特征点提取、 点中心的二维坐标计算、特征点匹配、三维拼接、面形拟合等步骤,得到被测物体的 三维面形信息。点中心的计算精度直接影响测量精度,且其计算速度一直是系统的瓶 颈之一。因此本文采用s o p c 系统来提高处理速度和计算精度,完成图像处理和点中 心定位的功能,其结果再通过p c i 总线上传给主机。 本文所做的主要工作为: 1 根据系统需求,结合视觉测量中图像处理各环节算法的特点,对系统进行软 硬件划分,提出系统设计总体方案; 2 在研究所选f p g a 芯片原理、结构与资源的基础上,根据算法特点、系统需 求,划分算法流程,设计具体的硬件模块,并进行调试、优化; 3 研究n i o s 软核处理器的性能、资源、开发特性,完成基于n i o s 软核处理器 的软件编程,实现n i o s 系统的控制程序,实现阈值计算和点中心定位的算法开发。 1 5 本文的结构安排 第一章引言:介绍了视觉测量技术的概念、应用以及发展状况;分析了视觉测 量系统的构成;比较了现阶段主要的几种图像处理解决方案;最后阐述了本文的主要 研究内容。 第二章基于f p g a 构建s o p c 系统:介绍了f p g a 的原理、结构以及开发流程; 介绍了s o p c 技术及n i o s 软核处理器;介绍了基于n i o s 软核处理器的s o p c 系统设 计流程。 第三章系统总体方案设计:结合系统的技术需求,综合考虑系统设计的各方面 因素,详细阐述了系统的整体方案设计、各层次之间的关系。 第四章图像处理各模块详细设计与实现:利用f p g a 的硬件资源设计实现了图 像预处理的各子模块,给出了仿真结果及实验验证结果;开发了基于n i o s 软核处理 器的软件程序,实现了基于中断机制的阈值计算及点中心定位算法。 第五章总结与展望:总结了论文所做的工作,指出经验与不足之处,对系统的 后续完善工作提出了建议。 1 6 本章小结 本章首先介绍视觉测量技术的相关概念及发展状况,介绍了视觉测量系统的构 6 第一章引言 成,重点分析了图像处理系统常用的实现方案。最后提出采用基于f p g a 嵌入n i o s 软核处理器的s o p c 技术实现应用于视觉测量领域的图像处理系统,论证了方案的可 行性以及该方案的优势所在。 7 第二章基于f p g a 构建s o p c 系统 第二章基于f p g a 构建s o p c 系统 f p g a 是现场可编程门阵列,是在简单可编程逻辑器件基础之上发展而来的,在 芯片集成度、容量和速度方面都达到了较高的水平。以大规模f p g a 为物理载体实现 的系统级芯片,被称为可编程片上系统( s o p c ) 。 2 1f p g a 的发展 可编程逻辑器件( p l d ) 出现于2 0 世纪7 0 年代,是一种半定制逻辑器件,大 致经历了从简单可编程逻辑器件到复杂可编程逻辑器件的发展过程【l 。八。简单可编程逻 辑器件主要有p l a ( p r o g r a m m a b l el o g i ca r r a y ,可编程逻辑阵列) 、p a l ( p r o g r a m m a b l e a r r a y l o g i c ,可编程阵列逻辑) 和g a l ( g e n e r i c a r r a y l o g i c ,通用阵列逻辑) 。从集 成度上来分,简单可编程逻辑器件也属于低密度逻辑器件,主要特点是设计具有很强 的灵活性,但只能实现规模较小的电路。 复杂可编程逻辑器件包括e p l d ( e r a s a b l ep r o g r a m m a b l el o g i cd e v i c e ,可擦写的 可编程逻辑器件) 、c p l d ( c o m p l e xp r o g r a m m a b l el o g i cd e v i c e ,复杂可编程逻辑器 件) 和f p g a 。从集成度上来分,复杂可编程逻辑器件属于高密度逻辑器件,主要特 点是具有体系结构,逻辑单元灵活,集成度高且适用范围广,可实现大规模电路。 与专用集成电路( a s i c ) 相比,虽然a s i c 在芯片规模、复杂性和性能方面都是 最佳的,但代价昂贵、设计耗时,而且设计一旦确定便不可更改,产品更新换代就必 须重新投片。而f p g a c p l d 的设计成本要大大降低,开发周期也更短,产品上市更 快,因此应用广泛。 f p g a 最显著的特点是它的高速度和高可靠性,最高工作频率可达百兆量级,时 钟延迟仅为纳秒量级,而且f p g a 非常适合并行的工作方式,在超高速应用领域和实 时测控方面有非常广阔的应用前景。f p g a 的高可靠性还表现在由f p g a 可构成片上 系统s o c ,从而大大缩小系统体积,易于管理和屏蔽。 目前的f p g a 已实现了内嵌微处理器核、高速输入输出( i o ) 接口等模块,几 乎可以用来实现任何东西:通信设备和软件无线电;雷达、影像和其它数字信号处理 方面的应用:乃至包含硬件和软件的片上系统s o c 等等。另外,在a s i c 和定制硅、 d s p 、嵌入式微处理器应用和物理层通信芯片等领域,f p g a 也逐渐体现出了相当的 竞争力。 2 2f p g a 的结构 目前绝大部分的f p g a 都是基于静态随机存储器( s r a m ) 技术来实现可编程单 元的。图2 1 给出了基于s r a m 的一个单元整个单元包括一个多晶体管s r a m 存 8 笺= 三望茎王! 堡垒塑堡婴鉴墨竺 储元件,它的输出驱动一个控制晶体管,根据存储内容( 逻辑0 或逻辑1 ) ,控制晶 体管的状态是关( o f f ) 或开( o n ) 。 世 图2 i 基于s r a m 的可编程单元 基于s r a m 技术的特点是:一旦s r a m 单元把值载入,它将保持不放电,除非 技专门修改或整个系统断电;可反复编程且编程迅速;其缺点是数据掉电不保存,而 且每个单元占用硅片面积较大。 f p g a 中最基本的单元是查找表( l o o k - u p - t a b l e ,l u t ) 。一个n 输入l u t 可 以实现n 个输入变量的任何逻辑功能,目前常用的f p g a 查找表单元是4 输入 l u t ,每一个l u t 可以看成是一个有4 位地址线的1 6 x 1 的r a m ,如图22 所示。 当用户描述一个逻辑电路后,f p g a 设计软件将自动计算逻辑电路的所有可能的结 果,并把结果写入r a m ,每输入一个信号进行逻辑运算就等于输入一个地址进行查 表,找出相应地址的内容,然后输出。 崮2 2l u t 的结构 在l u t 之上的层次结构,各个f p g a 厂商的命名和具体实现都不尽相同,但是 总的来说还是很相似的。以本文使用的a l t e r a s u a t i x 系列f p g a 为例。在l u t 之。h , 将l u t 与寄存器进行适当的组合,即可构成f p g a 的基本可编程逻辑单元。在a l t e r a 的f p g a 中,这个单元被称之为逻辑元件( l o g i ce l e m e n t ,l e ) ,多个l e 可构成逻 辑阵列块( l o g i c a r r a y b l o c k tl a b ) 。l a b 与输入输出元件( i o e l e m e n t s ,i o e s ) 、 嵌入式块r a m 、底层嵌入功能单元、内嵌专用硬核和丰富的布线资源几部分一起组 成了f p g a 的基本架构。图23 所示为s a f i x 器件的内部结构”i 。下面对各部分简 单加以介绍。 9 第二章基于f p g a 构建s o p c 系统 第二章基于f p g a 构建s o p c 系统 不同的电气标准与i o 物理特性;可以调整匹配阻抗特性,上下拉电阻;可调整输出 驱动电流的大小等。 在f p g a 内部嵌入可编程r a m 模块,大大地拓展了f p g a 的应用范围和使用灵 活性。a l t e r a 的r a m 结构比较灵活,在s t r a t i x 等高端f p g a 中同时含有3 种块r a m 结构 2 0 - m 5 1 2r a m ( 5 1 2 b i t s ) 、m 4 kr a m ( 4 k b i t s ) 以及m r a m ( 5 1 2 k b i t s ) 。 布线资源负责连通f p g a 内部所有单元。在f p g a 开发过程中,开发人员一般不 需要直接选择布线资源,而是由布局布线器自动根据输入的逻辑网表的拓扑结构和约 束条件选择可用的布线资源连通所用的底层单元模块。但在一些高端的场合,布线资 源的优化与使用和设计的实现结果( 速度和面积) 有着直接的关系。 底层嵌入功能单元指的是通用程度较高的嵌入式功能模块,如p l l 、d s p 、c p u 等,以满足不同场合的需求。目前,越来越多的高端f p g a 中嵌入了软d s p 、软c p u 等处理器,f p g a 也逐渐由传统的硬件设计手段过渡为系统级设计平台,例如f p g a 正逐渐成为s o p c 系统的高效设计平台。 内嵌专用硬核的通用性相对较弱,并非所有f p g a 器件都包含。这类硬核的针对 性较强,目标市场明确,嵌有这类硬核的f p g a 价格也较高。比如a l t e r a 的s t r a t i xg x 器件族内部集成的3 1 8 7 5 g b i t ss e r d e s ( 串并收发单元) 就属于这种硬核【2 0 】。 2 3f p g a 的设计流程 目前进行大型工程设计时最常用的设计方法是h d l ( h a r d w a r ed e s c r i p t i o n l a n g u a g e ,硬件描述语言) 设计输入法。基于h d l 的f p g a 设计流程一般包括电路 设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证、板级仿真验 证与调试等主要步骤,如图2 5 所示【2 1 1 。 1 h d l 设计输入 影响最广泛的h d l 语言是v h d l 和v e r i l o gh d l ,它们的共同特点是利于自顶 向下的设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺 与结构的不同而变化,更利于向a s i c 移植。 2 功能仿真 功能仿真是为了验证电路功能是否符合设计要求,通过仿真及时发现设计中的错 误,加快设计进度,提高设计可靠性。 3 综合( s y n t h e s i z e ) 综合是将h d l 语言翻译成由与、或、非门,r a m ,触发器等基本逻辑单元组成 的逻辑连接( 网表) ,并根据目标与要求( 约束条件) 优化所生成的逻辑连接,输出 e d f 和e d n 等标准格式的网表文件,供布局布线器进行实现。 4 前仿真 第二章基于f p g a 构建s o p c 系统 也叫综合后仿真,其目的是检查综合结果是否与设计输入一致,前仿真可以估计 门延时,但不能估计线延时。目前的综合工具已日益成熟,设计者通常可以忽略前仿 真。 5 布局布线( p l a c ea n dr o u t e ) 所谓布局是指将逻辑网表中的硬件原语或底层单元合理地适配到f p g a 内部的 固有硬件结构上,而布线是指根据布局的拓扑结构,利用f p g a 内部的各种连线资源, 合理正确地连接各元件的过程。由于与器件的内部结构密切相关,布局布线必须选用 器件开发商提供的工具。布局布线的结果对设计的最终实现( 速度和面积) 影响很大。 6 后仿真 也叫布局布线后仿真。这一层次的仿真不仅包含了门延时,也包含了布线延时, 与芯片的实际工作情况最为接近。 7 在系统测试 设计开发的最后环节就是将生成的配置文件写入芯片中进行在线测试。示波器和 逻辑分析仪是主要的调试工具。 图2 5f p g a 的设计流程 2 4s o p c 系统及嵌入式软核 第一章中曾叙述过基于f p g a 嵌入i p 软核的s o p c 系统,软核在f p g a 中的实 1 2 第二章基于f p g a 构建s o p c 系统 现方式与硬核不同。所谓“硬核 ,是在f p g a 的主逻辑结构中或在主逻辑旁单独开 出一个区域嵌入一个或多个实际的微处理器内核;而软核则是根据事先的定义,将一 组可编程逻辑块配置成一个微处理器【l8 1 。下面重点介绍n i o s 软核处理器的特点,以 及以n i o s 为核心构建s o p c 系统的软硬件开发流程。 2 4 1nio s 软核处理器概述 n i o s 处理器采用了流水线技术和单指令流的r i s c ( 精简指令集,r e d u c e d i n s t r u c t i o ns e tc o m p u t i n g ) 指令集,针对a l t e r a 的p l d 和s o c 的设计思想做了相 应优化。n i o s 处理器的结构如图2 6 所裂2 2 1 。 以n i o s 处理器为核心,结合外部闪存及大容量存储器,可构成一个功能强大的 嵌入式系统,通过灵活配置可适用于各种各样的应用。n i o s 软核处理器独有的并行 多控制器a v a l o n 交换结构总线使它不同于市场上其他的软核处理器,这些特性允许 n i o s 用户通过简单的而非传统的方法加速和优化自己的设计。 图2 6n i o s 处理器的结构 2 4 2 基于nio s 的s o p c 系统设计流程 n i o s 系统的开发分为硬件开发和软件开发两个部分,硬件开发过程包括由用户定 制系统硬件构建,然后由计算机完成系统硬件生成和对应的软件生成;软件开发与传 统嵌入式软件开发类似。硬件开发流程如图2 7 所示【闻。 1 3 第二章基于f p g a 构建s o p c 系统 设计规划 上 自定义外设、指令 ( s o p cb u i l d e r 、q u a r t u s i i ) 上 定义n i o s 系统模块 ( s o p cb u i l d e r ) 生成n i o s 系统模块 ( s o p cb u i l d e r ) 上 锁定弓i 脚、硬件编译 ( q u a r t u s l l ) 上 l 裂勰 图2 7n i o s 系统的硬件开发流程图 硬件开发用s o p cb u i l d e r 生成n i o s 嵌入式处理器,用q u a r t u si i 将n i o s 嵌入 式处理器和其他逻辑电路结合进行设计输入( 采用硬件描述语言d l ) ,然后进行 编译、综合、适配,最后通过下载电缆将硬件配置数据下载到f p g a 中。 s o p cb u i l d e r 生成n i o s 系统之后,会在其工作目录下生成一个s d k ( s o f t w a r e d e v e l o p m e n tk i t ,软件开发包) 子目录1 2 3 1 。n i o s 系统的软件开发通常都是在该s d k 目录环境下进行的。s d k 中含有创建硬件映射表和编程底层硬件子程序的头文件和 库文件。 获取n i o s 系统的s d k 之后即可进行软件开发,其流程如图2 8 所示【1 5 】。 问题 图2 8n i o s 系统的软件开发流程图 软件开发利用s o p cb u i l d e r 生成软件文件,用文本编辑器编写汇编语言或 c c h 源程序,用g n u p r o 将源程序连编( 汇编、编译及连接) 成可执行程序,并 1 4 第二章基于f p g a 构建s o p c 系统 通过下载电缆对可执行程序进行调试和运行,也可用第三方工具进行程序调试。 2 5 本章小结 本章首先介绍了可编程逻辑器件的分类与发展,通过比较分析了f p g a 的特点, 并以a l t e r a 的s t r a t i x 系列f p g a 为例说明了f p g a 的基本原理与结构,简要说明了 基于h d l 的f p g a 的设计流程。介绍了n i o s 软核处理器的特点以及基于n i o s 的s o p c 系统的软硬件设计流程。 1 5 第三章系统总体方案设计 第三章系统总体方案设计 3 1 系统总体设计 3 1 1 系统总体框图 本文探讨的s o p c 系统是视觉测量系统中的一个子系统,主要服务于图像处理这 一环节。采用了加拿大s b s 公司的t s u n a m i a 4 0 系列f p g a 开发板作为硬件开发 平台,其核心器件是a l t e r a 的s 缸a t i xe p l s 4 0 系列f p g a 。t s u n a m i a 4 0 通过p c i 总线与主机通信。系统的总体结构框图如图3 1 所示【2 4 1 。系统的总体设计可分为硬件 设计与软件设计两部分。 1 硬件设计 硬件设计主要是f p g a 内部逻辑电路的设计。以q u a r t u s l i 为开发环境,用v h d l 语言编程实现图像预处理等模块的功能,用s o p cb m l d e r 配置、产生n i o s 软核处理 器及必要的外设,然后一起编译并通过p c i 总线完成对f p g a 芯片的配置,由此形 成硬件逻辑电路的连接,实现对图像下载、处理、存储等功能模块的控制。 图3 1 系统的总体结构框图 1 6 第二章系统总体方案设计 2 软件设计 用s o p cb u i l d e r 生成n i o s 处理器系统的同时,会生成相应的s d k 软件开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论