PCI局部总线介绍分析_第1页
PCI局部总线介绍分析_第2页
PCI局部总线介绍分析_第3页
PCI局部总线介绍分析_第4页
PCI局部总线介绍分析_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

PCI局部总线概述总线命令及总线协议总线数据传输过程总线仲裁与配置总线设备开发1.1PCI总线的特点1)传输效率:133~266MB/S2)支持猝发传输(顺序读/写一批数据)3)独立于处理器(不依附于某个具体处理器)4)适用于多种机型(5V,3.3V;级联方式)5)支持多个主控器(任何CPU成为主控)6)存取时间延迟小7)数据的完整性和可靠性(奇偶校验)8)具有即插即用功能(自动选择未使用中断和地址)9)低成本,高可靠性10)多总线共存:(CPU总线/ISA/EISA)CPUPCI桥接电路DRAM存储器CacheCPU总线

PCI总线ISA/EISA桥接电路SCSI卡硬盘卡网卡南桥打印机磁带机扫描仪ISA总线

总线概述PCI总线的信号

PCI总线标准所定义的信号线一共有120条,其中包括必需的信号线、可选的信号线及电源线、地线、保留引脚。必需信号线:作为主设备需要49条;作为从设备需要47条。可选信号线:51条,主要用于64位扩展、中断请求、高速缓存支持等。

1.2PCI信号定义

主设备:取得总线控制权的设备.

从设备:被主设备选中进行数据交换的设备.

信号类型:

IN单向输入信号,OUT:单向输出信号

T/S:双向三态输入/输出信号.

S/T/S:持续且低电平有效的三态信号(主设备产生).

O/D:漏极开路.#:低电平有效1.系统接口信号

CLKIN:PCI系统总线时钟最高33MHz/66MHz,最低0Hz。PCI大部分信号在CLK的上升沿有效。外内A1B1B49B52B62A49A52A6277.481.191.27单位:mmAD[31:00]T/S:它们是地址、数据多路复用的输入/输出信号在FRAME#有效的第1个时钟,AD[31:00]上传送的是32位地址,称为地址期。在IRDY#和TRDY#同时有效时,AD[31:00]上传送的为32位数据,称为数据期。注:一次总线传输=地址期+数据期+数据期+…C/BE[3:0]#T/S:它们是总线命令和字节使能多路复用信号线PART/S:针对AD[31:00]和C/BE[3:0]#进行奇偶校验的校验位.2.地址与数据接口信号读时序操作3.接口控制信号FRAME#S/T/S:帧周期信号,帧有效周期表示一次传输的开始和持续。CycleFrame)IRDY#S/T/S:主设备准备好信号(InitiatorReady)TRDY#S/T/S:从设备准备好信号(TargetReady)注:IRDY#,TRDY#同时有效,才能从主设备传送数据从设备.STOP#S/T/S:从设备发出的要求主设备终止当前的数据传送的信号。LOCK#S/T/S:锁定信号IDSELIN:初始化设备选择信号DEVSEL#S/T/S:设备选择信号4.仲裁接口信号REQ#T/S:总线占用请求信号GNT#T/S:总线占用允许信号5.错误报告接口信号PERR#S/T/S:数据奇偶校验错误报告信号SERR#O/D:系统错误报告信号6.中断接口信号

PCI有4条中断线,分别是INTA#、INTB#、INTC#、INTD#

,电平触发,多功能设备可以任意选择一个或多个中断线,单功能设备只能用INTA#。7.高速缓存支持信号SBO#

IN:试探返回信号SDONEIN/OUT:查询完成信号,用来表示当前查询的状态8.64位总线扩展信号AD[63:32]T/S:扩展的32位地址和数据多路复用线C/BE[7:4]#T/S:总线命令和字节使能多路复用扩展信号线REQ64#S/T/S,64位传输请求信号ACK64#S/T/S:64位传输允许信号PAR64T/S:奇偶双字节校验9.JTAG/边界扫描信号(可选)1.3PCI插槽和PCI扩展卡1.PCI插槽*32/64位数据PCI插槽2.PCI插卡2.1PCI总线命令2PCI总线命令及总线协议P292~294PCI总线命令表2.2PCI总线协议1.PCI总线的传输控制遵循的管理规则:FRAME#和IRDY#定义了总线的忙/闲状态。

11空闲、00数据、01等待状态、10最后一个数据。01等待10最后00数据11空闲(1)一旦FRAME#信号被置为无效,在同一传输期间不能重新设置。(2)除非设置IRDY#信号,一般情况下不能设置FRAME#信号无效。(3)一旦主设备设置了IRDY#信号,直到当前数据期结束为止,主设备一般不能改变IRDY#信号和FRAME#信号的状态。2.PCI总线的寻址(1)I/O地址空间在I/O地址空间,32位AD线全部被用来提供一个完整的地址编码(字节地址)。AD[1:0]和C/BE[3:0]指明传输的最低有效字节。AD[1:0]和C/BE[3:0]#对应关系表(2)内存地址空间P2963.字节对齐PCI总线上不能进行字节的交换。但是,具有64位通道的主设备可以进行DWORD(双字)的交换。主设备可以在每个新数据期开始的时钟前沿改变字节使能信号,且在整个数据期中保持不变。读缓冲中的数据可以不考虑字节使能信号,而传送所有的字节。4.PCI总线的驱动与过渡从一个设备驱动总线到另一个设备驱动PCI总线之间设置一个过渡期,又称为交换周期,以防止总线访问冲突。在每个地址(数据)期中,所有的AD线都必须被驱动到稳定的状态(数据),包括那些字节使能信号表明无效的字节所对应的AD线。5.设备选择注意:

DEVSEL#由从设备驱动,可在第1个时钟之后的2,3个时钟周期处有效。一旦有效,必须维持到最后一个数据期完成后才能撤除。设备选择的时序关系3PCI总线数据传输过程交换期从设备提供8最后读4读数据6读数据等待等待等待3.1总线上的读操作8最后

5,6,7等待3,4写数据3.2总线上的写操作写操作时序3.3传输的终止过程1由主设备提出的终止传输结束,即只剩下一个数据未传输。总线上有优先级更高的占用请求,总线仲裁器取消主设备的GNT#信号。超时,主设备发出FRAME#信号后在规定时间内没有检测到目标设备的DEVSEL#信号。撤消FRAME#,建立IRDY#,直到TRDY#有效后传输完最后一个数据。2由从设备提出的终止重入或再试(retry):从设备不能传输数据。解除连接(disconnct):8个时钟周期内从设备不能对主设备做出响应。

发出STOP#信号并保持其有效,直到FRAME#撤消为止。PCI总线上的所有传输操作中,

FRAME#、IRDY#、TRDY#和STOP#遵循的规则:当STOP#信号有效时,FRAME#应该在其后的2~3个时钟周期内尽快撤消,但撤消时应使IRDY#有效,从设备应无条件的保持STOP#的有效状态直到FRAME#撤消为止。FRAME#撤消后,STOP#也应该紧跟着撤消。在任何时钟的上升沿,如果STOP#和TRDY#同时有效,就表示是传输的最后周期,IRDY#要在下一个时钟的上升沿之前撤消,表示传输的结束。对于被目标设备终止的传输,主设备要继续完成它,就必须用下一个未传输的数据的地址来重试访问。4PCI总线仲裁与配置PCI总线采用集中式的同步仲裁方法握手方式:请求(REQ#)-允许(QET#)1.发REQ,请求占用总线2.允许占用4.1总线仲裁67891012345总线仲裁过程:4.2PCI总线配置在系统启动的时候由BIOS代码执行设备配置。一旦即插即用OS(如Windows2000)启动后,控制就传递给OS,OS接管设备管理。定义一个PCI总线配置空间的目的在于提供一套适当的配置措施,使之实现完全的设备再定位而无需用户干预安装、配置和引导,并由与设备无关的软件进行系统地址映射。所有PCI设备都必须实现PCI协议规定必需的配置寄存器,以便系统加电的时候利用这些寄存器的信息来进行系统配置。对PCI的配置访问实际上就是访问设备的配置寄存器。1.PCI设备的配置空间(头标区和设备相关区)配置空间头区域结构(1)厂商标识寄存器(VID)(2)设备标识寄存器(DID)(3)版本标识寄存器(RID)(4)设备类别码寄存器(CLCD)(5)头标类型寄存器(HDR)头标区配置寄存器:(6)PCI命令寄存器(PCICMD)

表现在命令寄存器为发出和响应PCI总线命令提供了对设备粗略的控制。

(7)PCI状态寄存器(PCISTS)

状态寄存器用于记录PCI总线有关操作的状态信息。

注意:该寄存器的有些位是只可清不可置,对这些位的写1,被解释为对该位清零。

例如,为了清位14而不影响其他位,应向该寄存器写0100000000000000B(8)基址寄存器(BADR)

PCI设备的配置空间可以在微处理器决定的地址空间中浮动,以便简化设备的配置过程。地址映射:系统初始化代码在引导操作系统之前,必须建立一个统一的地址映射关系,以确定系统中有多少存储器和I/O控制器,它们需要占用多少地址空间。当确定这些信息之后,系统初始化代码便可以把I/O控制器映射到合理的地址空间并引导系统。基址寄存器:为了使这种映射能够做到与相应的设备无关,在配置空间的头区域中安排了一组供映射时使用的基址寄存器。举例1:基址寄存器的值=FFFFFF01h

=11111111111111111111111100000001b位0=1,表示是一个I/O地址空间映射位[31:2]第一个为1的是位8,表示映射的I/O空间为256。这意味着I/O映射的基地址应该起始于256的整数倍。求:最大/最小I/O映射地址空间?

最小I/O映射地址空间=4字节(2^2)最大存储映射地址空间=256字节(协议规定)举例2:基址寄存器的值=FFF00000h

=11111111111100000000000000000000B位0=0,表示是一个存储器地址空间映射位[2:1]=00b,它使32位存储器映射位3=0,表示它不是预取存储器。位[31:4]第一个为1的是位20,表示映射的存储空间为1MB。这意味着存储映射的基地址应该起始于1MB、2MB、3MB等的边界上。系统经过权衡后再向该基址寄存器写入实际映射的空间基址。求:最大/最小存储映射地址空间?最小存储映射地址空间=16字节(2^4)最大存储映射地址空间=2GB(2^31)(9)扩展ROM基地址寄存器扩展ROM基地址=FFFF0001h位0=1,表示扩展ROM访问允许位[31:11]第一个为1的是位16,表示映射的存储空间为64K。这意味着ROM映射的基地址应该起始于64KB的边界(13)中断引脚寄存器

8位只读寄存器,指明设备使用了PCI的哪个中断引脚。1代表INTA#,2为INTB#……(14)中断请求线寄存器

8位可读/写寄存器,指明设备的中断引脚和PC机的8259A的哪个中断输入线连。(15)Min_Gnt/Max_lat寄存器

Min_Gnt用来指定设备需要多长的突发传输时间。

Max_lat用来表示对PCI总线进行访问的频繁程度。(10)高速缓冲(cache)行大小寄存器(CALN)(11)延时定时器(LAT)(12)内含自测试寄存器(BIST)2.配置空间的访问1)配置空间的寻址方式:片选:只有当输入它的IDSEL信号有效,设备选择:并且在地址期内AD[1:0]为00时,才能被作为配置访问的目标设备。片内选择:AD7-22)配置空间访问的类型0类配置空间访问对(正在运行的)当前PCI总线上的目标设备配置寄存器所进行的访问。被配置访问的目标设备必须在地址期采样到其IDSEL输入信号有效,并且AD[1∶0]必须为00。地址期,AD[10∶8]用于选择物理设备的八种功能之一。AD[7∶2]为选择该功能设备的配置寄存器号(双字号);AD[1∶0]必须为00。数据期,AD[31∶0]传送的是配置读/写数据1类配置空间访问对(通过PCI/PCI桥连接的)下一级PCI总线上的目标设备(配置寄存器)所进行的访问。地址期:AD[10∶8]用于选择物理设备的八种功能之一。AD[7∶2]为选择该功能设备的配置寄存器号;AD[15∶11]用于选择第二级总线上的某个设备的IDSEL信号有效,AD[23∶16]放总线号,AD[1∶0]必须为01。一旦PCI/PCI桥检测到1类配置访问,就有三种情况,须分别进行处理。桥片中也有桥配置空间寄存器,存放有总线号和次级总线号等信息。如果要访问的总线号既不同于桥的第二级总线号,也不在桥的第二级总线号的下级总线范围内,那么桥将忽略本次访问。如果总线号不同于桥的第二级总线,但在桥的第二级总线号的下级总线范围内,那么桥将本次访问作为1类配置访问传递给第二级总线。配置命令从第一级传递到第二级C/BE总线。如果总线号与桥的第二级总线号相同,那么桥将本次访问作为0类配置访问传递给第二级总线。AD[10:2]直接从桥的第一级传递到第二级AD总线。AD[15:11]的设备号用于选择第二级总线上哪个设备的IDSEL信号有效。配置命令从第一级传递到第二级C/BE总线。3配置空间的访问方法针对x86兼容的系统,PCI协议定义了将处理器发出的I/O或存储器访问识别或转换为配置访问的转换机构,称为配置机构。配置机构是利用两个32位的I/O端口寄存器来访问PCI设备的配置空间的。配置地址端口寄存器(I/O地址为0CF8H~0CFBH)配置数据口寄存器(I/O地址为0CFCH~0CFFH)。第一步,将要访问的总线号、设备号、功能号和双字号写到配置地址端口寄存器。(32位写)第二步,执行一次对配置数据端口寄存器的I/O读/写。PCIBIOS初始化程序只能通过PCIBIOS才能访问PCI配置寄存器。PCIBIOS再通过配置地址端口寄存器和配置数据口寄存器实现其功能。1、16位PCIBIOS的调用通过INT1AH实现:AH=B1H,AL为子功能号。2、32位PCIBIOS的调用确认32位BIOS是否存在;确认BIOS是否支持PCIBIOS,取得PCIBIOS入口地址;通过对PCIBIOS入口地址的远程调用来实现:AH=B1H,AL为子功能号。4.PCI中断1.PCI中断请求

PCI中断线:INTA#、INTB#、INTC#、INTD#。

PCI中断源:PIRQA#~PIRQD#。

PCI中断源连接:通过映射到ISA中断(3~7,9~12,14~15)来实现。特点:当PCI中断被映射到一个ISA的IRQ后,该IRQ不可再被ISA设备(通过SERIRQ的中断)使用。PCI中断可与低电平有效的非ISA中断共享同一IRQ。实现:设备31的0号功能的60H~63H、68H~6BH的PIRQ路由控制寄存器实现PIRQA#~PIRQH#与IRQ的映射关系。PIRQ#路由控制寄存器[8bit]存放的是IRQ编码。PCI中断请求:PCI中断请求必须为电平触发方式。多个PIRQ#信号线能连在同一个IRQ上。不同PIRQ#的优先级由IRQ决定。同一PIRQ#不同设备INT*的优先级由安装次序决定。PCI中断响应PCI中断响应为单周期响应。HOST-PCI桥自动将双中断响应周期转换成单中断响应周期。其他中断响应过程与8259A同,中断类型号通过HOST-PCI桥再返回给处理器。中断响应周期中可插入等待周期。中断服务程序入口地址由中断描述符表管理。PCI中断响应周期PCI中断共享PCI中断请求信号为漏极开路的。同一PIRQ不同设备的优先级最后安装的最高。即:中断向量表中中断向量为同一PIRQ最后安装的设备的中断服务程序入口地址。PCI中断的状态位通过中断服务程序读取,并处理。同一PIRQ中断服务实现方法:采用链表式处理方法。方法:PNP配置时将同一PIRQ的原中断向量存放到其设备驱动的特定寄存器后才替换为新的中断向量。8259INTA#INTA#INTB#INTA#,B#,C#D#INTA#IRQ8IRQ9IRQ10IRQ14IRQ158259IRQ0IRQ1IRQ2IRQ6IRQ7INPUT0#INPUT1#INPUT3#TOCPUInterruptRouterPCI中断路由INTA#INTA#INTB#INTA#,B#,C#D#INTA#8259IRQ8IRQ9IRQ10IRQ14IRQ158259IRQ0IRQ1IRQ6IRQ7INPUT0#INPUT1#INPUT3#TOCPUInterruptRouterIRQ2推荐的PCI中断路由

S5933是AMCC公司开发的一个PCI控制器芯片,符合PCI规范2.1,32位接口,既可以做PCI从设备,也可以做主设备,并且可以获得32位PCI总线的峰值数据传输能力:132MB/s5.1S5933的组成:

PCI总线接口、一个可选的非易失性存储器接口、用户接口(Add-On)、消息通道(Mailboxes)。5PCI总线设备开发及S59331)Pass-Thru方式2)FIFO方式3)Mailbox方式5.2S5933的数据传输方式1.概述PCI9052提供了一个简洁的高性能的PCI总线目标接口控制器,适用于一般的适配卡。PCI9052能与相当广泛的Local总线到PCI总线的设计连接,这种设计可以允许相对慢的Local总线设计在PCI总线上达到132MB/s的突发传输。

PCI9052能够通过编程设置直接连接到复用或非复用的8-bit、16-bit、32-bitLocal总线上。8-bit、16-bit模式能比较容易地将ISA总线转换到PCI总线.在PCI9052的内部嵌入了一个读写FIFO,它们的目的是为了使32-bit、33MHz的PCI总线与总线宽度更窄更慢的Local总线在数据传输速度方面相匹配。支持多达5个Local地址空间和4个片选信号PCI应用:

2.主要特征

(1)

适合PCI协议2.1规范:PCI9052遵从PCI协议的2.1规范,支持低成本的从适配器,该芯片能实现简单的ISA到PCI的转换。(2)

直接目标数据传输模式:PCI9052支持从PCI总线到Local总线的突发存储器映射和I/O映射的访问。读和写FIFO使能可以使PCI总线和Local总线实现高性能的突发传输。PCI总线通常是进行突发传输的,然而,Local总线能设置为突发传输或连续的单周期操作。(3)

中断产生器:PCI9052能产生来自于Local总线上的2个中断输入的一个PCI中断。

(4)

温馨提示

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

评论

0/150

提交评论