PCI局部总线规范_第1页
PCI局部总线规范_第2页
PCI局部总线规范_第3页
PCI局部总线规范_第4页
PCI局部总线规范_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、PCI局部总线标准目录一 简要介绍二 信号定义三 总线操作四 电器标准五 机械标准六 配置空间第一章简要介绍外围组件接口技术Peripheral Component Interconnect PCI是一种新型的高带宽、处理器无关的总线系统。它既可以作为中间层的总线也可以作为周边总线系统使用。与其他普通总线标准想对照,PCI 总线为高速I/O设备提供了更好的支持比方图形适配器、网络接口控制器、磁盘控制器,等等。现行的标准允许在33Mhz下使用64根数据线,纯传输速率可达2.11Gbps。但是PCI吸引人的地方不在于它的高速度,它适应了现代I/O设备对系统的要求,并且只需要很少的芯片就可以实现并支

2、持其他总线系统。PCI被设计为支持各种处理器环境,所以它提供了很多通用的功能,这些功能是构筑在同步时序和中央仲裁机制根底上的。PCI局部总线是为了在高集成化外围控制设备,系统/存储器等之间提供一种交互的机制。以下列图是一个典型的PCI局部总线系统的结构。PCI局部总线有如下特点:高性能、低费用、易用性、耐用性、可靠性、灵活性、软件兼容性。这些特点在后面可以看出。第二章总线定义PCI能够作为32或64位总线使用。它们可以按照功能不同化为以下几组:1 系统引脚:包括时钟和重启引脚。2 地址和数据引脚:包括32条传输地址和数据的引线,其余的引线是为了配合它而使用的。3 接口控制引脚:用来保持mast

3、er和target之间通信的一致性。4 仲裁引脚:和其他的PCI信号线不同,这些不是共享的数据线。每一个PCI master都有它自己的仲裁信号线来直接和ARBITOR相连接。5 错误监测引脚:用于奇偶校验和其他错误的报告。除此而外,PCI还提供了另外50条可选的信号线来支持中断、缓存、及64位扩展等功能。对于只做target 设备的PCI设备而言,至少需要47个管脚;而对于用作master的设备而言,至少需要48个管脚。以下列图是对target/master兼容设备管脚定义的说明。左边的管脚是必需的,右边的是可选的。第三章总线操作一 总线命令总线上的活动表现为master和target之间的

4、信息传输和交互。当一个master得到总线的控制权后,由它来决定下一次传输的类型。在传输的地址段,C/BE信号线用于给出传输的类型命令。这些命令包括:中断确认,特殊周期,I/O读,I/O写,读内存,写内存,读配置空间,写配置空间,双地址周期 等。下面分别作简单介绍:1 中断确认中断确认用于对PCI总线上的中断控制器进行读操作,地址线没有作用,BE线用来决定中断类型的大小。2 特殊周期被master用于向一个或多个target播送消息。3 I/O读4 I/O写I/O读写用于在I/O控制器和master之间传输数据。每一个I/O设备都有它自己的地址空间。地址线用来指示一个特定的设备以保证数据传输的

5、正确。5 读内存6 写内存内存的读写用于确认一次内存和master之间的数据传输。具体的数据格式取决于内存和缓存的具体形式。7 读配置空间8 写配置空间配置空间调配命令允许master读协和改变PCI设备的配置。每一个PCI设备可以有最多256个内置存放器来初始化和配置。9 双地址周期 用于64位的操作。二 总线传输32位的数据的读写操作对各个主要信号线的时序提出了很高的配合要求。下面分别从读和写两个方面来说明他们的配合关系。1 读操作以下列图示意了当FRAME#置“1后开始的地址段和数据段中各个数据信号之间的配合关系。2 写操作一个读操作和写操作很相似,也是当FRAME#置“1后传输开始,但

6、是写操作不需要回转周期,因为master提供了所有的地址和数据。数据段两个操作相同。3传输终止传输终止有两种方式:master发起的终止和target发起的终止。三 仲裁机制为了减小传输延迟,PCI仲裁机制是基于连接的而不是基于时间片的。也就是说,总线上的master必须对每一次连接做出仲裁。PCI使用一个中心仲裁机制,每一个master有一个唯一的REQ#和GNT#信号。仲裁是隐藏的,即仲裁有前一次连接发出,这样就可以不花费PCI总线周期,除非总线闲置。一个设备通过置REQ#信号来发出请求使用总线,当然这是当它有确实需要的时候。一个仲裁者可以在任何时钟周期取消一个AGENT的GNT#,一个m

7、aster允许开始一个传输当它的GNT#置“1后且总线空闲。以下列图示意了根本的仲裁机制,这里有两个AGENT来申请使用总线,一个仲裁者在两个AGENT之间做出调度。四 延迟PCI是一个低延迟,告诉的I/O总线。master和target在一个传输中可以参加的等待周期均有一定的限制。每一个master有一个可编程的定时器来决定它在总线忙时可以占用总线的最大时间。有了这些限制和总线仲裁顺序,总线延迟变得可以预测了。1Target延迟Target延迟是一个target在置TRDY#“1之前需要等待的时钟周期数。2 master数据延迟master数据延迟是master用来置IRDY#“1表示已经准

8、备好传输数据的时钟周期数。3仲裁延迟而仲裁延迟是当master发出使用总线请求之后到总线空闲及master得到总线使用权之间的时钟周期数。这三个延迟具体的信号配合见PCI标准和附录。五 纠错功能PCI提供了奇偶校验及其它系统错误校验机制。PCI错误恢复机制能够允许AGENT从错误中恢复而不影响其他的AGENT。PCI上的奇偶校验用来判断master是否成功的寻址到了它所想要的target及是否正确的传输了数据。奇偶校验遵循以下原那么:对于任何PCI传输过程,奇偶校验都是一样的。AD31:00, C/BE3:0和PAR上的“1的个数是一个偶数。奇偶检验不是可选的,它必须被任何PCI兼容设备所支持

9、。以下列图示意了一个奇偶校验操作的主要信号时序配合关系:PCI总线操作涉及到很多的信号时序要求,具体的要求见PCI时序要求附录。第四章电气特性因为此章的内容主要是对电气特性的描述,所以应结合实际问题具体研究,在此不作详细介绍。第五章机械特性因为此章主要讲述了PCI制造商的工艺要求,对于硬件设计没有很大的帮助,故在此也不作详细介绍。第六章配置空间本章定义了PCI兼容设备上的可配置存放器的编程和使用规那么。PCI配置空间的定义是为了提供一个适当的接口来满足系统配置的需要,包括:对设备重新定位包括中断绑定的支持;不需要用户干预的安装调试和测试;设备无关的系统地址映射表等。所有的PCI设备必须实现配置

10、空间。多功能的设备必须为所实现的每一种功能提供配置空间。1 配置空间Configuration Space的组织该空间由预定义的头局部和设备相关局部组成,共有256个字节,其中与设备相关的局部因为涉及到具体的设备,在此不做讨论。预定义的头局部由设备唯一确定的域组成,分为两个局部:一开始的16个字节对所有的设备都是一样的,剩下的字节相应于设备支持的根本功能而有不同的布局,布局由0Eh处的头类型域决定。系统软件有时需要获取供应商的ID,北桥芯片必须确定的对不存在的设备做出判断,这要通过在ID返回0FFFFh到达。以下列图描绘了类型为00h的256字节的配置空间。所有的PCI兼容设备必须支持Vend

11、or ID, Device ID, Command, Status, Revision ID, Class Code, Header Type 等等域,其它域那么是可选的2 功能PCI大大地提高了系统的易配置性,这些是通过由PCI设备提供相应的功能来实现的。虽然存放器的具体位的设置因设备而异,但是所有的存放器必须能够被读写。由这些存放器的操作要能反映以下的信息:1) 设备的标示:包括Vendor ID, Device ID等等的信息。2) 设备控制:这是由Command 存放器来实现的,Command存放器的具体各位的信息可以通过PCI标准查得。3) 设备状态:用来反映PCI总线上的相关事件的

12、信息,Status存放器的具体各位的信息也可以通过PCI标准查得。4) 基址:系统加电后,软件需要决定哪些设备存在,然后建立一个固定的地址映射表,然后决定一个设备是否有扩展ROM等。这些也都需要在配置空间中表达。3 PCI扩展ROMPCI标准提供了机制来允许设备用自身的ROM来完成特定的初始化工作。ROM可以设计成对很多不同的系统和处理器有效。PCI扩展ROM与标准ISA, EISA, MC ROM的不同在于PCI ROM总是调入RAM中来执行,这样就使得动态确定编码大小和提高运行速度成为可能。以下列图示意了一个可以适用于多个处理器的ROM的结构。每一个IMAGE可以适用于一种系统。4 设备驱

13、动由两个特点使得PCI设备驱动与标准的设备驱动不同:一个是PCI设备是可以在地址空间中重新定位的。PCI设备驱动从设备的配置空间中获取映射的信息来定位设备的位置。另一个是PCI的中断是可共享的。PCI设备驱动要求支持共享中断,因为系统很可能将多个设备连接到一条中断线上。5 系统重置系统重启后,处理器需要定位BOOT代码和设备。相似地,PCI设备也需要识别固定的地址来支持系统的BOOT过程。以上就是对PCI总线标准的简要说明,该说明应该结合PCI时序操作标准和PCI标准的英文版阅读,这个简要说明仅仅起了一个指导进一步学习的作用。希望本文能够对PCI的学习有一定的帮助。盛 佳2000/9/8附录:

14、PCI 时序操作标准以下仅是最根本的时序配合的要求,为PCI标准的第三章提供了一个快速参考。信号稳定时:1 当reset完成时,以下信号要求在CLK的正沿稳定:LOCK#,IRDY#,FRAME#,DEVSEL#,STOP#,REQ#,GNT#,REQ64#,ACK64#,SBO#,SDONE,SERR# (负沿)和PERR#.2 AD线要求在以下时钟边沿稳定:a. FRAME#置“1后的第一个周期内,地址AD31:00要求稳定。b. 读过程中TRDY#置“1及写过程中IRDY#置“1后,数据AD31:00要求稳定且有效。当TRDY#和IRDY#置“1后,AD不能改变,除非当前的数据传输完成。

15、c. 读过程中TRDY#置“1及写过程中IRDY#置“1后,不要直接传输异步的数据到PCI设备上。3 C/BE线要求在以下时钟边沿稳定:a. FRAME#置“1后的第一个周期,命令C/BE3:0要求稳定。b. 在地址段或数据段完成后的时钟周期,字节使能C/BE3:0有效和稳定,并且要求在整个数据段保持有效。4 PAR在AD31:00有效后的一个时钟周期有效5 IDSEL只有在configuration命令发出后FRAME#有效后的第一个时钟周期有效。6 RST#,INTA#,INTB#,INTC#,INTD#不要求同步master端信号:7 当FRAME#置“1后,传输开始。8 下面是控制FR

16、AME#和IRDY#的规那么:a FRAME#和IRDY#决定总线的忙/空闲状态:当两者之一置“1时,总线忙;否那么总线空闲。b 假设FRAME#置“0,在同一个传输过程中不能重新置“1;c 假设IRDY#没有置“1,FRAME#不能置“0。d 如果一个master置IRDY#“1,它不能改变IRDY#或FRAME#,除非当前的数据段结束。9 当FRAME#和IRDY#置“0后,传输结束。10 当target发出RETRY 或DISCONNECT命令中断当前传输时,master在重复传输前必须置REQ#“0。至少置REQ#“0两个时钟周期。11 如果master由target的RETRY命令结

17、束必须无条件的重复相同的命令直到结束,而如果是DISCONNECT命令就没有这个要求。target端信号:12 下面时结束传输时控制FRAME#,IRDY#,TRDY#,STOP#信号的规那么。a. 当IRDY#置“1,STOP#和TRDY#中一个置“1后,数据段结束。b. 如果IRDY#和TRDY#都置“1后,数据传输进行,且与STOP#的状态无关。c. 一旦target置STOP#“1,它必须保持STOP#直到FRAME#置“0。d. 如果target置TRDY#或STOP#“,它不能改变DEVSEL#,TRDY#,STOP#直到当前数据段结束。e. 如果STOP#置“1,master必须

18、接着置IRDY#置“1后立即置FRAME#“0。f. 在上一个数据段结束后的一个时钟周期,TRDY#,STOP#,DEVSEL#必须置“0,在接下来的一个时钟周期要置为高阻态。13 agent通过置DEVSEL#“1来声明为当前传输的目标。14 在target输出使能时或之前,DEVSEL#要求置“1。15 一旦DEVSEL#置“1,它不能置“0除非上一个数据段结束。数据段:16 数据有效时,数据源无条件的要求置xDRY#“1。IDRY#,TDRY#17 如果IRDY# 和 TRDY# 都置“1,数据就可以在master 和 target 之间传输。18 上一个数据段在以下时刻结束:a FRA

19、ME#置“0,TRDY#置“1正常结束或b FRAME#置“0,STOP#置“1target结束或c FRAME#置“0及设备选择时间已过master放弃或d DEVSEL#置“0,STOP#置“1target放弃19 当TRDY# 和STOP# 置“0时,target没有义务结束当前的数据段,target只是插入了等待状态。ARBITRATION20 当FRAME# 和 IRDY#置“0及GNT#置“1时,agent可以开始一个ACCESS21 arbitor可以随时终止一个agent的GNT#。22 GNT#可以在以下情况下终止:a 如果GNT#和FRAME#在同一个时钟周期内置“1,总线

20、上的传输有效,并将继续。b 如果总线不在空闲状态,一个GNT#的置“0可以和另一个GNT#的置“1同时进行,否那么至少要间隔一个时钟周期。c 当FRAME#置“0后,GNT#可以随时被置“0来满足更高特权级master的要求。23 当ARBITER置agent的GNT#信号“1且总线处于空闲状态,agent 必须使能AD31:00,C/BE3:0#,PAR的缓冲输入也要在八个PCI时钟周期内完成。延迟:24 所有的agent要求在FRAME#置“1后的16个时钟周期内完成初始的数据段。25 target 要求在前一个数据段完成后8个时钟周期内完成下一个数据段。26 master要求在任一个数据段8个周期内置IRDY#“1。独占请求:27 当LOCK#置“1后,LOCK#的拥有者可以被访问。28 如果master在数据传输被RETRY终止,LOCK#必须释放。

温馨提示

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

评论

0/150

提交评论