基于FPGA的PCI总线接口控制器的设计_第1页
基于FPGA的PCI总线接口控制器的设计_第2页
基于FPGA的PCI总线接口控制器的设计_第3页
基于FPGA的PCI总线接口控制器的设计_第4页
基于FPGA的PCI总线接口控制器的设计_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、南京航空航天大学硕士学位论文基于FPGA的PCI总线接口控制器的设计姓名:王丽媛申请学位级别:硕士专业:电路与系统指导教师:臧春华20080201南京航空航天大学硕士学位论文摘要为了满足外围设备之间、外围设备与主机之间高速数据传输,Intel公司于1991年提出PCI(Peripheral Component Interconnect总线的概念,即周边器件互连。因为PCI总线具有极高的数据传输率,所以在数字图形、图像和语音处理以及高速数据采集和处理等方面得到了广泛的应用。本论文首先对PCI总线协议做了比较深刻的分析,从设计要求和PCI总线规范入手,采用TOP-DOWN设计方法完成了PCI总线接

2、口从设备控制器FPGA设计的功能定义:包括功能规范、性能要求、系统环境、接口定义和功能描述。其次从简化设计、方便布局的角度考虑,完成了系统的模块划分。并结合设计利用SDRAM控制器来验证PCI接口电路的性能。然后通过PCI总线接口控制器的仿真、综合及硬件验证的描述介绍了用于FPGA功能验证的硬件电路系统的设计,验证系统方案的选择,并描述了PCI总线接口控制器的布局布线结果以及硬件验证的电路设计和调试方法。通过编写测试激励程序完成了功能仿真,以及布局布线后的时序仿真,并设计了PCB实验板进行测试,证明所实现的PCI接口控制器完成了要求的功能。最后,介绍了利用驱动程序开发工具DDK软件进行软件设计

3、与开发的过程。完成系统设计及模块划分后,使用硬件描述语言(VHDL描述系统,并验证设计的正确性。关键词:PCI局部总线、TOP-DOWN设计方法、现场可编程门阵列、VHDL、PCB实验板、SDRAM控制器i基于FPGA的PCI总线接口控制器的设计iiAbstractThe Peripheral Component Interconnect (PCI bus is a high-bandwidth,"plug-and-play" bus protocol designed to meet the performance demands of the peripherals o

4、f today's high-performance PCs and workstations and their large bandwidth application. It is rapidly becoming widely accepted in the computer industry as it opens doors to performance demanding application such as video and audio system, graphics accelerator boards, 3D native signal processing,

5、network adapter, and data storage devices.This dissertation researches the design and implementation of PCI bus interface controller, based on Top-Down design method. The PCI Local Bus Specification is also analyzed comprehensively. The whole work is described with Verilog and implemented by FPGA. T

6、his dissertation is clued by the design and implementation of PCI bus interface controller, and it expatiates on the PCI bus interface controller, which involves all processes of design, coding, simulation, synthesis and test.In this research, the design of PCI bus interface controller is mainly dis

7、cussed. Its premise is PCI Bus Specification and its sticking points are to analysis the function and architecture of PCI bus controller. The whole- design and all sub modules implementation of PCI bus controller are also discussed in detail in this paper.This dissertation finishes the design of PCI

8、 bus interface controller, and it has also completed the function simulation as well as timing simulation after placing and routing. A PCB board is designed to test this controller and the result of test proves the validity of this controller to continued researches.Keywords: PCI Local Bus, TOP-DOWN

9、, FPGA, VHDL, PCB, SDRAM Controller南京航空航天大学硕士学位论文图目录图2.1 PCI系统框架 (9图2.2 PCI总线的应用 (10图2.3 PCI总线接口信号 (14图2.4 总线突发读操作的时序图 (19图2.5 总线突发写操作时序关系 (19图2.6 配置读操作时序图 (20图2.7 配置写操作时序图 (21图3.1 PCI总线接口控制器的模块图及总线接口图 (27图3.2 Memory基地址寄存器位格式 (29图3.3 I/O基地址寄存器位格式 (29图3.4 命令寄存器位格式 (32图3.5 状态寄存器位格式 (33图3.6 PCI从设备状态转换

10、(33图3.7 SDRAM控制器系统模型 (36图3.8 SDRAM控制器的整体框架 (36图4.1 典型的PQFP封装PCI元件引脚分配 (42图4.2 Memory单周期写交易时序仿真 (44图4.3 Memory单周期读交易时序仿真 (44图4.4 Memory突发写交易时序仿真 (45图4.5 Memory突发读交易时序仿真 (45图4.6 FPGA接口框图 (48图4.7 JTAG配置电路和AS配置电路 (48v承诺书本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内

11、容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本人授权南京航空航天大学可以有权保留送交论文的复印件,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文。(保密的学位论文在解密后适用本承诺书作者签名:日期:第一章引言1.1 课题的背景和研究意义进入90年代以来,由于微处理器的飞速发展,开拓了计算机应用的新领域,如复杂的图像软件在线交易处理、全运动视频处理、高保真音响、WindowsNT 多任务、局域网以及多媒体的应用等。这些应用经常需要在CPU与外设之间进行大量以及高速的数据传输和处理,但传统的微

12、机总线ISA、EISA等无法传送上述应用的大量数据,为此,被称为高性能计算机的“秘密武器”PCI(Peripheral Component Interconnection即外围部件互连局部总线技术应运而生。在1991年底,美国Inter公司电脑机构实验室首先提出了以PCI技术解决外设和CPU间数据通道窄的问题,并在极短的时间内实现了PCI技术4。传统的总线结构往往把高速数据通道预留给CPU、高速缓存及内存子系统使用,而外设卡到扩充总线控制器的数据通道却既慢又窄,影像外设到CPU、高速内存子系统的数据传输。PCI总线推出后,以其突出的性能倍受计算机和通信业界的青睐,将取代以往的总线,称为高档微机

13、及高性能工作站的外部基石。PCI作为局部总线,一边与处理器和存储器总线接口,另一边为外设扩展提供了高速的通道。33MHZ,32位的PCI总线可以实现132MB/S的数据传输速率,64位的PCI总线性能加倍,可将系统的数据传输速率提高到264MB/S。总线接口是外设或外部数据网络和计算机之间的接口,外设通过总线接口与PC交换数据、共享资源。一方面,接口电路接收外部传来的数据,再传给本地计算机;另一方面,本地计算机上的数据也必须经总线接口才能传至外部。基于不同的总线标准,都存在多种可供选择的总线控制器,它们具有不同的特性和参数,需要不同的外围设备支持。PCI优越的特性使得PCI总线接口的研究和开发

14、成为一个热点。开发以PCI 总线为基础的数据传输控制设备是技术发展的必然要求。在实际工作中,利用PCI总线将数据直接传到系统内存,可有效解决数据的实时传输和存储,为信号的实时处理提供方便。本研究课题就是开发以PCI2.2协议为基础的PCI总线接口控制器,使后端应用设备通过该总线接口控制器与主机进行高速的数据传输,使用户避免解决与PCI总线接口相关的复杂问题,只需要通过接口控制器便可方便快捷的作为PCI 目标设备来进行PCI总线的高速数据传输,有很大的灵活性。该PCI总线接口控制器时钟频率为33MHZ,数据为32位,支持单数据段传输和突发传输两种方式,提供奇偶校验生成和奇偶校验测试,支持0型配置

15、访问,实现16双字的PCI配置空间存储器,支持配置空间读写、I/O读写、存储器读写等PCI总线命令,可应用于CPU与视频卡的高速数据传输中以满足视频处理对数据的实时性要求3033。1.2 计算机总线技术和应用总线是构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路。以总线形式将计算机各个模块:CPU模块、存储器模块、各种I/O 模块互联在一起,有序的交换信息,从而构成计算机整体。微型计算机系统中广泛采用总线结构,其优点是系统成本低、功能灵活、维修方便。采用总线标准,生产的硬件模块兼容性强,并通过系统总线可以方便的组合在一起,以构成满足不同需要的微机系统。计算机总线技术包括通

16、道控制功能、使用方法、仲裁方法和传输方式等,任何系统的研制和外围模块的开发,都必须服从一定的总线规范。总线的结构不同,性能差别很大。计算机总线的主要职能是负责计算机各模块间的信息传输,因此,对总线性能的衡量,也是围绕着这一职能而定义、测试和比较的。总线的传输速率是其性能的主要技术指标。另外,总线的可操作性、兼容性和性能价格比,也是很重要的技术特征。随着计算机技术的不断发展、微型计算机的体系结构发生了显著的变化。比如CPU运行速度的提高,多处理器结构的出现,高速缓冲存储器的广泛采用等,都要求有高速的总线来传输数据,从而出现了多总线结构。多总线结构是指CPU 与存储器、I/O等设备之间有两种以上的

17、总线,这样可以将慢速的设备和快速的设备挂在不同的总线上、减少总线竞争现象,使系统效率大大提高19。在多总线结构中,局部总线的发展令人瞩目,局部总线是指来自处理器的延伸线路,与处理器同步操作。外部设备如果直接挂到局部总线上就能以CPU的速度运行。由于局部总线具有极高的数据传输率,因此在CPU与高速缓冲寄存器、CPU与高速图形卡等需要高速传输信息的场合得到了广泛的应用。一个单处理器系统中的总线,大致分为三类:1. 内部总线:CPU内部连接各寄存器及运算部件之间的总线。2. 系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线。3. I/O总线:中、低速I/O设备之间互相连

18、接的总线。计算机技术可以说是日新月异,随着微处理机、多媒体和网络技术的不断发展,以及当今多任务操作系统和功能丰富的应用程序产生,人们对微机系统的I/O 带宽不断提出新的要求,其间经历了包括MCA、VESA 等在内的多种总线规格,但从整体来看,大致只经过了ISA 和PCI 总线两个阶段。最早的PC总线是IBM公司1981年在PC/XT 电脑采用的系统总线,它基于8bit的8088 处理器,被称为PC总线或者PC/XT总线。在1984年的时候, IBM 推出基于16-bit Intel 80286处理器的PC/AT 电脑,系统总线也相应地扩展为16bit,并被称呼为PC/AT 总线。而为了开发与I

19、BM PC 兼容的外围设备,行业内便逐渐确立了以IBM PC 总线规范为基础的ISA(工业标准架构:Industry Standard Architecture 总线33。ISA 是8/16bit 的系统总线,最大传输速率仅为8MB/s ,但允许多个CPU 共享系统资源。由于兼容性好,它在上个世纪80年代是最广泛采用的系统总线,不过它的弱点也是显而易见的,比如传输速率过低、CPU占用率高、占用硬件中断资源等。后来在PC98 规范中,就开始放弃了ISA 总线,而Intel 从i810 芯片组开始,也不再提供对ISA 接口的支持。使用286和386SX以下CPU的电脑似乎和8/16bit ISA

20、总线还能够相处融洽,但当出现了32-bit 外部总线的386DX处理器之后,总线的宽度就已经成为了严重的瓶颈,并影响到处理器性能的发挥。因此在1988年,康柏、惠普等9个厂商协同把ISA 扩展到32-bit,这就是著名的EISA(Extended ISA,扩展ISA总线。EISA 总线的工作频率仍旧仅有8MHz ,并且与8/16bit 的ISA总线完全兼容,由于是32-bit 总线的缘故,带宽提高了一倍,达到了32MB/s .可惜的是, EISA 仍旧由于速度有限,并且成本过高,在还没成为标准总线之前,在20世纪90年代初的时候,就被PCI 总线给取代了。CPU 的飞速发展,ISA/EISA

21、逐渐显现出疲态,跟不上时代的步伐。当时CPU 的速度甚至还高过总线的速度,造成硬盘、显示卡还有其它的外围设备只能通过慢速并且狭窄的瓶颈来发送和接收数据,使得整机的性能受到严重的影响。为了解决这个问题,1992年Intel 在发布486处理器的时候,也同时提出了32-bit 的PCI总线。最早提出的PCI 总线工作在33MHz 频率之下,传输带宽达到了133MB/s (33MHz X 32bit/8,比ISA 总线有了极大的改善,基本上满足了当时处理器的发展需要。随着对更高性能的要求,1993年提出了64-bit 的PCI 总线,后来又提出把PCI 总线的频率提升到66MHz .目前广泛采用的是

22、32-bit、33MHz 的PCI 总线39。PCI 总线是独立于CPU 的系统总线,采用了独特的中间缓冲器设计,可将显示卡、声卡、网卡、硬盘控制器等高速的外围设备直接挂在CPU 总线上,打破了瓶颈,使得CPU 的性能得到充分的发挥。1.3 论文涉及的关键技术本课题采用了EDA设计方法和多种关键技术,例如:FPGA与CPLD技术、VHDL语言编程技术、PCI局部总线技术等。EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言(HDL为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系

23、统的逻辑编译、逻辑化简、逻辑分割、逻辑综合与优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。与传统的电子设计技术相比,EDA技术的优越性主要表现在:1. 缩短设计周期方案或概念构思以高层次描述的形式输入计算机后,EDA系统就能以规则驱动的方式自动完成整个设计,大大缩短了产品的研发周期。2. 节省设计费用EDA技术使电子工程师在实际的电子系统产生之前就可以采用较为精确的模型,全面地了解系统的功能特性和物理特性,实现各种分析,从而将开发过程中出现的缺陷消灭在设计阶段,不仅缩短了开发时间,也降低了开发成本。3.

24、设计资源共享在EDA系统中,成熟的单元设计、各种模型及其相关参数均存放在数据库文件中。在完成电路设计后,可以很方便地生成各种需要的数据文件与报表文件,用户可以直接共享这些设计资源。4. 验证电路方案设计的正确性EDA技术可用于系统方案设计或某种新理论、新构思的方案设计,进而对构成系统的各种电路结构进行模拟分析.以判断电路结构设计的正确性及其性能指标的可实现性。5. 实现电路特性的模拟测试采用EDA方式可以方便地实现全功能测试,也可以直接模拟各种恶劣的工作环境及各种极限条件F的电路特性而不损坏器件或电路,比传统的设计方式要经济的多45。总之,利用EDA技术进行电子系统的设计实质上就是用软件的方式

25、设计硬件,它最突出的优点就是软件方式设计的系统到硬件系统的转换是由相关的开发软件自动完成的,设计过程中可使用有关软件进行各种仿真,系统可现场编程、在线升级,整个系统可集成在一个芯片上,体积小,功耗低,可靠性高。正是这些优点,使得EDA技术成为现代电子设计的发展趋势。传统的硬件系统采用的是自下而上(Bottom-Up的设计方法,这种方法的仿真和调试都在设计后期进行,因而对设计人员有较高的要求,一旦考虑不周,就会引起设计回溯,使得设计周期和开发成本大大增加。另外,它的主要设计文件是电路图,不利于归档、保存和维护,同时阅读、修改也非常不便。随着电子工业的飞速发展,这种方法显然已不能适应新的形式,为此

26、,引入了一种高层次的设计方法。即自上而下(Top-Down的设计方法。具体地说,Top-Down设计方法具有以下优点:1. 提高了设计速度,缩短了产品的开发周期由于高层次设计的描述采用行为级描述语言,这种语言不仅易于描述,而且简洁易懂,一般来说,行为级HDL大约仅为相同功能RTL级HDL代码的十分之一。2. 有效地保证了设计质量,降低了设计成本高层次设计中行为描述通常要比低层次的结构描述简洁而且易于编写和理解,这就相应地降低了设计的复杂性,减少了描述错误,且容易检查和修改。另外,由于描述层次的提高而大大缩短了仿真时间,并使设计中出现的问题能在早期得到发现,降低整体设计的成本。3. 优化产品设计

27、方案基于行为级的设计可以优化系统的体系结构,可寻求最优或较优的设计方案,并快速评估多种结构间的性价比。4. 与工艺无关,提高了设计的再利用性在高层次设计中,由于VHDL语言具有与工艺无关的特性,因而在行为和结构级可不必关心与工艺相关的细节,这就为设计的再利用性提供了条件,也为今后更快地设计出新产品创造了条件,即使半导体厂商的工艺改变,也只需改变相应的映射工具,重新进行综合即可。5. 大大提高了设计的可交流性在高层次设计中,用户一般以VHDL语言描述作为设计的规范说明和需求说明,在经高层次综合、用户修改、验证之后,仍可将结果转换为VHDL语言的描述方式,从而可以实现设计过程的自动文档化。6. 提

28、高了产品的可测试性通过高层次设计的产品,可降低设计的复杂性和故障覆盖率,提高产品的可测试性。由于Top-Down的设计方法具有诸多传统设计方法所无可比拟的优点,所以在研制数据通信接口板时本人也采用这种方法。美国国防部开发的VHDL (Very high speed Hardware Description Language语言是唯一被公认的硬件描述语言之一,它出现于80年代,并于1987年12月作为IEEE-STD-1076标准公布开发。作为一种电路设计高级语言,VHDL有着其它硬件描述语言所无与伦比的优越性,具体表现在以下儿个方面:1. 设计技术齐全、方法灵活、支持广泛VHDL语言不仅支持T

29、op-Down, Botom-Up,混合和基于库(Library-Based的设计方法,而且还支持同步电路、异步电路、FPGA以及其它随机电路的设计。2. 系统硬件描述能力强VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路进行描述。另外,高层次的行为描述可以和低层次的RTL描述与结构描述混合使用。VHDL语言能进行系统级的硬件描述,这是它最突出的一个优点。其它HDL语言,例如Verilog等只能进行IC级、PCB级描述,而不能对系统级的硬件很好地进行描述。3. 可以与工艺无关编程在用VHDL语言设计系统硬件时,没有嵌入与工艺有关的信息。与大多数HDL语言不同,采用

30、VHDL语言设计时,当门级或门级以上层次的描述通过仿真验证以后,再用相应的工具将设计映射成不同的工艺。这样,在工艺更新时,无需修改原设计程序,只需改变相应的映射工具即可。由此可见,无论修改电路还是修改工艺,两者相互之间不会产生什么不良影响。4. VHDL语言标准、规范,易于共享和复用由于VHDL语言已作为一种IEEE的工业标准,所以其设计结果便于复用和交流。VHDL语言的语法严格,其风格类似于Ada语言,给阅读和使用都带来极大的方便。由于VHDL语言具有以上优点,所以该课题将它作为描述逻辑的主要表达方式663。可编程器件PLD经过几年的发展,芯片规模、密度和性能都有了惊人的变化。而作为PLD的

31、主流产品,FPGA和CPLD更是物美价廉,应用广泛。本节就FPGA和CPLD技术做一简要介绍。现场可编程门阵列(FPGA: Field Programmable Gate Array和复杂可编程逻辑器件(CPLD: Complex Programmable Logic Device是实现EDA的基础,是EDA思想的最终表述手段,它们同属于近年来发展迅速的大规模可编程专用集成电路。同以往的PAL、GAL相比,FPGA 与CPLD的规模较大,适合于时序、组合等逻辑电路的设计,它们可以替代几十甚至上百片通用IC芯片。一般来说,FPGA与CPLD具有以下优点14:1. 集成度高,容量大随着超大规模集成

32、电路工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGA与CPLD芯片的规模也越来越大。2. 花费低廉设计人员只需在实验室里就可以通过相关的软硬件来完成芯片最终的功能指定,现场可编程技术使可编程器件在使用上更为方便,因此研发费用相对较低。3. 可重复编程FPGA与CPLD芯片和PROM配合使用时,用户可以反复编程、擦除或在外围电路不动的情况下用不同的PROM就可以实现不同的功能。4. 设计周期短FPGA与CPLD软件包中不但有各种输入工具和仿真工具,而且还有版图设计工具和编辑器等全线产品,电路设计人员在很短时间内就可完成电路的输入、编译、优化和仿真,直至最后芯片的制作。匀易于开发电路设

33、计人员在使用FPGA 与CPLD进行电子设计时,不需要具备专门的IC深层知识,EDA软件大多简单易用,可以使设计人员集中精力进行电路设计。基于以上原因,在数据通信接口板的研制过程中,我们采用了FPGA与CPLD技术。1.4 论文研究内容本论文分为五章,具体安排如下:第一章:引言介绍课题的背景和意义。主要研究PCI总线技术的发展历史、现状以及未来的趋势。介绍PCI总线技术在网络和视频传输上的重要意义,研究现阶段实现PCI总线协议的手段,并介绍现代EDA设计用到的工具:FPGA设计工具、逻辑仿真工具、PCB布线工具等。第二章:PCI局部总线的协议介绍PCI局部总线的体系结构,与其他总线性能进行比较

34、有何优点,以及他的应用领域。然后系统介绍PCI局部总线协议。第三章:PCI总线接口逻辑的设计根据PCI总线规范结合自身的设计目标进行具体电路设计。并结合设计SDRAM控制器来验证PCI接口电路的性能。第四章:PCI总线接口控制器的仿真、综合及硬件系统设计原理图和PCB设计是整个硬件实现的一个非常重要的环节,特别是信号完整性的处理会影响到整个电路工作的性能。第五章:驱动程序设计和板卡的验证。第二章PCI局部总线规范2.1 PCI总线的系统结构 图2.1 PCI系统框架在图2.1中,各种外设可直接与PCI总线连接,然后通过PCI主桥路芯片,所有的PCI外设元件均可与处理器相匹配,从而使PCI总线与

35、处理器保持相对独立。这样,当处理器更新时,只要更换相应的主桥路芯片,系统的其他部分可保持不变。因此,无论是外设的升级还是处理器的更新,都对PCI总线体系结构的影响很小。另外,处理器/Cache/存储器子系统经过一个PCI桥连接到PCI总线上,这个桥提供了一个低延迟的访问通路,处理机可以通过它直接访问到映射于存储器地址空间或I/O地址空间任何地方的PCI设备。同时,他提供了允许PCI主设备直接访问主存储器的高速通路。一些PCI中央功能(例如仲裁一般要由这个桥来提供。另外,PCI桥可以提供数据缓冲能力,使处理器与PCI总线上的设备可以并行工作而不必相互等待。桥的另一个重要作用是使PCI总线的操作与

36、处理器总线分开,使它们互不影响42。2.2 PCI总线的应用对于一个新型总线标准,只有提供高性能、低成本、应用广泛、生命周期长等优点,才能成为工业标准。不但要着眼当前系统应达到新的性能价格比,更重要的是要能适应将来的系统要求,能在多种平台和体系结构上应用。图2.2说明了PCI总线的多种应用范围。PCI局部总线不仅可以应用到低档至高档的台式系统上,而且也可应用在便携机乃至服务器的范围中。对于便携机应用要求3.3V电源的同时,台式机应用也迫切要求由5V电源改为3.3V电源,这必须在标准中予以考虑。因此,PCI 局部总线规范中明确制定了两种电源电压,并说明了相应的转变途径。即为此定义了两种插接卡连接

37、器:一种是5V信号环境,一种是3.3V信号环境;同时为这两种信号环境规定了三种插接卡电气类型,分别是5V卡、3.3V卡和通用卡,其中通用卡是实现5V到3.3V过渡时使用的5。 图2.2 PCI总线的应用PCI的自动配置功能使其应用更为方便,由于该总线标准为其元件及插接分配了相应的配置寄存器,对于一个系统只要有嵌入的自动配置软件,就可以在加电时自动配置PCI总线上的设备,为用户提供了很大的方便。2.3 PCI总线的特点在PCI (peripheral component interconnect总线标准出现前曾经广泛流行的总线标准有ISA总线、EISA总线以及IBM的MCA总线等。衡量总线标准好

38、坏的性能指标是:1. 总线宽度W:即数据总线的宽度,以bit为单位。2. 寻址能力:即可直接寻址的存储器空间的大小。3. 传输率:由以下公式决定:Q= W*f /N。其中Q为带宽(单位为MB/s,W是总线宽度,f,是总线时钟频率,N是完成一次数据传送所需的时钟数。4. 总线的握手协议:同步总线以统一的总线时钟为基准,其控制电路最简单,数据传送速度快,但是不适合在速度相差很大的设备间互联;异步总线严密的握手协议使传送绝对可靠,但是其控制电路复杂,而且一次传送需要一对握手信号在总线上应答两个来回,造成额外的延迟,因此数据传输率不高。半同步总线兼有二者的优点。5. 负载能力:即总线上可以挂接的设备数

39、目。6. 突发传送:在传送开始后,只需给出数据的首地址,然后连续地发送多个数据,后续数据的地址按一定的算法得出,可以实现一个时钟传送一个数据。和其他总线标准相比,PCI总线有以下优点9:1. 高性能:PCI是一套整体的系统解决方案,较其他只为加速图形或视频操作的局部总线优越。它提供高速网络界面卡、硬盘的性能;可以出色的配合全活动影像、及各种高速外围设备的要求,PCI局部总线以33MHZ的时钟频率操作,采用32位数据总线,可支持多组外围部件及附加卡。数据传输速率可高达132MB/S,远远超过标准ISA总线5MB/S的速率。即使在32位的情况下,也能支持奔腾级电脑的图形数据传输速率。2. 线性突发

40、传输:PCI能支持一种称为线性突发的数据传输模式,可确保总线不断满载数据。外围设备一般会由内存某个地址顺序接收数据,这种线性或顺序的寻址方式意味着可以由某一个地址起读写大量数据,然后每次只需将地址自动加1,便可以接收数据流内下一个字节的数据。线性突发传输能够更有效的运用总线的带宽去传送数据,以减少无谓的地址操作。另外,PCI最独特之处是可以支持突发读取及突发写入,对使用高性能图形加速器尤为重要。3. 极小的存取延误:支持PCI的设备,存取延误很小,能够大幅度减少外围设备取得总线控制权所需的时间,例如,连接局部网络的以太网控制器,其缓冲区随时需要由网络接收大型档案,由于要等待使用总线的批准,从而

41、使以太网界面卡往往无法及时在缓冲区溢出之前迅速将数据送给中央处理器,网络界面卡被迫将文件内容存在额外的内存区。对于PCI兼容的外围设备,由于它能提供更快速的存取,因此以太网卡可及时将数据传至中央处理器,减少所需的额外内存,从而降低附加卡的整体成本。4. 采用总线主控和同步操作:PCI的总线主控和同步操作功能有利于PCI 性能的改善。总线主控是大多数总线都具有的功能,目的是让任何一个具有处理能力的外围设备暂时接管总线,以加速度执行高吞吐量、高优先级的任务。PCI 独特的同步操作功能可保证微处理器能够与这些主控同时操作不必等待后者的完成。5. 不受处理器限制:PCI独立于处理器的结构,形成一种独特

42、的中间缓冲器设计方式,将中央处理器子系统与外围设备分开。一般来说,在中央处理总线上增加更多的设备或部件,只会降低性能的可靠程度。而有了缓冲器的设计方式,用户可以随意增添外围设备,以扩展电脑系统而不必担心在不同时钟频率下会导致性能的下降。独立于处理器的总线设计还可以保证处理器技术的变化不会使任何个别系统的设计变得过时,使消费者大为受惠。6. 适合于各种机型:PCI局部总线不只是为标准的台式电脑提供合理的局部总线设计,同时也适用于便携式电脑和服务器。它可以为便携式电脑及笔记本电脑提供台式电脑的图形性能,可支持3.3V的电源环境,延长电池寿命,为电脑的小型化创造了良好的实现条件。PCI可缩小零件的尺

43、寸,减少零件的数目,从而节省了宝贵的线路板空间,可使系统设计者在其产品中加入更多功能。在服务器环境下,PCI支持分级式外围设备的特性,可使一个PCI界面支持一组级联的PCI局部总线;也可以使设置为多组PCI总线的服务器增添额外的扩展插槽,提供更多的I/O接口,并将高带宽与低带宽的数据分割开来。7. 兼容性强:由于PCI的设计是要辅助现有的扩展总线标准,因此它与ISA、EISA及MCA总线完全兼容。虽然现有电脑系统的插槽数目有限,但PCI局部总线可提供“公用插槽”,以便接插一个ISA、EISA及MCA插头。这种兼容能力能保障用户的投资,让用户在继续沿用附加卡之余,又能提供额外的插槽,方便用户选用

44、新的外围设备。8. 预留了发展空间:PCI总线在开发时预留了充足的发展空间,这是它的一项重要特性。例如,它支持64位地址/数据多路复用,这是考虑到新一代的高性能外围设备最终将需要64位宽的数据通道。PCI的64位延伸设计,可将系统的数据传输速率提高到264MB/S,同时,由于PCI插槽能同时接插32位和64位插卡,所以,32位和64位外围设备之间的通信是在用户不知不觉间进行的,从而做到了真正的瞻前顾后兼容。PCI还提供了自动配置功能,从而保障了在安装外围卡时,不需要手工调整跨接线。9. 成本低,高效率:PCI的芯片将大量系统功能高度集成,节省了逻辑电路,耗用较小的线路板空间,成本降低。PCI部

45、件采用地址/数据复用,从而使PCI 部件用以连接其他部件的引脚数减至50以下。10. 是立足现在放眼未来的标准:PCI局部总线即迎合了当今的技术要求,又能满足未来的需求,是计算机界公认的最具高瞻远瞩的局部总线标准。PCI的高性能、高效率及与现有标准的兼容性和充裕的发展潜力,是其他总线不可及的。总之PCI总线是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA的新特性,目前已经成为计算机系统中应用最为广泛,并且最为通用的总线标准。作为一种通用的总线接口标准,它在目前的计算机系统中得到了非常广泛的应用。它提供了一组完整的总线接口规范,其目的是描述如何将计算机系统中的外围设备以一种结构

46、化和可控化的方式连接在一起,同时它还刻画了外围设备在连接时的电气特性和行为规约,并且详细定义了计算机系统中的各个不同部件之间应该如何正确地进行交互。2.4 PCI总线信号定义在一个PCI应用系统中,如果某设备取得了总线控制权,就称其为“主设备”;而被主设备选中以进行通信的设备称为“从设备”或“目标节点”。对于相应的接口信号线,通常分为必备信号和可选信号两大类。如果只作为目标设备,至少需要47条线,若作为主设备则需要49条。只用必备的信号线即可以处理数据、寻址、实现接口控制仲裁及系统功能。图2.3按功能分组表示了这些信号2。In:输入,是一个标准的输入信号。Out:输出,是一个标准的输出驱动信号

47、。t/s:表示一个双向的三态输入/输出信号。s/t/s:表示一个持续的并且低电平有效的三态信号。在某一时刻只能从属于一个主设备并被其驱动。这种信号从有效变为浮空(高阻状态前必须保证使其至少有一个时钟周期的高电平状态。另一个主设备想要驱动它,至少要等到该信号的原有驱动者将其释放(变为三态一个时钟周期之后才能开始。同时,如果此类信号处于持续的非驱动状态时,在有新的主设备驱动它之前应采取上拉措施,并且该措施必须由中央资源提供。od:表示漏极开路,以线或形式允许多个设备共同驱动和分享。信号代理使信号有效,一个弱上拉电阻可实现信号返回稳定状态,上拉电阻可维持无效状态,上拉需要2个或3个PCI时钟周期将信

48、号恢复为无效状态。#:在信号名字末尾的#标识符号表示该信号的低电平有效,无此标识的信号为高电平有效。 图2.3 PCI总线接口信号下面按功能分组对各信号进行说明:1. 系统信号CLK in:系统时钟信号,对于所有的PCI设备都是输入信号。其频率最高可达33MHZ,最低频率一般为0HZ(DC,这一频率也称为PCI的工作频率。对于PCI的其它信号,除RST#、INTA#、INTB#、INTC#、INTD#之外,其余信号都在CLK的上升沿有效(或采样。RST# in:复位信号。用来使PCI专用的特性寄存器、配置寄存器、定序器、主设备、目标设备以及输出驱动器相关的信号恢复为规定的初始状态。至于PCI

49、定序器之外的设备复位如何变化,不属于本说明的范围,但必要的PCI配置寄存器,其复位状态是明确规定的。每当复位时,PCI的全部输出信号一般都应驱动到第三态,SERR#信号为高阻状态。REQ#和GNT#必须同时驱动到第三态,不能在复位期间为高或者为低。为防止AD、C/BE#及PAR在复位期间浮动,可由中央资源将它们驱动到逻辑低,但不能驱动到高电平。当设备请求引导系统时,将响应复位,复位后响应系统引导。2. 地址和数据信号AD31:0 t/s:它们是地址、数据多路复用输入/输出信号。在FRAME#有效时,是地址期;在IRDY#和TRDY#同时有效时,是数据期。一个PCI总线的传输中包含了一个地址期和

50、接着的一个(或无限个数据期。PCI总线支持突发方式的读写功能。地址期为一个时钟周期,该周期中AD31:0线上含有一物理地址(32位。对于I/O操作,它是一个字节地址;若是存储器操作和配置操作,则是双字地址。在数据期,AD7:0为最低字节,AD31:24为最高字节。当IRDY#有效时表示写数据稳定有效,而TRDY#有效时表示读数据有效。C/BE3:0# t/s:它们是总线命令和字节使能多路复用信号线。在地址期中,这四条线上传输的是总线命令;在数据期内,它们传输的是字节使能信号,用来表示在整个数据期中,AD31:0上哪些字节为有效数据。3. 接口控制信号FRAME# s/t/s: 帧周期信号。由当

51、前主设备驱动,表示一次访问的开始和持续时间。FRAME#的有效预示着总线传输的开始;在其存在期间,意味着数据传输继续进行;FRAME#失败后,是传输的最后一个数据周期。IRDY# s/t/s: 主设备准备好信号。该信号的有效表明发起本次传输的设备能够完成一个数据期。它要与TRDY#配合使用,二者同时有效,数据方能完整传输,否则即为等待周期。在写周期,该信号有效时,表示数据变量已在AD31:0中;在读周期,该信号有效时,表示主设备已做好接收数据的准备。TRDY# s/t/s: 从设备准备好信号。该信号有效时表示从设备已作好完成当前数据传输的准备工作,也就是说,可以进行相应的数据传输。同样,该信号

52、要与IRDY#配合使用,两个信号同时有效时,数据才能完整传输。在写周期内,该信号有效表示从设备已作好了接受数据的准备;在读周期,该信号有效表示有效数据已提交到AD31:0。同理,IRDY#和TRDY#任何一个无效时都为等待周期。STOP# s/t/s: 停止数据传送信号。当它有效时,表示从设备要求主设备中止当前的数据传送。很显然,该信号应由从设备发出。LOCK# s/t/s: 锁定信号。当该信号有效时,表示驱动它的设备所进行的操作可能需要多个传输才能完成,也就是说,对此设备的操作是排他性的。而此时,未被锁定的设备,对它的非互斥访问仍然可以进行。IDSEL in: 初始化设备选择信号。在参数配置

53、读写传输期间,用作片选信号。DEVSEL# s/t/s: 设备选择信号。该信号有效时,表示驱动它的设备已成为当前访问的从设备,换言之,它的有效说明总线上某一处设备已被选中。4. 仲裁信号REQ# t/s: 总线占用请求信号。该信号一旦有效表明驱动它的设备要求使用总线。它是一个点到点的信号线,任何主设备都有其REQ#信号。GNT# t/s: 总线占用允许信号。用来向申请占用总线的设备表示,其请求已获得批准。这也是一个点到点的信号线,任何主设备都应有自己的GNT#信号。5. 错误报告信号为使数据传输可靠、完整,PCI局部总线标准要求,所有挂于其上的设备都应具有错误报告线。PERR# s/t/s:

54、数据奇偶校验错误报告信号。但该信号不报告特殊周期中的数据奇偶错。一个设备只有在响应设备选择信号(DEVESEL#和完成数据期之后,才能报告一个PERR#。对于每个数据接收设备,如果发现数据有错误,就应在数据收到后的两个时钟周期内将PERR#激活。该信号的持续时间与数据期的多少有关,如果是一个数据期,则最小持续时间为一个时钟周期;若是一连串的数据周期并且每个数据期都有错,那么PERR#的持续时间将多于一个时钟周期。由于该信号是持续的三态信号,因此,该信号在释放前必须先驱动为高电平。另外,对于数据奇偶错的报告既不能丢失也不能推迟。SERR# od: 系统错误报告信号。该信号的作用是报告地址奇偶错、

55、特殊命令序列中的数据奇偶错,以及其他可能引起灾难性后果的系统错误。6. 中断信号PCI上中断引脚是可操作的,定义为低电平有效,既逻辑非。INT#信号与时钟不同步;PCI定义一个中断向量对应一个信号设备,4个以上中断向量对应一个多功能设备或连接器,对于单一功能的设备,只有INTA#可用,其他三个中断向量没有意义。2.5 PCI总线基本操作PCI总线上支持三个独立的物理地址空间:存储器地址空间、I/O地址空间和配置空间。PCI总线操作类型主要有2:1. 存储器读写操作用于同一个映射于存储器的地址空间进行读写操作。支持单数据段传输和突发传输两种。单数据段传输由一个地址期和一个数据期组成。突发传输由一

56、个地址期和多个数据期组成,可由一个地址起读写大量数据,然后每次只需将地址加一,便可接受数据流内下一个字节的数据。在存储器访问的地址期中,所有的目标设备都要检查AD1:0,或者提供所要求的突发传输顺序,或者执行一目标设备断开操作。当AD1:0=00时,表示存储器突发传输顺序为线性增长方式;AD1:0=10时,为Cache行切换方式; AD1:0=x1时,为保留(第一个数据期后断开。在32位存储器地址空间,要用AD31:2译码得到一个双字地址的访问,在线性增长方式下,每个数据周期过后地址按一个DWORD增长,直到传输结束。2. I/O读写操作用于对一个映射于I/O地址空间的单元进行读写操作。支持单

57、数据传输和突发传输两种。在I/O访问的地址期中,AD31:0提供某个字节的地址,32位都必须解码。其中,AD1:0两位很重要,一方面它参与地址译码,另一方面它也表示传输涉及的最低有效字节,并且要与C/BE3:0#配合。例如,C/BE0#有效时,AD1:0必须为“00”;如果C/BE3#有效,AD1:0就应当为“11”。在具体访问中,每当一个从设备被地址译码选中后,便要检查C/BE3:0#信号是否与AD1:0相符,如果二者矛盾,则整个访问就无法完成,此时,从设备不传送任何数据,而是以一个“目标终止”操作来结束访问。3. 配置空间读写操作用于对256字节(64个双字的配置空间进行读写操作,支持单数

58、据段传输。在配置周期的地址段,AD1:0=01表示1类配置访问,用来将配置传递到另一条PCI局部总线;AD1:0=00表示0类配置访问,用来在运行的PCI局部总线上选择一个设备,0类配置较常用。AD7:2寻址设备配置空间的64个双字寄存器之一,AD10:8用于选择多功能设备的某一个功能。2.6 PCI总线基本操作时序在PCI局部总线中,除RST#、INTA#、INTB#、INTC#、INTD#之外,其余信号都在CLK的上升沿有效或采样。PCI总线上的操作有一个地址期和一个(多个数据期组成。所有的数据传输基本上都是由以下三条信号线控制的2:1. FRAME# 由主设备驱动,指明一个数据传输的起始和结束。FRAME#有效时,表明地址期开始,FRAME#

温馨提示

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

最新文档

评论

0/150

提交评论