(通信与信息系统专业论文)基于fpga和双dsp的实时图象处理系统.pdf_第1页
(通信与信息系统专业论文)基于fpga和双dsp的实时图象处理系统.pdf_第2页
(通信与信息系统专业论文)基于fpga和双dsp的实时图象处理系统.pdf_第3页
(通信与信息系统专业论文)基于fpga和双dsp的实时图象处理系统.pdf_第4页
(通信与信息系统专业论文)基于fpga和双dsp的实时图象处理系统.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(通信与信息系统专业论文)基于fpga和双dsp的实时图象处理系统.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 ( 随着计算机应用的不断深入,视觉理解、尤其是实时视觉理解日益成为研 究的重点。实时视觉理解系统的设计和研究涉及到计算机体系结构、处理器技 术、芯片技术等多方面的研究,并在诸如自动控制、实时监测、无人驾驶等领 域有着诸多应用,更在陆地自主车( a u t o n o m o u sl a n dv e h i c l e ,a l v ) 项目中 有着无可替代的作用。i r 我们的系统作为a i 二维视觉理解系统的硬件平台,由挂接在通用p c 机 p c i 总线上的号用视频采集卡以及d s p 处理板组成。论文的第二章深入介绍了 p c i 总线规范及其特性,提出用f p g a ( f i e l d p r o g r a m m a b l e g a t e a r m y ) 丌发p c i 总线逻辑接口的方案,介绍了p c i 接口设计的技术关键。第三章中,针对我们 a l v 9 5 对二维视觉理解系统的要求,提出了视频采集卡的具体技术指标并使用 p h i l i p s 公司的s a a 7 1 9 6 及t d a 8 7 0 8 作为前端模数转换、解码芯片,在f p g a 中实现了相应的控制逻辑。 在视觉理解系统中,运算能力是个关键问题。我们在系统中使用了两片 _ - i - _ 。- - 一。一 高性能d s p 芯片- - t m s 3 2 0 c 6 2 0 1 作为处理系统的运算单元,并且引用了f p g a _ - 。_ _ l _ _ 一 计算系统模型构造了分布式共享存储结构的双d s p 处理系统。在第四章种介绍 了存这方而所作的一些工作。由于我们的硬件平台i 。作于p c 上,冈此设备驱 动程序的f :发就是我们在第五章耍讨论的内容之,同时在第五章中还介绍了 , - f - x , 1t m s 3 2 0 c 6 x 的优化编程方面的一些技巧。 第1 页 塑翌奎兰塑主兰笪兰2 二一 a b s t r a c t w i t ht h ed e v e l o p i n go fc o m p u t e ra p p l i c a t i o n ,p e o p l ea r ep a y i n gm o r ea n dm o r e a t t e n t i o nt ov i s i o nc o m p r e h e n s i o n ,s p e c i a l l yt h er e a l t i m ev i s i o nc o m p r e h e n s i o n t h e r e s e a r c ha n dd e s i g no f r e a l t i m ev i s i o nc o m p r e h e n s i o ns y s t e ma r ec o m p l i c a t e d ,w h i c h i n c l u d ec o m p u t e ra r c h i t e c t u r e ,p r o c e s s o rt e c h n o l o g ya n d c h i pd e s i g n r e a l t i m ev i s i o n c o m p r e h e n s i o n a r e p l a y i n g a n i m p o r t a n t r o l ei na u t o m a t i c c o n t r o l ,r e a l t i m e s u r v e i l l a n c ea n da u t o n o m o u sd r i v e ,e s p e c i a l l yt h ep r o j e c to f a l v ( a u t o n o m o u sl a n d v e h i c l e ) o u r s e l f - d e s i g n e ds y s t e m i st h eh a r d w a r e p l a t f o r m o fa l v2 dv i s i o n c o m p r e h e n s i o ns y s t e m i tc o n s i s t sad s pp r o c e s s i n gc a r da n da 1 3 a p p r o p r i a t ev i d e o c a p t u r e c a r dw h i c ha r eh a n g e do nt h ep cv i ap c ib u s t h e2 ”c h a p t e ro ft h e d i s s e r t a t i o ni n t r o d u c e st h ep r o t o c o la n dn e wf e a t u r e so fp c ib u s ,d i s c u s s e st h ep c i i n t e r f a c ed e s i g nu s i n gf 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 ) a n d p r e s e n t st h ek e y p o i n t s o fi t i nt h e3 “c h a p t e r , w ed i s c u s s e sg u i d e l i n eo ft h ev i d e oc a p t u r ec a r d a c c o r d i n gt ot h er e q u i r e m e n to f t h ea l v 9 52 dv i s i o nc o m p r e h e n s i o ns y s t e m w eu s e t h ep h i l i p s s a a 7 1 9 6a n dt d a 8 7 0 8a st h ef r o n t - e n d a n a l o g - d i g i t a l t r a n s l a t o ra n d d e c o d ec h i pa n dr e a l i z et h ec a r dc o n t r o ll o g i ei nf p g a c o m p u t i n gc a p a c i t yi s ak e yf e a t u r ei nv i s i o nc o m p r e h e n s i o ns y s t e m w eu s e s t w o h i g hp e r f o r m a n c ed s pc h i p t m s 3 2 0 c 6 2 0 1 a st h e c o m p u t i n gu n i t o ft h e p r o c e s s i n gs y s t e m ,e m p l o yt h ef p g ac o m p u t a t i o n a la r c h i t e c t u r ea n do r g a n i z et h e s t o r a g eb o d ya sd i s t r i b u t e ds h a r e dm e m o r y t h e4 1 “c h a p t e rd e s c r i b e st h ee f f o r to n t h e s et o p i ca n o t h e rt h i n gw o r t ht ob em e n t i o n e di st h ed e v i c ed r i v e rd e s i g n i n gi n w i n d o w s 9 xa n dt h ed s p o p t i m u mp r o g r a m m i n g i nt m s 3 2 0 c 6 xw h i c ha r e i n t r o d u c e di nt h e5 c h a p t e r 第2 页 塑垩查兰堡圭兰焦堕苎一 第一章绪论 我们的系统开发是以陆地自主车( a u t o n o m o u sl a n d v e h i c l e ,a l v ) 的二维 实时视觉处理系统为应用背景的。a l v 是能够在人工道路网和野外实现连续、 实时自主航行的智能化机器人,不仅能够完成从一个地点到另一个地点自主迁 移,而且可在途中完成一些特定的任务,在军事、民用和科学研究上都有重大 的应用价值。在军事上,可用于自动巡逻、在敌区的侦察以及在一些危险地带 下完成任务等;在民用中最有吸引力和实际价值的是进行车辆的辅助驾驶,减 轻司机的负担,排除潜在的危险:在科学研究上,可用于制造在外星上行走的 机器人。a l v 的研究涉及诸多学科的理论和技术,集中体现了计算机科学和机 器人技术的最新研究成果,从七十年代末开始已引起了各国政府和研究人员的 重视和关注。 a l v 与外部环境的交互是通过视觉系统来完成的,因此实时视觉处理是a l v 的核心技术之一。尽管迄今为止,人们仍然没有找到一种良好的视觉处理机制 使机器视觉能够达到人限那样的水平,几十年来对a l v 的视觉系统的研究还是 取得了不少的进步。特别是近年来计算机技术的飞速发展,使我们能够以通用 计算机为核心,建立一个小巧,灵活的实时视觉系统。 “八五”期间,我们a l v 实验室参予研制了我国第一辆a l v 样车a t b i 。该车 在高速公路上能达2 0 k m h 左右,这在当时的软、硬件条件下是很了不起的。现 在? 九五”期间,新一代的a l v 已经通过了专家组验收。相对于! 八五”来说, “九五”的a l v 系统在速度、功能以及对复杂环境的适应性方面都提出了更高 的要求。具体来说,速度方面,要求在结构化道路上,车速能达到7 0 k m h ,二 维视觉模块每1 2 0 m s 能给出处理结果;在非结构化道路上,车速能达到4 0 k m h , 二维视觉模块每2 0 0 m s 能给出处理结果。功能上至少要完成四项要求:( 1 ) 完成 非结构化道路检测、障碍检测和叉道检测;( 2 ) 完成结构化道路跟踪和障碍检测; ( 3 ) 完成无路情况下的越野运行:( 4 ) 完成无可见光照明下的自主行驶。对环境 的适应能力上则要求车辆运行平稳,能应付环境的突变。完善的功能和较高的 通j 、t 能力;车辆高速运行时要求算法能够完全实时运行;另外考虑到使用p c 机 水实现时,山于多任务操作系统本身以及任务的切换都会带来额外的时问j t :销, 实际安全运们时还要保留一定的时问裕度,这些都给a l v 视觉系统算法提出了 很曲i 的鹱求。 1 1 几种a l v 视觉系统的硬件结构 a l v i n 的视觉系统:a l v i n 的视觉处理系统采用v i c o m 图象处理专用机。 第4 页 塑垩查兰堡主堂垡兰苎一 v i c o m 由m c 6 8 0 0 微型计算机和一个图象处理器构成。图象处理器包 括一个3 通道彩色模拟输入数字化仪,1 2 个5 1 2 x 5 1 2 x1 6 图象存储器, 一个r g b 彩色显示系统和专门进行图象点、集、空域和二值操作的处 理器,其操作速度为3 0 帧秒。 2 n a v l a b :c m u 研制的视觉系统。在w a r p 机上实现其视觉算法。w a r p 机是卡内基一梅隆大学研制的第二代脉动式阵列计算机,采用6 4 个处 理单元,计算速度为1 2 8 0 m f l o p s 。每个单元包括两个3 2 位浮点处理 器,一个乘法器和一个a l u 。w a r p 计算机由w a r p 阵列处理器,一 个接口部件和主系统组成。 3 v a m o r s :德国慕尼黑陆军大学研制,它的b v v 视觉系统的基本结构为 多处理器系统,它由一些松散结合的微处理器和两条独立的系统总线组 成,一条为视频总线,另一条为处理器间信息交换总线。它和一台主机 构成一个完整的视觉处理系统。它的第四代b v v 4 的结构中处理板的核 心是i n t e l8 0 9 6 0c a r i s c 处理器。 4 p i p e 机结构:p i p e 是一个完整的,集成硬件系统,有一个标准的模块 配置,丰富的内部连接和并行的图象处理级。图象处理级之间以适当的 总线和反馈相连,每个图象处理级都可以独立编程和动态的重新配置。 5 a t b l :我国“八五”研制的a l v 样车。图】1 是它的二维视觉理解系 统的硬件体系结构。在这一硬件系统中,除了必要的图象数据采集输入, 以及图象处理结果监视以外,其它的硬件均用来进行算法处理。整个系 统算法被分割为许多算法单元,每一算法单元完成某一特定的功能,每 个算法单元都处于流水运行的状态。如图中所示,这些算法单元包括彩 色变换、直方图统计与平滑、阈值分割、形态学处理和行程提取等。 图象数据 总线 从上面几个典型的视觉系统我们可以看到,尽管这些系统具体实现的方式 不同,但其硬件结构大致上可分为两类: 第5 页 堑垩查兰堡主兰垡堡茎一 1基于d s p 的图象处理板:它采用数字信号处理器组成单片系统或多片并行 系统来完成算法的加速。 2 基于流水线结构的图象处理板:它采用一些面向算法的硬件加速模块组成, 以达到较快的速度。 这两种结构各有特点,但都是为了解决视觉系统的一个共同的问题,即图象处 理运算量大的问题。考虑到当时的硬件水平,这两种方式都有很强的现实意义 并且取得了良好的效果。但是近年来,随着微机技术的飞速发展,使得通用微 机能够承担大部分的视觉处理任务。相对于上面两种结构,综合通用微机和d s p 处理板的视觉系统不仅成本低而且比较灵活。 1 2 新一代a l v 二维视觉系统概况和特色 新一代a l v 二维视觉系统面临的挑战大体可归纳为两个方面,一是设法用 中等复杂程度算法很好地完成各项功能要求,二是要完成中等复杂程度算法的 实时实现。硬件平台有三种选择的可能性,第一种选用单片p e n t i u mi ic p u 的 计算机,这是最理想的选择。价格低廉且可获得良好的软件支持。如果运算能 力不足则可考虑第二种方案,使用包含两片或更多片p e n t i u mi i 处理器的服务 器,但是价格较贵,软件的编写也会复杂一些。如果运算能力仍然不足,则可 考虑第三种方案,在机器内部再内置一片或多片高性能的d s p 处理器。为了减 少系统的体积,三种选择都只用一个机箱,一个监视器。每一种选择都需要一 块内置的图象数据采集卡。系统采用w i n d o w s 9 8 做为操作系统平台。我们的 a l v 9 5 选用第三种方案,其系统框图如图1 2 所示。 a l v 9 5 视觉系统,具有以下特色。 速度更快捷 功能更完善 幽1 2 第6 页 塑鎏奎兰堡主兰垡兰墨二 性能更稳定 体积更小巧 系统更先进 前三个特色也是系统必须达到的要求。通过使用高性能处理器和并行实时 实现方法,可达到更快捷的速度;通过增加有效功能模块,可使系统功能趋向 完善;而通过运用最新的算法研究成果,可保证系统稳定运行a 由于系统只使用一个机箱和一个监视器,体积可以减少不少,系统运用了 最先进的软硬件技术和算法研究成果,运用m m x 技术和多处理器方法进行算法 加速,深入系统底层编写硬件驱动程序。硬件使用a 1t e r a 高性能可编程芯片进 行开发,可能引入高性能d s p 芯片参与处理,结合高速p c i 总线进行数据传输。 算法上将吸收最新研究成果的精华。因此,无论从软件和硬件的布置,还是从 算法的确定上,系统都是定位在较高水准上的。 1 3p c i 局部数据总线 p c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ) 总线,即外设部件互连。是 首先于1 9 9 1 年下半年i n t e l 提出,并与i b m 、c o m p a q 、a s t 、h p 、d e c 等1 0 0 多 家公司于1 9 9 3 年联合推出的一种高性能p c 局部总线标准。其主要的目标是解 决不断增长的多媒体数据传输要求增长与慢速总线之间的矛盾。与其他总线相 比,p c i 总线主要有以下的新特性6 1 13 3 : 1 高速 在p c i 2 1 版本中,总线频率从t s a 的4 4 7 m h z 提升到3 3 m h z ,同时由原来 的外部总线改为局部总线,同时将总线的传输速率提高到1 3 2 m b y t e s s ,使得 总线的应用带宽得到极大地扩展。j 下因为总线高速的要求,使p c i 总线上的设 备对主板系统影响较大,因此,在规定协议本身时就提出较为苛刻的电气特性 要求,严格规定插卡所要引入的容抗、阻抗限制。对应开发系统,p c i 的高速 将使我们应用系统设计在高速的环境中运行,并且在接口的设计中需要注意更 多的电气特性和机械特性,这些1 i i 是p c i 设备开发的难点。 2 即插b ”f h p c 流行的丌放式体系结构所带来的一种副作用是使扩展卡的配置步骤变得 很复杂,令人混淆。作为开放式设计,p c 体系结构将配置步骤留给第三方制造 商,由他们确定如何安装、识别和配置硬件设备和操作系统。这样,相同的体 系结构就可以使市场中充满二 富的低价格高性能的p c 、扩展卡以及外部设备。 然而,它现在却使得这砦相同系统的维护与支持价格越来越高。 问题的核心是插入式扩展卡无法自动满足它们对可用的系统资源的申请或 第7 页 塑垩查兰堡主兰篁兰兰一 与其他板的冲突,相反,把这个问题留给用户,由用户通过处理不太熟悉的系 统文件、中断请求线、地址空间、d m a 通道以及通讯口的技术细节来配置这些 资源。 解决这个问题的方法是使用“即插即用”体系结构。“即插即用”是以i n t e l 和m i c r o s o f t 这样的工业领导者联合开发的“即插即用”体系结构为背景的。 它包括多个设计策略,已应用到一系列体系结构规范和终端产品的实现中,使 得它们能供o e m 使用,而与硬件厂家和操作系统厂家无关。即插即用实际上要 求目标插卡必须完成的功能如下, 1 ) 设备是唯一和明确地被识别的,并且能够读取它们的资源需求,调用它 们的驱动程序: 2 ) 当多个设备请求相同资源时,可以进行资源分配和再分配: 3 ) 如果要完成系统资源的任何修改,那么重复上面两个过程; 4 ) 配置过程的集中式管理,并确保协调一致; 5 ) 配置信息由硬件、b i o s 和操作系统通过系统范围的通信共享。 即插即用特性在p c i 总线中是必备的,并且p c i 总线是即插即用规范的典 型实现,在p c i 系统中,单独设置配置空间和配置访问周期来实现即插即用的 要求。配置空间是一容量为2 5 6 字节,并且有特定记录结构的地址空间。该空 间分为头标区和设备相关区两部分。头标区的长度为6 4 字节,每个设备都必须 支持该区的寄存器分配。该区的各个字段用来唯一识别设备,并能使设备能以 一般方法控制。其余1 9 2 字节使因设备而异。 3 线性突发传输 为了提高总线传输性能,p c i 总线可以进行线性突发传输。线性突发传输就 是一次传输周期有多于一个的数据期,即意味着可以由某个地址起读写大量 数据,然后每次只需将地址自动加一,便可接收数据流内下一个字节的数据。 线性突发传输能够有效地运用总线的带宽去传送数据,以减少无谓的地址操作。 在p c i 规范2 1 中只要处理发出的一系列写数据( 双字) 所隐含的地址顺 序相同,主桥路总是可以将它们组合成突发数据。合并的原则是只要后面的d w o r d 地j _ | | = 比前面的高就行。当读操作不会在被寻址的从设备上引起副作用时,桥路 便可将单个的处理机读操作请求转变为一次突发读。而对于1 0 空间的访问不能 合并,因此它们只有一个数据期。 4 多主控特性和同步操作 i c l 的总线主控和同步操作功能有利于p c i 性能的改善。总线主控的目的是 i e 任何一个具有处理能力的外围设备暂时接管总线,以加速执行高吞吐量、高 优先级的任务。p c i 独特的同步操作功能可保证微处理器能够与这些总线主控 同时操作,不必等待后者的完成。 第8 页 塑坚查堂堡圭兰竺兰羔 p c i 中主设备是通过总线申请,并由主桥的总线仲裁器决定总线的拥有。仲 裁是“隐含的”,也就是说,一次仲裁可以在上一次访问期间完成,这样就使得 仲裁的具体实现不必占用p c i 总线周期。中心仲裁机构必须实现一定的特殊仲 裁算法,因为它是最坏情况下的仲裁基础,通常采用轮转优先级、公平性等仲 裁算法。利用总线多主控特性,可以达到较高的性能。p c i 规范中以往的d m a 传输就可以由主设备方式发起一次突发传输来完成,这样,不需要额外的d m a 控制器,但目标设备必须实现d m a 控制逻辑。 1 4 基于双d s p 的通用图象处理板 随着可编程器件发展和应用的深入产生了一种新的计算系统- f p g a 计算系 统。我们在利用基本的f p g a 计算系统模型的基础上,为了达到实时图象处理对 高速运算能力的要求,使用了两片t i ( t e x a sr n s t r u m e n t s ) 公司的t m s 3 2 0 c 6 2 0 1 作为系统的处理中心,设计了基于p c i 总线的比较通用的图象处理系统。 t m s 3 2 0 c 6 x 系列d s p 是t i 公司t m s 3 2 0 家族中最新推出的产品之一。其中 t m s 3 2 0 c 6 2 x 是定点处理d s p ,而t m s 3 2 0 c 6 7 x 是浮点处理芯片。这两者之间是指 令集兼容的芯片。c 6 2 x 和c 6 7 x 都是应用一种高性能先进v l i w ( v e r yl o n g i n s t r u c t i o nw o r d ) 的v e l o c i t i t m 体系结构的产品,因此可以使这些d s p 可以 更好地应用在一些多通道多功能的应用中。 我们采用的t m s 3 2 0 c 6 2 0 l 具有如下性能指标: 1 2 0 0 m h z 的时钟,每秒可完成1 ,6 0 0 m 条指令。 2 分开的指令总线、数据总线和d m a 总线,使得取指、读写数据和d m a 操作可以并行。 3 具有四个8 k * 1 6 的片内数据r a m ,这四个b a n k 允许同时访问而不会发 生冲突。 4 具有8 个可以并行处理的功能单元,故它可在一个时钟周期内执行8 条 指令,使芯片的运算能力得到显著提高。 5 具有两个多通道带缓存的串行口,具有支持全双工通信,双缓存数掘寄 存器结构,支持连续数据发送,收发时钟独立。 6 具有一个主机接口( h p i ) ,使得主机设备能够直接的访问c p u 的存贮 空l 、u j 。 我们系统罩的两片d s p 都是1 芏系统中央核心f p g a 控制下运行的。而f p g a 作为系统中心,负责两个微处理器互相通信、互相协调:以及它们与外部系统 ( 这里通过主从总线和互连总线) 之间的信息交换。同时系统处理指令或系统 处理子任务可以由f p g a 直接派发。灵活的f p g a 结构设计是该信息处理子系统 _ - 第9 页 塑坚查兰堡主兰些堡苎一 有效性的保证。一般来说,我们在应用的场合中,可以根据系统实际承担的任 务,通过配置f p g a 控制两个微处理器按流水线方式运行,也可以控制它们按s t m d 方式并行处理同一输入图象。 本文的研究内容 基于以上讨论,我们提出了以一台高性能p c 机结合一块专用视频采集卡和 双d s p 的图象处理板为a l v 9 5 的二维视觉理解系统的硬件平台。论文的主要 工作也是围绕这个工作展开的,包括以下几个方面: 1 用f p g a 实现p c i 总线的接口逻辑。 2设计基于f p g a 的实时视频采集模块。 3 设计了基于f p g a 计算系统的双d s p 图象处理模块 4 开发了基于w i n d o ws 9 x 的设备驱动程序和d s p 应用程序。 第1 0 页 塑垩查兰堡主兰一j 生j 竺二墨一 第二章p c i 局部总线接口设计 作为计算机各个部分之间进行通信的数据通道,总线技术一直以来都是计 算机技术发展中非常关键的一部分。随着微处理器运行速度的提高,多处理器 结构的出现,高速缓冲存储的采用,都要求有高速的总线来传输数据。以g u i 为代表的多媒体技术的发展,迸一步刺激了对总线带宽的需求。以多媒体视频 图象显示为例,若分辨率为8 0 0 6 4 0 ,每秒传输2 5 帧,彩色深度为2 4 位真彩, 则 吞吐量= 8 0 0 6 4 0 3 2 5 = 3 6 6 2 1 m b s 显然传输速率为8 m 的i s a 总线和1 6 m 的e i s a 总线已不能满足要求。因 此落后的数据总线目益成为数据传输的瓶颈,严重影响了计算机的整体性能。 为了改变这种情况,i n t e l 公司在1 9 9 1 年提出了p c i 总线的概念,并联合了i b m , h p ,d e c 等1 0 0 多家公司于1 9 9 3 年推出了p c 局部总线标准- - p c i 总线。 p c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ) 总线是一种高性能的局部总线,与 以往的总线相比具有很大的优越性。首先p c i 局部总线以3 3 m 的时钟频率操作, 采用3 2 位的数据总线,其理论上的最高传输速率可达1 3 2 m s ,大大高于i s a 、 e i s a 、m c a 总线。而扩展的p c i 总线位宽6 4 位,传输速率更可达2 6 4 m b s , 足够满足高清晰度电视( h d t v ) 和实时三维虚拟现实( 3 dv i r t u a lr e a l i t y ) 的 需要。其次p c i 总线支持线性突发传输模式。所谓线性突发传输指的是当p c i 设备顺序访问一段内存时,可以将多个访问操作合并,也就是只要一个地址期, 可跟多个数据期,地址的自动增加是隐含的。这样可以保证总线可以满载有效 数据而避免无谓的地址操作。线性突发传输是p c i 总线的最独特之处。p c i 具 有总线主控和同步操作功能,这有利于p c i 性能的改善。总线主控的目的是让任 何一个具有处理能力的外围设备暂时接管总线,以加速执行高吞吐量、高优先 级的任务。p c i 独特的同步操作功能可保证微处理器能够与这些总线主控同时 操作,不必等待后者的完成,这样c p u 就可以从频繁的1 1 0 事务中解脱出来。p c i 总线支持“即插即用( p n p ) ”自动配旨,使得p c i 插卡的配置非常方便,其一 切资源需求的设置工作都在系统初始化时由b i o s 自动完成,无需用户进行繁 琐的丌关和跳线操作。另外其引脚的多路复用,相对于其他总线大大减少连线 的复杂度。鉴于它的优越性能,p c i 总线一经推出,很快就风靡全球,成为p c 机和j :作站的行业标准。微软在p c 9 8 标准中明确指出i s a 总线将被p c i 总线 代管,现在的外设如网卡、声卡将逐渐由i s a 总线向p c i 总线转换。 图2 1 给出了一个加入了用户模块的微机系统的大体结构,其中很清楚地表 明了p c i 总线和用户模块在系统中的位置。可以看到p c i 总线在微机系统中占 据了重要位置。c p u 与外围的连接,除了高速c a c h e 、系统d r a m 和a g p 图 第1 1 页 塑垩查兰堡主兰垡兰二兰一 形显示卡外,均通过p c i 总线实现连接。p c i 总线与系统芯片组的连接则通过 p c i 主桥( h o s tb r i d g e ) 来实现。挂在二级p c i 总线上或其它总线的设备可以通过 p c i 扩展桥,如p c i - - p c i 桥、p c i - - i s a 桥实现互联。 作为一种开放式的数据总线,p c i 总线本身仍然在不断的发展和完善之中, 新的技术在不断的推出。例如为了进一步提高数据传输率,继数据总线位宽从 3 2 位扩展成6 4 位后,又提出将总线的时钟从3 3 m 提高到6 6 m ,这样传输速率 又成倍提高。据说i n t e l 公司正在开发下一代的p c i 标准,使得数据传输率可达 1 0 0 0 m b s 。又如从台式机p c i 总线发展而来的c o m p a c t p c i 技术,允许带电热插 拔电路板,从而可以大大缩短停机时间,成为发展很快的远距离通信和数据通信的 理想平台。因此深入研究p c i 总线的协议规范,掌握p c i 接口的设计着有深远 的意义。 例2ip c i 局部总线发用户摸块在系统中的位置 2 1 p c i 总线信号定义 要设计个基于p c 总线的插卡或者一个包含有p c i 总线的嵌入式系统, 首先必须了解总线的信号定义和协议规范。当前的流行主板中一般提供了3 个 p c i 插槽,在高档工控机中甚至可以提供5 个p c i 插槽,每个插槽中包含了p c i 的所有信号线。图2 2 列出了p c i 总线的基本信号。其中左边信号为必要信号, 右边信号为可选信号。信号名后带“# ”号的信号为低电平有效。在一个p c i 应 用系统中,如果某设备发起数据传输,就称其为“主设备( m a s t e rd e v i c e ) ”, 被差没备选中通信的设备称为“从设备( t a r g e td e v i c e ) ”。为了管理数据和寻址、 接f 】控制、仲裁以及系统运行,p c i 主设备至少需要4 9 个引脚,p c i 从设备需 要4 7 个引脚。 第1 2 页 塑坚盔兰堡主兰篁兰苎一 a d d r e s s d a t a i n t e r f a c e c o n t r o l e r r a p r e p o r t i n g a r b i t r f t i o n ( m a s t e r o , a y ) s p s t e m a d 3 10 1 y a 1 ) f 6 33 2 1 、 一, e 【3o l 八p c i 眦【7 卅 、- 。i c o m p l i a n tv d e v i c e f r a m e 幸 l o g k # i n t m p e r r 聋 ”:j s b o 聋 r e 0 c l k b 蕊而入 l 图2 2p c i 总线基本信号 6 4 b i t e x t e n t i o n i n t e r f a c e c o n t r o l i n t e r r u p t $ c a c h e s u p p o r t - ,7 g ( i e e e i l 4 9l 系统提供了3 3 m h z 的同步时钟c l k 和复位信号r s t # 。数据传送的核心信 号是a d 3 1 0 】,c b e 3 0 】和p a r 。 a d 3 1 0 】 a d d r e s sa n dd a t a ,复用的3 2 位地址数据线 c b e 3 0 】 b u sc o m m a n da n db y t ee n a b l e s ,地址期间用于传输总线命 令数据期间用于选择有效传输字节。 p a r p a r i t y ,对a d 3 1 o 】和c b e 3 一o 】的奇偶校验,发地址和写 数据时由m a s t e r 驱动,读数据时由t a r g e t 驱动。 对传输协议很重要的几个信号为接口控制信号f r a m e # ,t r d y # ,i r d y # s t o p 拌,d e v s e l 拌和i d s e l 。 f r a m e 岸 c y c l ef r a m e ,由m a s t e r 发出的信号,用来表示一次操作的 开始和操作过样。f r a m e # i q 效时,数据传输开始,f r a m e # 变无效时,传输最厉个数据 拍。 【r d y 拌 i n i t i a t o rr e a d y ,i n i t i a t o r 即m a s t e r ,如果m a s t e r 已将要写 的数据准备好或做好读的准备,则使i r d y # 有效。 t r d y 撑 t a r g e tr e a d y ,如果t a r g e t 已将被滨的数据准备好或准备好 被写状态,则使t r d y # 有效。在1 r d y # 和t r d y # 都有效 时,只要时钟上升沿- - :f q ,就完成了一个数据相位的传输。 s t o p 岸 s t o p ,指山当前t a r g e t 要求m a s t e r 停j r 转送。 d e v s e l 岸 d e v i c es e l e c t ,如果将此信号驱动为有效,则此设备已将地 址解码,并置为当前操作的目标。做为一个输入线时,可 指出总线上是否有设备已被选择。 i d s e l i n i t i a l i z a t i o nd e v i c es e l e c t ,读写配置空间时的片选信号 第1 3 页 ,、,l,j、i r _ l r _ l r l l 塑堡查兰堡主兰垡丝j 王一 为了使数据的传输可靠、完整,所有的p c i 设备都要有错误报告线一p e r r # 和s e r r # 。 p e r r #p a r i t ye r r o r ,数据奇偶校验错误报告信号,如果数据接收 设备发现数据有错,就要在数据收到后的两个时钟内将 其激活。 s e r r # s y s t e me n d l 系统错误报告信号,用于报告地址奇偶错和 其它可能引起灾难性后果的系统错误。 另外对于主设备来说,还要多两条线,总线占用请求信号r e q # 和总线占 用允许信号g n t = l 。 对于p c i 的可选信号,其中一部分是用于6 4 位的扩展,其功能和3 2 位对 应信号相同,s b o # 和s d o n e 是两条高速缓存支持信号,它们是为了使具有 高速缓存功能的p c i 存储器能够和写穿式( w r i t e t h r o u g h ) 或回写式( w r i t e b a c k ) c a c h e 相配合工作。l o c k # 用于保证p c i 设备对存储器访问的独占性。 这里特别要注意中断信号,中断在实时系统中是不可缺少的。p c i 设备可以有 四条中断线,但是对于单功能设备来说,只能使用i n t a # 中断线。p c i 总线的 中断是异步、电平敏感的。 2 2 p c i 总线操作 2 2 1p c i 总线命令及使用规则 p c i 的总线命令由地址期内对c b e 3 o 】# 解码获得,它指明了p c i 总线上将 c b e 【3 o l #命令类型说明 0 0 0 0 中断应答 0 0 0 1 特殊周期 0 0 1 0 i o 读 0 0 1 l i 0 写 0 1 0 0 保留 0 1 0 l 保留 0 0 存储器凄 0 1 1 1 存储器写 1 0 0 0 保留 1 0 0 1 保留 1 0 】0 配置空间读 1 0 1 1 配置空间写 1 1 0 0 存储器多行读 1 1 0 l 地址周期 1 1 1 0 存储器一行凄 l f l l 存储器写并无效 进行何种操作。表中列出了总线命令 的编码方式,其中大多数命令都是很好 理解的潲有不同的是特殊周期( s p e c i a l c y c l e ) 、存储器一行读( m e m o r yr e a d ) 、 存储器多行读( m e m o r y r e a d l o n g ) 、存 储器写并无效( m e m o r y w r i t ea n d i n v a l i d a t e ) 这四个命令。特殊周期命令 是p c 提供的种简单的消息广播机 制,消息的具体含义由通信双方决定, 消息的接收者必须自己确定当前的消 息是否适合于它。存储器一行读、存 储器多行读、存储器写并无效这三三个 命令都是为了优化内存的读写而设 的。存储器一行读、存储器多行读是 通过预先读取个或多个高速缓存 ( c a c h e ) 行,使得存储器的性能得到 改善。存储器写并无效是为了保证一 第1 4 页 塑坚查兰堡圭兰l l 三王一 次操作的最少的传输量是一个或多个高速缓存( c a c h e ) 行。 p c i 总线要求所有的p c i 设备都以从设备的形式响应配置读和配置写命令, 其它的命令都是可选的,可根据需要实现。要指出的是如果从设备能响应基本 的存储器读和存储器写命令,那么它必须支持所有的存储器读写命令。如果不 能完全执行这些为优化性能而设的命令,则必须将它转化成基本的存储器命令。 虽然基本的存储器读写命令也支持多个数据期的读写操作,但是对于大块数据 的读写,一般推荐使用上述优化命令。 2 2 2p c i 总线的基本协议 p c i 总线的基本传输机制是线性突发传输。一个突发分组由一个地址周期和 、多个数据周期组成。目前p c i 仅支持存储器空间的突发传输。一个p c i 从设备 可以将配置空间的基址寄存器的预取位置1 ,表明可以预读数据和合并写数据。 桥路通过初始化时配置软件提供的地址范围决定哪些地址空间可以合并,哪些 不能合并。只要主设备发出的一系列访问所隐含的地址顺序相同,桥路总是可 以将它合并。 p c i 总线定义了三种物理空间:内存和i 0 地址空间是通常的地址空间,配 置空间则用来实现p c i 硬件配置。这里我们要注意的是最低两个地址位( a d 1 0 】) 的意义因地址空间的不同而有所变化。在i o 地址空间,必须使用全3 2 位a d 线 进行地址解码( 字节地址) ,a d 1 0 1 仅用来产生d e v s e l # 信号以及与c 1 3 e 3 o # 相配合指出在传输过程中所涉及的最低有效字节。 a d la d 0c b e 3 #c b e 2 #c b e l #c b e # 0 ooo o1o1 1o011 11o111 注:1 :无效0 :有效:任蒽 上表列出了配合的方式,所有其它的组合都是非法的,要求从设备以失败 的方式断开操作。所有能支持突发传输的设备都要支持线性突发传输,对于c a c h e 的行切换方式不一定要支持。在存储器访问中,只用a d 3 1 2 1 解码得到一个双 字地址。在线性增长方式下,每传输一个数据,地址就增长一个双字( d w o r d ) , 直到访问的结束。a d 1 0 】的意义如下: a d i o l 突发传输顺序 o o 线性增加 0j c a c h e 行切换 1 保留 在配置空间的访问中,用a d 7 2 1 来寻址一个双字,在配置命令译码期问,如 果i d s e l 有效且a d 【1 o 9 0 0 ”,则设备可响应此命令,否则就忽略该操作。如果 a d l l 0 卜”0 l ”且译码的命令对应某桥路的编号,则该访问对应的是该桥路后的 第1 5 页 塑垩奎堂堡圭兰垡丝茎一一 设备( 跨桥操作) 。 p c i 总线使用字节使能信号来指明传输中那些字节的数据是有效或有意义 的。主设备可以在每个新的数据期任意改变字节使能信号,但是在数据期内部 应当保持不变。从设备可以根据双方的协议,回送有效字节或全部字节。 2 2 3p c i 总线的数据传输 p c i 总线上的基本操作有四个,即读设备、写设备、读配置空间、写配置空 间。主设备设置f p 3 m e # 信号就表示一次数据传输的开始,随后的第一个时钟 传输的是地址信息和命令信息,而后是一个或多个数据周期。i r d y # 和t r d y # 同时有效表示当前的数据传输是有效的,主设备可以设置i r d y # 无效,从设备 可以使t r d y # 无效,从而在传输过程中插入等待周期。f r a m e 的撤消和i r d y # 的建立表明是最后一个数据周期,然后等待t r d y # 有效,完成最后一次数据 传输。随后主设备释放i r d y # ,总线回到空闲状态。 c l k f r a m e 撑 a d c b e # f r d y 撑 t r d y 萍 d e v s e l 群 f r a m e 撑 图23p c i 总线读操作信号时序 爪从爪爪八肌从爪从 弋i 广_ _ 卜 加巳三廷至征三二k ! 二二二净 c ,b e * 笆! 贮二互二二二二二二= 争 i r d y # _ 曩嚷 几:;i 厂 一。一 4 g 豫w 一_ i ;厂 i 厂 : a 。s 占。 。日。 畦垤刚”一 、:厂 第1 6 页 浙江大学硕士学位论文 图2 3 是总线上读操作的时序图,事务从时钟2 开始,到时钟8 结束,其中 在时钟5 和7 处分别插入了等待周期。另外一个信号d e v s e l # e h 当前参与通信 的从设备驱动,表示响应主设备的通信请求。图中还有一些双向箭头,表示数 据交换的过渡周期,这是为了避免不同设

温馨提示

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

评论

0/150

提交评论