http://blog.c114.net/html/15/562315-75227.html

PCI即Peripheral Component Interconnect,中文意思是“外围器件互联”,是由PCISIG (PCI Special Interest Group)推出的一种局部并行总线标准。在现在电子设备中应用非常广泛,下面我详细介绍下PCI总线的工作原理,希望对大家有所帮助。

♦PCI总线管脚功能

PCI主设备最少需要49根线,从设备最少需要47根线,剩下的线可选。在介绍PCI管脚功能前,先来说明下PCI管脚信号的类型。

in:输入信号;

out:输出信号;

t/s:双向三态信号(Tri-state),无效时为高组态;

s/t/s:持续三态信号(Sustained Tri-state),每次由且只由一个单元拥有并驱动的低有效双向、三态信号。驱动一个s/t/s信号到低的单元在释放该信号浮空之前必须要将它驱动到高电平至少一个周期。这个特点很重要,在后面我们分析PCI信号质量案例的时候会用到;

o/d:漏极开路输出(Open Drain);

#:此符号代表该信号在低电平时有效。

PCI总线引脚图如下所示。

实际使用中需要上拉的信号有:FRAME#, TRDY#, IRDY#, DEVSEL#, STOP#, PERR#, SERR#, LOCK#, REQ64#, ACK64#, REQ#, GNT#, AD[63:32], C/BE[7:4], PAR64等,上拉电阻一般为10kohm,未使用的PCI管脚也要处理,避免悬空。不需要上拉的信号有AD[31:0], C/BE[3:0], PAR, IDSEL, CLK。

1).系统引脚

CLK:in,系统时钟,为所有PCI上的传输及总线仲裁提供时序。除RST#外,所有PCI信号都在CLK信号的上升沿采样。

RST#:in,异步复位信号。

2).地址及数据引脚

AD[31:0]:t/s,地址数据复用引脚。FRAME#开始变为有效的那个时钟周期内AD[31:0]上传输的是地址。对于配置空间和存储空间,这是一个双字节地址,对于I/O空间,这个一个单字节地址。传输数据时,AD[7:0]为最低字节数据。

C/BE[3:0]#:t/s,总线命令和字节允许复用引脚。在AD[31:0]上传输地址的时候,C[3:0]上传输的是总线命令,AD[31:0]上传输数据的时候,BE[3:0]#用作字节允许,表示哪些通道上的数据是有效的。BE0#对应最低字节。

PAR:t/s,AD[31:0]和C/BE[3:0]#上的数据偶效验。PAR与AD[31:0]有相同的时序,但延迟一个时钟,在地址段后一个时钟,PAR稳定并有效;对于数据段,在写传输中,PAR在IRDT#有效一个时钟稳定并有效,而在读传输中,PAR在TRDY#有效后一个时钟周期稳定并有效。一旦PAR有效,它必须保持有效直到当前数据段完成后一个时钟。在地址段和写数据段,主PCI设备驱动PAR,在读数据段,目标从PCI 设备驱动PAR。

3).接口控制引脚

FRAME#:s/t/s,帧开始信号。由当前总线主设备驱动,以说明一个操作的开始和延续。FRAME#有效,说明总线开始传输,当FRAME#维持有效时,说明总线传输继续进行,当FRAME#无效时,说明传送的最后一个字节正在进行。

IRDY#:s/t/s,启动者准备好信号(Initiator Ready)。说明传输的启动者完成当前数据传输的能力。在读操作中,IRDY#有效说明总线主设备已准备好接收收据。在写操作中,它说明AD[3:0]上已有有效数据。在IRDY#和TRDY#都有效的时钟周期完成数据传输。在IRDY#和TRDY#都有效之前,需要插入等待状态。

TRDY#:s/t/s,目标设备准备就绪(Target Ready)。说明传输的目标设备完成当前的数据传输能力。在写操作中,TRDY#有效说明目标设备已经准备好接收数据。在读操作中,它说明AD[31:0]上已有有效数据。

STOP#:s/t/s,停止信号。说明当前的目标设备要求总线主设备停止当前传输。

LOCK#:s/t/s,锁定信号。

IDSEL:in,初始化设备选择(Initialization Device Select)。在配置空间读写操作中,用作片选。

DEVSEL#:s/t/s,设备选择。当驱动有效时,说明驱动它的设备已将其地址解码为当前操作的目标设备。

4).仲裁引脚

REQ#:t/s,申请。向仲裁器说明该单元想使用总线。这是一个点对点的信号,每个总线主设备都有自己的REQ#。

GNT#:t/s,允许。仲裁器向申请单元说明其对总线的操作已被允许。这是一个点对点信号,每个总线主设备都有自己的GNT#。

5).错误反馈引脚

PERR#:s/t/s,奇偶校验错误(Parity Error)。该引脚用于反馈在除特殊周期外的其他传送过程中的数据奇偶校验错误。PERR#维持三态,在检测到奇偶校验错误后,在数据结束后两个时钟周期,由接收数据的单元驱动PERR#有效。并至少持续一个时钟周期。只有发出DEVSEL#的单元才能发出PERR#。

SERR#:o/d,系统错误(System Error)。用于反馈地址奇偶校验错误、特殊周期命令中的数据奇偶校验错误和将引起重大事故的其他灾难性的系统错误。

6).中断引脚

INTA#, INTB#, INTC#, INTD#:o/d,中断输出。

7).高速缓存支持引脚

一个能高速缓存的PCI存储器必须利用这两条高速缓存支持引脚作为输入,以支持写通(write-through)和回写(write-back)(要了解cache)。如果可高速缓存的存储器是位于PCI上,则连接回写高速缓存到PCI的桥路必须利用这两条引脚,且作为输出。连接写通高速缓存的桥路可以只使用一条引脚SDONE。

SBO#:in/out,监视补偿。当其有效时,说明对某条变化线的一次命中。当SBO#无效而SDONE有效时,说明了一次“干净”的监视结果。

SDONE: in/out,监视进行。表明对当前操作的监视状态。当其无效时,说明监视结果仍未定。当有效时,说明监视已有结果。

8).64位总线扩充引脚

AD[63:32]:t/s,地址数据复用引脚提供32个附加位。在一个地址段,传送64位地址的高32位。在数据段,传送64位中的高32位。

C/BE[7:4]#:t/s,总线命令和字节允许复用引脚。

REQ64#:s/t/s,请求64位传输。当其被当前总线主设备有效驱动时,说明总线主设备想作64位传输。

ACK#:s/t/s,应答64位传送。在当前操作所寻址的目标设备有效驱动该信号时,说明目标设备能够进行64位传输,ACK#和DEVSEL#有相同的时序。

PAR64:t/s,高双字偶校验。

PCI总线原理(二)相关推荐

  1. pci总线原理(转)

    PowerPC汇编指令集 PowerPC 体系结构之指令集(综述) pci总线原理(转) 2011-05-04 16:06:41|  分类: hardware |  标签: |字号大中小 订阅 PCI ...

  2. 一文讲述,什么是pci总线原理?

    PCI即Peripheral Component Interconnect,中文意思是"外围器件互联",是由PCISIG (PCI Special Interest Group)推 ...

  3. 什么是pci总线原理?

    [推荐阅读]一文看懂页面置换算法 深度解剖Linux内核[网卡设备驱动] 详细讲解Linux内核中伙伴系统和slab机制 PCI即Peripheral Component Interconnect,中 ...

  4. PCI总线及发展历程(详细)总结

    目录 一.PCI总线简介 二.总线的传输速度表: 三.PCI-E简介 四.其他相关链接 1.PCIe物理层总结-PCIE专题知识(一) 2.PCIe数据链路层图文总结-PCIe专题知识(二) 3.PC ...

  5. PCI——第1章——PCI总线的基本知识

    摘要:对PCI 总线基本知识的整理,建议看完三章内容后再来进行总结或者阅读 目录 1.PCI基础知识 1. 1 PCI 总线的组成结构 HOST主桥 PCI 总线 PCI 设备 HOST处理器 PCI ...

  6. PCI总线的桥与配置(二)

    PCI桥与PCI设备的配置空间 PCI设备都有独立的配置空间,HOST主桥通过配置读写总线事务访问这段空间.PCI总线规定了三种类型的PCI配置空间,分别是PCI Agent设备使用的配置空间,PCI ...

  7. PCI总线的工作原理?

    Q:PCI总线的工作原理? A:PCI总线的地址总线和数据总线是分时复用的.这样做的好处是,一方面节省接插件的管脚数,另一方面便于实现突发数据传输.在做数据传输时,由一个PCI设备做发起者(主控,In ...

  8. I2C 总线原理与架构

    一.I2C总线原理 I2C是一种常用的串行总线,由串行数据线SDA 和串行时钟线SCL组成.I2C是一种多主机控制总线,它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须 ...

  9. 以太网及网络工作原理二

    以太网及网络工作原理二 2.以太网工作原理 2.2.以太网数据帧 2.3.数据帧传输 2.4.交换机的工作原理 2.5.网线的分类 2.6.千兆以太网 2.6.1.千兆位以太网标准主要四种类型的传输介 ...

最新文章

  1. 分享一个expect的脚本
  2. 【java】兴唐第二十五节课小程序学生卡转账小系统(自己写的异常)
  3. 湘潭大学c语言答案,湘潭大学生c语言课后习题答案.doc
  4. origin画图_把heatmap翻一转:imshow的origin和extent
  5. 做靠谱的程序员--《程序员修炼之道》读书报告
  6. pytorch:一维线性回归(二)
  7. 解决Oracle 11gR2 空闲连接过多,导致连接数满的问题
  8. 新手学信息检索4:向量空间模型与相似度计算
  9. k8s安装读取内核modules_kubespray国内云平台一键部署k8s
  10. 打包windows 和 linux caffe 版本的人脸识别 人脸年龄估计 人脸性别模型的总结
  11. zendstudio的安装与配置
  12. C语言学习笔记-1(资料:郝斌老师C语言视频)
  13. Trnsys模块Type14hfunction editor界面打不开
  14. python的tkinter插入图片_如何用python tkinter插入显示图片?
  15. C语言练习,指针变量作函数参数,从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10
  16. Python 求一元二次方程的解
  17. halcon循环语句,条件句结构格式
  18. 自行车无级变速器设计
  19. 185.[USACO Oct08] 挖水井 (第三次考试大整理)
  20. python遍历多层嵌套列表_python遍历多层嵌套列表

热门文章

  1. w7计算机的收藏夹里弄出桌面,Win7电脑桌面的便签怎么弄出来?
  2. doxygen生成html文件,doxygen 的安装、配置、编译及使用(从源代码到文档)
  3. html语言怎么设计出来的,(正式)网页设计语言HTML.ppt
  4. 创业冲突的五种解决方法是_不会说话,不懂处理人际冲突怎么办?《沟通的艺术》5步教会你...
  5. 服务器上次文件命令,服务器上次文件命令
  6. web系统四层结构中服务器端,基于.NET平台构建四层B/S结构的动态网站
  7. airodump-ng wlan0mon扫描不到网络_MySQL ProxySql 由于漏洞扫描导致的 PROXYSQL CPU 超高...
  8. EntityManager的使用
  9. 简单java在线测评程序
  10. Linux apt命令