




已阅读5页,还剩68页未读, 继续免费阅读
(信号与信息处理专业论文)基于pci总线的视频检测卡驱动程序设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 目前,越来越多的电子设备需要计算机来进行控制,而几乎所有的c p u 和外 部设备都会提供p c i 总线的接口,p c i 总线已经是计算机系统中应用最为广泛、 最为通用的总线标准。因此,开发p c i 设备的驱动程序显得尤为重要。w i n d o w s 是当今世界使用最为广泛的操作系统,尤其是w i n d o w 2 0 0 0 以其稳定的性能受到 广大用户的亲睐。开发w i n d o w s 2 0 0 0 操作系统下的设备驱动程序,具有很强的实 用性和通用性。 本文以用于交通信息检测的视频采集卡的设计为背景,研究了p c i 总线传 输、控制机制及其配置技术,阐述了w i n d o w s 下驱动程序的特点,开发出了 w i n d o w s 9 8 2 0 0 0 下的p c i 设备的w d m 驱动程序,同时提供了相应的上层用户可 以方便调用的动态链接库。在驱动程序的设计中充分考虑了操作的同步和互斥, 有效地解决了资源的共享问题。同时,做到了多卡共用一个设备驱动程序面降低 了内存使用。整个设计项目采用内核层、a p i 层、应用层三级编程体系结构,各 层编码相互独立,程序具有较强的通用性、安全性和可移植性。如需对硬件设备 升级,只需修改软件的设备驱动程序。而无需对整个系统重新编译。 本文的设计为通用设备驱动程序设计提供了借鉴,使嵌入式设备驱动程序在 不修改和少量修改驱动程序源代码的情况下,可在不同的操作系统实现代码级兼 容,提高了类似项目的开发效率。 关键词:p c i ,w d m ,驱动程序 a b s t r a c t a tp r e s e n t , m o r ea n dm o r ee l e c t r o n i cd e v i c e sa t - ec o n t r o l l e db yc o m p u t e r a l m o s t a l lo ft h ec p ua n dp e r i p h e r a le q u i p m e n t so f f e rp c ib u si n t e r f a c e ,a sar e s u l t ,p c ib u s h a sb e e nt h em o s te x t e n s i v ea n du n i v e r s a lb u ss t a n d a r di nc o m p u t e rs y s t e m t h e r e f o r e , i t sv a l u a b l eo nd e v e l o p i n gp c id e v i c ed r i v e r w i n d o w si s w i d e l yu s e d o nt h e w o r l d ,e s p e c i a l l yw i n d o w s 2 0 0 0i sp o p u l a rb e c a u s eo fi t sp e r f e c ts t a b i l i z a t i o n , s oi t s p r a c t i c a la n d u n i v e r s a lt od e v e l o pt h ed e v i c ed r i v e r sf o rw i n d o w s 2 0 0 0o s t h ed e s i g no fv i d e oc a p t u r ec a r du s i n gf o rt r a f f i ci n f o r m a t i o nd c t c c t a t i o ni st h e b a c k g r o u n do ft h et h e s i s ,h a v i n gs t u d i e dt h ep c ib u st r a n s m i s s i o nt e c h n i q u e ,c o n t r o l m e c h a n i s ma n de o n f i g n r a t i o nt e c h n i q u e ,ie x p a t i a t et h ec h a r a c t e r i s t i co ft h ed e v i c e d r i v e ri nw i n d o w so s ,a f t e r w a r d s ,i v c d e v e l o p e dt h e p c id e v i c ed r i v e rf o r w i n d o w s 9 8 2 0 0 0a n dt h ed y n a m i cl i n kl i b r a r i e s ( d l l ) w h i c hm a k et h eu p p e r a p p l i c a t i o nu s e rc a l le x p e d i e n t l y t h es y n c h r o n i z a t i o na n dm u t 嗣xa r ec e n s i d e r e d 削l y t os e t t l et h es a m ed r i v e ri no r d e rt or e d u c et h es i z eo ft h em e m o r yu s e d t h e t h r e e - l a y e rp r o g r a mm o d ei n c l u d i n gk e r n e ll a y e r , a p il a y e r , a n du s e ra p p l i c a t i o nl a y e r i sa d o p t e di nm yp r o j e e t a n dt h ec o d e sa r eu n a t t a c h e da m o n gt h et h r e el a y e r s ,t h e p r o g r a m sh a v eg o o dc h a r a c t e rs u c ha sc o m p a t i b i l i t y , s e c u r i t ya n dt r a n s p l a n t a b i l i t y w e c a no n l ym o d i f yt h ed e v i c ed r i v e rw h e nt h eh a r d w a r ed e v i c ei s t ob eu p d a t e d w i t h o mc o m p i l i n gt h ew h o l es y s t e m t h i sp a p e rc a i lb eu s e da sar e f e r e n c et od e v e l o pt h eu n i v e r s a ld e v i c ed r i v e r s m a n ye m b e d d e dd e v i c ed r i v e r sc a nb ea c h i e v e db ym o d i f y i n gaf e w c o d e st or e a l i z e t h ec o d ec o m p a t i b i l i t ya c c o r d i n gt om yc o d e s ,t h e n ,i tw i l li m p r o v e st h ee f f i c i e n c y f o ra n a l o g o u sp r o j e c t k e yw o r d s :p c i ,w d m ,d e v i c ed r i v e r 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤注盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:p 蕻苏 签字日期: 沙矿年2 月2 7 日 学位论文版权使用授权书 本学位论文作者完全了解鑫洼盘堂有关保留、使用学位论文的规定。 特授权叁生盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名; 黯、氖 签字日期加口饵2 月五7 日 导师签名: 翱以 签字日期:力形年z 月力日 天津大学硕士学位论文 第一章绪论 1 1p 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 e c t ) 。p c i 局 部总线虽然是由i n t e l 公司提出的,但其发展,必须由i b m 公司说起。由于i b m p c 系统的开放性,全世界p c 机的制造商纷纷向i b mp c 标准靠拢,从而使i b mp c 系列产品风靡全球。与此同时,i n t e l 公司和m i c r o s o f t 公司也迅速发展壮大起 来,对i b m 公司构成了威胁。i b m 公司为保护自身利益,将计算机总线由i s a 总 线升级到m c a 总线,并于1 9 8 7 年4 月在p s 2 机上使用。m c a 是3 2 位总线,传 输率为4 0 m b s ,可共享资源,具有多重处理能力。为防止其它厂家仿制,i b m 公 司没有对外公开m c a 总线的技术标准,从而使其成为专有产品。 鉴于上述原因,c o m p a q 、a s t 、e p s o n 、h p 、0 1 i v e t t i 和n e c 等9 家公司于 1 9 8 8 年9 月联合推出了一种兼容性更强的总线,即e i s a 总线。该总线除了具有 与m c a 总线完全相同的功能外,还与i s a 总线1 0 0 兼容。e i s a 是3 2 位总线,支 持多处理器结构,具有较强的i o 扩展能力和负载能力,传输率为3 3 m b s ,适 用于网络服务器、高速图像处理、多媒体等领域。因e i s a 是兼容商共同推出的, 所以其技术标准是公开的。 i n t e l 公司决定不支持v e s av l 标准,是因为新出现的标准针对当时的问题 只是短时的解决方法,并没有时问跨度较长的解决方案,更不用说未来五年会遇 到的问题。此外,v l 总线只能有限地支持突发传送,限制了所能达到的流通量。 1 9 9 1 年,i n t e l 公司对p c i 局部总线进行了定义,并与i b m ,c o m p a q ,a s t , h p ,n e c 等1 0 多家公司联合共谋计算机总线的发展大业,于是,p c 局部总线标准 1 0 版技术规范于t 9 9 2 年6 月2 2 日推出;2 0 修改版于1 9 9 3 年4 月发布;2 1 修改版于1 9 9 5 年第一季度发布;2 2 修改版于1 9 9 8 年1 2 月1 8 日完成,1 9 9 9 年 2 月发布;最新的2 3 版及x1 0 版于2 0 0 2 年发布。而i n t e l 提出的改进型替 代p c i 总线技术- p c ie x p r e s s 也即将面世。 p c i 局部总线是一种具有多路地址线和数据线的高性能的3 2 6 4 位总线。它 在高度集成的外围控制器件、外围插件板和处理器存储器之间作为互连机构应 用。目前应用的p c i 局部总线规范2 2 版包括p c i 局部总线部件和扩展板的协 议、电气、机械和配置规范,并规定了p c i 的硬件环境。 天津大学硕士学位论文第一章绪论 p c i 局部总线支持6 4 位数据传送、多总线主控和线性突发方式,其数据传 输率为1 3 2 m b s ,这给其发展提供了有利条件。总的来看,p c i 局部总线之所以 能发展,其动力之一是图形用户接口界面( g r a p hu s e ri n t e r f a c e ) 的发展。良好 的用户接口界面的实现是以高性能的图形界面操作系统为基础的,而图形界面操 作系统往往需要大容量存储器,更重要的是对总线的性能提出了更高的要求。例 如,在多媒体视频图像显示中,若分辨率为6 4 0 4 8 0 ,3 0 帧s ,显示彩色深度为 2 4 位,则多媒体显示卡的数据吞吐量为6 4 0 4 8 0 3 0 x 3 = 2 1 1 8 4 m b s ,对于具 有l o o m b s 传输率的高速光纤网,其吞吐量还是远远不够的。由此可见,采用 l o o m b s 光纤传输视频动态图像必须借助于压缩技术。 由于外围设备数据吞吐量与总线传输率之间没有严格的比例关系,一般一条 总线可能挂接3 5 个高速外设,因而,总线的最大传输率应为高速外设的3 5 倍。由此可计算出多媒体视频卡对总线最大传输率的需求为2 1 1 8 4 ( 3 5 ) = 6 6 3 5 5 2 1 0 0 5 9 2 0 m h s ,而l o o m b s ( 1 2 5 m b s ) 的高速光纤网络中,对总线 最大传输率的需求为1 2 5 ( 3 5 ) = 3 7 5 6 2 5 m b s ,但i s a 总线的最大传输率 为8 尬s ,e i s a 总线为3 3 m b s ,无法满足图形操作系统和高速网络的要求,而p c i 局部总线的传输率为1 3 2 i 忸s ,可满足上述要求。 另一推动p c i 局部总线发展的原因是它可以降低系统成本。用大量面向p c i 局部总线的处理芯片来构造系统机、工作站、外围设备及板卡,其性能优越、处 理能力、传输速度都很高。反之,若不采用面向p c i 的芯片进行设计,实现同样 的功能,其成本将升高1 0 9 6 1 5 。 可见,p c i 成功地满足了工业要求,目前己成为世界上应用最为广泛的扩展 标准。 1 2p c l 总线及驱动开发 1 2 1 设备驱动程序概述 设备驱动程序提供连接到计算机的硬件的软件接口,它是操作系统的一个信 任部分。用户应用程序以一种规范的方式访问硬件,而不必考虑具体如何控制硬 件。 驱动程序服务于操作系统,为操作系统提供必要的例程。微软公司的w i n d o w s 系列操作系统是继m s - d o s 之后被广泛应用的操作系统,有非常良好的用户界面 和广泛的开发、调试环境支持,w i n d o w sn t 更是这一家族的佼佼者,具有3 2 位 剥夺式任务调度,进程空间保护、多线程支持、多c p u 支持、透明的设备管理和 天津大学硕士学位论文第一章绪论 各种网络支持等先进特性。与w i n d o w s 9 5 9 8 比较,w i n d o w sn t 的可靠性要高得 多。因此,微软公司将w i n d o w sn t 定为所有w i n d o w s 家族进化的目标, w i n d o w s 2 0 0 0 就是在这样的指导思想上开发的。全新的w i n d o w s 2 0 0 0 操作系统继 承了w i n d o w sn t4 x 的先进的设计思想,同时又克服了由于设计较早而带有的 缺点,其全新的特征包括: 完整的即插即用支持( p n pm a n a g e m e n t ) 系统电源管理( p o w e rm a n a g e m e n t ) 活动目录( a c t i v ed i r e c t o r y ) c o m 组建模型扩充( c o m + ,异步c o m ) 分布式安全往( s s l ,k e r b e r o s 以及公共密匙加密) 加密文件系统( e f s ) 与n t f s 的紧密集成 新的安全配置编辑程序 分布式文件系统 n t f s 的扩展( 新的n t f s 5 0 ) m i c r o s o f t 管理控制台( 删c ) v l m ( v e r yl a r g em e m o r ym o d e l ) 智能镜像管理技术( i n t e l l i m i r r o r ) 新的作业对象 因而使得w i n d o w s 2 0 0 0 成为稳定、友好、功能强大的操作系统。 驱动程序可认为是由操作系统直接调用的程序模块,工作于内核模式,可以 完成对硬件和设备的操作控制。但是由于操作系统的发展及其多样性,微软为不 同的操作系统平台设计了不同的驱动程序模型,这些模型的设计和编码方法都有 很大的不同,这对于驱动程序员来说是一个沉重的负担。为说明这些驱动模型的 差异和工作模式的不同,我们在下面介绍最重要的三种驱动程序模型: 虚拟设备驱动程序( v x d ) 虚拟设备驱动程序( v x d ) 运行于w i n d o w s3 0 ,w i n d o w s9 5 ,w i n d o w s9 8 中, w i n d o w s9 x 操作系统的核心被称作虚拟机管理器( v m m ) ,因为它的主要任务是创 建一个或多个虚拟的机器来模拟实际上存在的单一的物理机器。v x d 在 w i n d o w s 3 0 中的最初的设计意图是对特定的设备进行虚拟化帮助( v m m ) 来实现一 种假象,即:每一个虚拟机都拥有自己完备的一套硬件。这种v m m 体系结构从 w i n d o w s3 0 开始一直沿用w i n d o w s9 8 。 n t 式的驱动程序( 在w i n d o w s2 0 0 0 中被称为“遗留的驱动程序”) n t 式的驱动程序运行于w i n d o w sn t3 x 及w i n d o w sn t4 0 中,是w i n d o w s n t 中最重要的五种核心组件之一。由于n t 式的驱动程序设计模型构造较早,所 天津大学硕士学位论文 第一章绪论 以不支持即插即用和电源管理。 w d m 驱动程序 w d m 驱动程序运行于w i n d o w s9 8 及w i n d o w s 2 0 0 0 中,是微软最新型的驱动 程序架构,它完全支持即插即用和电源管理。同时微软己承诺其具有向后兼容性。 这意味着w i n d o w s9 8 和w i n d o w s2 0 0 0 的后续版本将以w d m 作为其驱动程序的基 本架构。因此选择w d m 驱动程序还将在对未来w i n d o w s 操作系统的兼容性上的 获得益处,正确编写的w d m 驱动程序只要重新编译就可运行在w i n d o w s 未来的 6 4 位环境下。本文将详细讨论w d m 驱动程序。 1 2 2 驱动程序的开发环境 开发设备驱动程序的常规方法是使用m i c r o s o f t 出品的设备驱动程序开发工 具包d d k ( d e v i c ed e v e l o p e rk i o 。这要求设计者必须对w i n d o w s 的体系结构、设 备驱动程序的结构以及i n t e lc p u 体系结构有深入的了解,开发难度较大。 为了简化w i n d o w s 驱动程序的开发,可以选用一些开发驱动程序的软件工 具,比较著名的有w i n d r i v e r , d r i v e r s t u d i o 等。 j u n g o 公司的w i n d r i v e r :工具包为用户访问计算机的硬件提供非常好的 支持,用户不必编写真正的驱动程序,只要编写运行于用户态( r i n # 层) 的程序, 就可以完成访问i o 端口和存储区域、处理中断、执行d m a 操作及访问p c i 和 自定义寄存器等工作。这种易用性是通过一个非常强大的组合向导来实现的。这 个向导通过一个非常强健的a p i 来分析硬件,自动产生驱动程序代码。从而可以 在用户模式下使用这个a p i ,这样就不需要学习操作系统的内部原理和内核 a p i ( d d k ) 。 n u m e g a 公司推出的d r i v e r s m d i o 是一套用来简化微软w i n d o w s 平台下设 备驱动程序的开发,调试和测试的工具包。d r i v e r s t u d i o 对于w i n d o w s n t 下和 w i n d o w s 9 8 与w i n d o w s 2 0 0 0 共同支持的w i n 3 2 驱动模型( w d m ) 设备驱动程序的 开发提供完全的支持。d r i v e * w o r k s 中包含一个非常完善的源代码生成工具 ( d r i v e r w i z a r d ) 以相应的类库和驱动程序样本。这两个工具都提供了开发驱动 程序的c c + + 代码框架,用户可以通过修改这些代码来进行设备驱动程序的开 发。 比较起来,用w i n d r i v e t 编写的驱动程序效率不高,而且应用程序需要 w i n d r i v e r 自己的d l l 支持,这对于开发自己的d l l 是不妥的。d r i v e , s t u d i o 可 以为用户提供一个驱动程序的代码框架,相对编程难度降低,并且生成的驱动程 序不需要附加d l l 或l i b ,有利于驱动的安装以及上层a p i 函数的封装。用微 天律大学硕士学位论文 第一章绪论 软的d d k 编写的程序效率最高,但编程难度也比较大。在我的设计中,采用 d d k 来完成p c i 的驱动,实验结果也表明,用d d k 工具包开发的驱动程序完 全能够满足我们的要求并且程序,具有很高的效率,很好的移植性。 1 3 本论文的任务与结构 本文的任务就是要解决开发p c i 总线设备时遇到的硬件、软件设计问题。在 文章中详细分析了w d m 驱动程序的工作机制,针对p c i 总线设备探讨了每个设 备驱动程序都要处理的诸如设备启动、即插即用、i r p 处理、驱动程序与硬件设 备接口等编程问题。进而提出了一种基于p c i 总线的通用板卡的设计思想。然后 对几种常用的p c i 接口芯片进行了比较,最终选用了t i 公司的p c l 2 0 4 0 作为总 线接口芯片,并根据其功能及特点,在对p c i 总线以及w o m 驱动程序架构深入分 析和探讨后,提出了视频采集卡p c i 总线驱动程序的设计方案,并用d d k 驱动程 序开发包编写了驱动程序以及a p i 函数,其功能是将违章车辆抓拍的图像和交通 检测参数传送给主机并将特定的指令和数据写入d s p 卡,研究证明系统运行相当 稳定可靠。 第一章p c i 总线的发展背景、p c i 总线设备驱动程序的概述。 第二章p c i 总线接口技术的研究:对p c i 总线的特点、传输机制、配置机制 等作简要介绍。 第三章视频采集卡的硬件系统的结构及及工作的原理,详细介绍了p c i 接口 部分的硬件设计。 第四章w d m 驱动程序模型的理论。 第五章视频检测卡的p c i 总线w d m 驱动程序的设计和实现 第六章对全文做了小结。 天津大学硕士学位论文第二章p c i 接口技术 第二章p 0 1 接口技术研究 随着计算机应用领域的发展,新的需求不断出现,使得计算机硬件技术技术 出现了日新月异的变化。优秀的p c i 局部总线标准一经推出就倍受计算机业界的 青睐,经过短短几年的发展,已经替代了i s a 、m a c 等总线标准成为了主流的 总线标准。各种基于p c i 总线的板卡也大量涌现,极大地增强了p c 机的功能。 基于p c i 总线的视频交通检测卡充分利用了p c i 总线的优点,实现了对视频交通 信息的采集、处理、传输和存储,为信号的实时处理提供了方便。因此,只有符 合p c i 标准的板卡,才能适应未来的需要。然而,p c i 总线产品较难开发,直至 今年来p c i 专用接口芯片出现以后,这种情况才得以改观。t i 公司的p c i 2 0 4 0 就是这样一种具有代表性的接口芯片。在进行驱动程序开发之前,对设备的结构 和特性进行细致的分析是必要的,因此将对p c i 总线的特点、传输机制、配置机 制等作简要介绍。 2 1p ol 局部总线特点及实现方法 2 1 1p 0 1 总线的特点 p c i 局部总线虽然是i n t e l 公司提出的,但不局限于i n t e l 系列的处理器, 当前流行的其他处理器系列,如a l p h a 、p o w e r p c 、a p a r c 以及多处理器结构的下 一代处理器都可以使用p c i 局部总线。p c i 采用高度综合化的局部总线结构,其 优化的设计可充分利用当前最先进的微处理器,它可确保电脑部件、附加卡机系 统之间可靠运行,并能完全兼容现有的i s a e i s a m i c r oc h a n n e l 扩充总线。具 体而言,p c i 局部总线包含如下特点: 1 高速性 目前微机上的p c i 总线为3 2 位、3 3 m h z ,可提供每秒1 3 2 m 字节的突发( b l l r s 0 数据传输率。而早在1 9 9 5 年6 月推出的p c i 总线规范2 1 已定义了6 4 位、6 6 m h z 的p c i 总线标准。因此p c i 总线完全可为未来的计算机提供更高的数据传输率。 另外,p c i 总线的主设备( m a s t e r ) 可与微机内存直接交换数据,而不必经过微机 c p u 中转,也提高了数据传输的效率。 2 线性突发传输 p c i 能支持一种称为线性突发的数据传输模式,可确保总线不断满载数据, 天津大学硕士学位论文第二章p c i 接口技术 外围设备一般从内存地址顺序接受数据,这种线性或顺序的寻址方式,意味着可 以从某个起始地址读写大量数据。然后每次只需将地址自动加1 ,便可以接受数 据流内下一个字节的数据。线性突发传输能够更有效地运用总线的带宽去传输数 据,以减少无谓的地址操作。 3 采用总线主控和同步操作 p c i 的总线主控和同步操作功能有利于p c i 性能的改善。总线主控是大多数 总线都具有的功能,目的是让任何一个具有处理能力的外围设备暂时接管总线, 以加速执行高吞吐量、高优先级的任务。p c i 独特的同步操作功能可保证微处理 器能够与这些总线主控同时操作,不必等待后者的完成。 4 即插即用性 目前随着计算机技术的发展,微机中留给用户使用的硬件资源越来越少,也 越来越含糊不清。在使用i s a 板卡时,有两个问题需要解决:一是同一台微机上 使用多个不同厂家、不同型号的板卡时,板卡之间可能会有硬件资源上的冲突; 二是板卡所占用的硬件资源可能会与系统硬件资源( 如声卡、网卡) 相冲突。而p c i 板卡的硬件资源则是由微机根据其各自的要求统一分配,绝不会有任何的冲突发 生。因此,作为p c i 板卡的设计者,不必去关心地微机的哪些资源是可用的,哪 些资源是不可用的。也不必去关心板卡之间是否会有冲突。因此,即使不考虑 p c i 总线的高速性,单凭其即插即用性,就比i s a 总线性能优越了许多。 5 可靠性 与以前微机常用的i s a 总线相比,p c i 总线增加了奇偶校验错( p e r r ) 、系统 错( s e r r ) 、从设备结束( s t o p ) 等控制信号及超时处理等可靠性措施,使数据传 输的可靠性大为增加。 6 软件实现的复杂性 p c i 总线功能的强大使得软件实现上的难度增加。要根据所用的操作系统用 软件工具编制相应的支持即插即用功能的设备驱动程序。 2 1 2p c i 总线接口的实现途径 实现p c i 总线接口的方法有多种。设计者可以根据实现的难度、成本以及板 卡的尺寸限制等实际情况加以选择。一般实现p c i 总线协议有两种方法,一是用 c p l d 或f p g a 设计实现,但是p c i 协议比较复杂,要求设计者对p c i 总线协议 有较深的理解,因此难度较大;二是采用p c i 总线控制芯片,如a m c c 公司的 $ 5 9 3 3 、p l x 公司的p c i 9 0 8 0 等通用的p c i 接口芯片,在课题中作者采用了t i 公司的p c i 接口控制芯片p c i 2 0 4 0 。 天津大学硕士学位论文第二章p c i 接口技术 2 2 p c i 规范 p c i ( p h c r i p h c 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 总线是 一种高性能的局部总线,可同时支持多组外围设备,是一种独立于c p u 的总线 结构。 2 2 1p o i 总线的信号定义 p c i 总线设备分为主( m a s t e r ) 设备和从( s l a v e ) 设备,主设备拥有总线控制 权,是发起数据交换的一方,从设备则响应主设备提出的数据交换请求。主设备 至少要4 9 条信号线,从设备至少4 7 条,以完成地址和数据处理功能,并实现接 口控制、总线仲裁及系统功能。表2 1 给出了p c i 常用信号及功能: 类型名称用途 系统信号 c l k 系统时钟输入信号,整个系统同步的依据 r s t # 复位信号,使设备状态回到规定的初始态 地址数据 a d ( t ) 地址、数据多路复用的三态输入输出信号 命令 c b e * * ( t )总线命令和字节使能多路复用信号 p a r 奇偶校验,检查对地址数据信号完整性 接口控制 f r a i e # ( t ) 帧周期信号,表示访问的开始及持续 信号i r d y # ( t ) 指示主设备准备好本次数据传输 t r d y # ( t ) 指宗主从设备准备好本次数据传输 d e v s e l # ( t ) 通知主设备已有从设备接收选择 l o c k # ( t ) 指示硬件已上锁 i d s e l 系统通过该信号选择p c i 槽口进行配置访问 总线仲裁 r e q # 主设备用此信号申请总线控制权 g n l 斟 表明主设备是否拥有总线控制权 状态信息 i n t # 中断请求信号 信号s e r r #用来通知系统发生严重错误 p e r r #用来通知系统发生奇偶校验错误 表2 1p c i 协议中常用信号及功能 p c i 协议中规定了一种特殊类型的信号:带过渡期的信号。这类信号可被多 个设备共享,但在任一时刻只能被一个设备驱动;信号在低电平时为有效状态并 且具有三态控制;从有效状态( 低电平) 向浮空( 高阻) 状态转换时,必须保证其在 天津大学硕士学位论文第二章p c i 接口技术 变为高阻前至少持续一个时钟周期的高电平状态,试图再次驱动此信号的设备至 少要等到原有驱动者将其释放( 变为三态) 一个时钟周期之后才能驱动它( 是为了 避免多个设备同时驱动一个信号而产生竞争) 。 p c i 总线是地址和数据信号复用型总线,a d 线在地址期( f r a m e # 信号变低后 的第一个时钟周期) 内传输的是地址信息,地址期之后传输数据信息。 2 2 2p c i 总线命令 总线命令用来规定主、从设备之间对话的类型,主设备用总线命令控制从 设备的动作。总线命令出现于地址期的c b e # 信号线上,从设备可以对总线命 令进行译码以确定后续动作。表2 2 中给出了常用命令及解释。 命令类型编码含义 中断响应o o o o 读取设备中断量 特殊周期o 0 0 1以广播方式向所有设备发送信息 读0 0 l o从映射到y o 地址空间的设备读数据 帕写 0 0 1 1从映射到1 o 地址空间的设备写数据 内存读0 1 1 0从映射到存储器地址空间的设备读数据 内存写0 1 1 1从映射到存储器地址空间的设备写数据 配置读1 0 1 0 从任意设备的配置空间读数据 配置写 l o l l从任意设备的配置空间写数据 2 3p o i 总线配置技术 表2 2 总线命令及含义 p c i 总线包括三种地址空间:i o 地址空间、内存地址空间、配置空间。在 p c i 协议中,i o 空间和内存空间是分开的,访问的方式也不尽相同。p c i 的i o 地址空间、内存空间和i s a 设备的相应地址空间相似,此处不再赘述。下面仅对 配置空间寻址加以介绍。 在p c i 协议中,设备占用的内存、i o 、中断等资源是浮动的,随着系统中 资源需求的变化而变化。p c i 总线提供了资源配罨机制,能够让设备提出资源需 求申请,系统收集所有资源申请信息并综合分配设备所需要的资源,最后把资源 分配信息写入到设备中去,以此作为设备访问的依据。保存资源配置信息的寄存 器成为配置寄存器,所有配置寄存器的整体就构成了配置空间。除了资源需求信 息外,配置空间还提供其他如设备制造商、设备类型等信息。 天津大学硕士学位论文第二章p c i 接口技术 p c i 对配置空间的寻址是通过访问配置地址寄存器和配置数据寄存器并由此 产生的配置访问过程完成的。 2 3 1p c i 总线的配置空间 p c i 总线定义了三个物理地址空间:内存地址空间、i o 地址空间和配置地 址空间。其中配置空间用于支持p c i 的硬件配置,实现即插即用。 1 配置空间的组织 配置空间是一容量为2 5 6 字节并具有特定记录结构或模型的地址空间,该 空间又分为头标区和设备有关区两部分。设备在每个区中只实现必要的和与之相 配的寄存器。一个设备的配置空间不仅在系统自举时可以访问,在其它时间内也 是可以访问的。头标区的长度为6 4 字节,每个设备都必须支持该区的寄存器分 配该区中的各个字段用来唯一地标识设备,并使设备能以一般方法控制,其余的 1 9 2 个字节是因设备而定的。 配置空间的头标区又分为两部分。前1 6 个字节的定义在各种类型的设备中 都是一样的,而其余4 8 个字节可以根据设备支持的基本功能情况进行不同的布 置。配置空间头标区的具体布置如表2 3 所示。 表2 3p c i 配置空间的组织 设备识别厂商代码0 0 h 状态命令0 4 h 分类代码修改版本0 8 内含自测试头标类型延时计数 c a t h e 大小 0 c h 基址寄存器 1 0 h 2 4 h 保留 2 8 h 保留 2 c h 扩展r o m 基址寄存器3 0 h 保留3 4 h 保留3 8 h m a x l a tm i n - g n t中断引脚中断干线3 c h 2 配置空间的功能 配置空间可以实现以下一些功能: a 设备识别 利用设备识别字段,配置软件能很容易地确定在系统的p c i 总线上有什么样 的可用设备,所有这类寄存器都是只读寄存器,包括标明特定设备的设备识别字 天津大学硕士学位论文 第二章p c i 接口技术 段,标明设备制造商的供应商代码段,标明设备特有的修改识别代码的修改版本 段,用来标明设备总体功能和特定的寄存器级编程接口的分类代码字段和实现特 定指示功能的头标类型字段。 b 设备控制 头标区中的命令寄存器可为发出和响应p c i 总线命令提供粗略的控制。 c 状态记录 状态寄存器用于记录p c i 总线有关事件的状态信息。 d 中断控制 主要包括中断线寄存器和中断引脚寄存器。中断线寄存器用来报告中断线的 连接情况,它的值表示设备的中断引脚与系统中断控制器的哪一个输入端相连。 中断引脚寄存器的值表示设备使用了哪根中断线。 e 地址映射 p c i 设备可以在地址空间中浮动是p c i 总线中最重要的功能之一,它能够简 化设备的配置过程。加电软件在引导操作系统之前必须要建立一个统一的地址映 射。也就是说,必须确定在系统中有多少存储器以及系统中的i 0 控制器要求多 少地址空间。当这些信息确定之后,加电软件便可以把i o 控制器映射到合理的 地址空间并引导系统。为了使这种映射能够做到与相应的设备无关,从而在配置 空间的头标区中安排了一个供映射时使用的基址寄存器。 在所有的基址寄存器中,位0 均为只读并且用来决定是存储器空间还是i 0 空间,其中存储器空间的基址寄存器宽度可以是3 2 位或6 4 位,但在具体实现过 程中,除了低4 位应符合上述要求外,其高位部分的实际实现位数要根据映射多 大的地址空间范围来决定。 2 3 2 配置过程 配置结构采用了两个3 2 位i 0 端口,位于地址o f f 8 h 和o c f c h ,这两个端 口是:, 3 2 位配置地址端口,占用i 0 地址o c f 8 h 到o c f b h 3 2 位配置数据端口,占用i o 地址o c f c h 到o c f f h 访问一个p c i 功能的配置寄存器是一个两步骤过程: 步骤l 将目标总线号、设备编号、功能编号和双字编号写到配置地址端口 并设置使能位i 。 步骤2 从配置数据端口执行单字节、双字节或四字节i 0 读或写到该端口。 作为反应,主p c i 桥将制定的目标总线与桥的另一侧所在的总线范围作比较,如 天津大学硕士学位论文 第二章p c i 接口技术 果目标总线驻留在桥后面,它就启动p c i 配置读或写( 基于处理器与配置数据端 口是否执行i o 读或写) 。 2 3 3 配置地址口 当处理器执行完全的3 2 位写到端口时,配置地址端口仅锁存信息。然后, 从该端口的3 2 位读返回其内容,有效的复位将端口清除为0 。在这个i o 双字 内。任何8 位或1 6 位访问直接传递到p c i 总线,作为8 或1 6 位p c ii 0 访问。 写到配置地址端口的3 2 位信息必须符合下列描述( 见图2 1 ) 图2 1 配置地址口0 c f 8 h o c p 9 ho c f h0cf9l0cfsh 3 13 0 2 4 懈侣1 ,o8720 位 1 :o 是硬连线,只读,在读时必须返回。 位 7 :2 标识在目标功能的配置空间内的目标双字。 位 1 0 :8 标识在目标p c i 设备的目标功能编号( 1 8 ) 。 位 1 5 :1 1 标识在目标p c i 设备编号( 1 3 2 ) 。 位 2 3 :1 6 标识在目标p c i 总线编号( 1 2 5 6 ) 。 位 3 0 :2 4 保留且必须是0 。 位3 1 必须设置为1 ,使能从后续处理器i 0 访问配置数据端口到p c i 总线上 的配置访问的翻译。如果位3 1 是0 ,处理器从配最数据端口启动i o 读或 i 0 写到该端口。 2 4 p c i 总线传输及控制机制 2 4 1 p o i 传输机制 p c i 总线的基本传输机制是突发成组传输。一个突发分组由一个地址期和一 个或多个数据期组成。p c i 支持存储器和i o 空间的突发传输。为了减少总线上 的地址信息,降低访问延迟,p c i 主桥支持访问合并。p c i 支持以下几种访问合 并,以提高传输效率: ( 1 ) 双字访问组合。主桥可以将多个对连续内存地址的双字写访问在不造成副作 用的前提下合并为一次访问,也就是说在不改变数据访问次序的情况下才可以合 天津大学硕士学位论文 第二章p c i 接口技术 并。比如对双字1 ,2 ,4 的写访问可以合并为一个对双字1 ,2 ,3 ,4 的突发分组,只 不过在访问3 时,字节使能信号无效罢了。 ( 2 ) 字节和字访问合并。主桥可以在对多个连续内存地址的字节和字写访问在不 造成副作用的情况下合并为一次双字访问。 ( 3 ) 折叠。主桥可以在对多个相同内存地址的写访问合并为最后一次访问。 2 4 2 p g i 传输控制机制 1 ,基本传输控制 p c i 总线上的数据传输遵守以下原则:数据传输发起方一经提出数据传输请 求,必须进行本次数据传输( 完成或废止) ;而从设备只要承诺了数据传输,必 须将本次传输完成。 p c i 所有的数据传输都是在f r a m e # 、i r d y # 、t r d y # 的控制下完成。当f r a m e # 和i r d y # 部无效时总线处于空闲态。f r m a e # 有效后传输对话即进入地址期阶段。 所有设备在地址期的时钟上升沿锁存地址和命令信息,并且译码确定是否在针对 自己进行访问。若是对自己访问则建立d e v s e l # 信号,向主设备发送响应信号, 承诺本次数据传输并进入数据期。 数据期可有一个或多个,在数据传送期内,与数据交换双方通过i r d y # 和 t r d y # 指示是否己准备好进行数据传输。在p c i 协议中,提供数据的设备在数据 准备好后必须无条件建立x r d y ( 写操作建立i r d y ,读操作建立t r d y ) ,接受数据 的设备若暂时不能接收数据,可延迟建立对应的x r d y ( 写操作t r d y ,读操作 i r d y ) ,但是必须遵循有关访问延迟的规定。在任一时钟上升沿,只要i r d y # 和 t r d y # 同时有效,就会触发一次数据传输,并由c b e g 指出哪些是有效传输的字节。 2 ,突发传输控制 突发传输在主从设备双方都支持突发的情况下才能进行。若主设备在第一个 数据传送完成时保持f r a m e # 有效,表明主设备要进行突发传输。若从设备支持 突发,只需递增在地址期内保存地址,准备下一次数据的传输;否则,在建立 t r d y # 的同时把s t o p # 信号建立,表明从设备不能支持下一数据的传输( 即不支持 突发) ,主设备则会结束当前传输过程。在突发传输过程中,一旦主设备发现只 要进行完本次数据传输即可结束传输对话,它就会在i r d y # 有效时把f r a m e 8 变为 无效:从设备发现f r a m e # 无效后,知道正在进行最后一次数据传输,在完成传 输后进入切换至过渡状态期;在过渡期内撤消由其驱动的信号( 带过渡的信号仅 变为高电平,待过渡期结束后变为高阻) ;主设备撤消i r d y # ,结束本次传输。 3 ,字节选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届春季中国融通集团校园招聘考前自测高频考点模拟试题及答案详解1套
- 2025年宁波市中医院公开招聘派遣制护士20人考前自测高频考点模拟试题含答案详解
- 2025广西仙城投资发展集团有限公司第一次招聘人员考前自测高频考点模拟试题附答案详解
- 2025广东广州市榄核咨询服务有限公司招聘1人笔试历年参考题库附带答案详解
- 贵州国企招聘2025六枝特区区属国有企业选聘市场化职业经理人笔试历年参考题库附带答案详解
- 浙江国企招聘2025温州平阳县国润控股有限公司公开招聘项目制专技人员9人笔试历年参考题库附带答案详解
- 2025黑龙江省水利水电集团有限公司总部机关及财务共享分中心员工岗位竞聘10人笔试历年参考题库附带答案详解
- 2025陕西建工控股集团有限公司校园招聘启动笔试历年参考题库附带答案详解
- 2025年金华东阳市人民医院招聘编外人员8人模拟试卷及1套参考答案详解
- 2025国网物资有限公司第二批高校毕业生录用人选的考前自测高频考点模拟试题及完整答案详解一套
- 动物安乐死协议书(2篇)
- 2019年医疗器械体外诊断与病理诊断行业分析报告
- DL-T2078.2-2021调相机检修导则第2部分:保护及励磁系统
- 国开(河北)2024年《中外政治思想史》形成性考核1-4答案
- 新起点大学英语综合教程1
- 小学数学添括号去括号简便计算练习100道及答案
- 师德师风考核表
- 三年级上册语文必考点1-8单元按课文内容填空专项练习
- 《一、圆锥曲线的光学性质及其应用》教学设计(部级优课)-数学教案
- 装配钳工高级试题与答案
- GB/T 27809-2011热固性粉末涂料用双酚A型环氧树脂
评论
0/150
提交评论