在一个PCI应用系统中,如果某设备取得了总线控制权,就称其为“主设备”;而被主设备选中以进行通信的设备称为“从设备”或“目标节点”。对于相应的接口信号线,通常分为必备的和可选的两大类。如果只作为目标的设备,至少需要47条,若作为主设备则需要49条。利用这些信号线便可以处理数据、地址,实现接口控制、仲裁及系统功能。下面对主设备于目标设备综合考虑,并按功能分组将这些信号表示于下图。

图中#号表示低电平有效,否则为高电平有效。

1、系统信号定义

CLK_IN:系统时钟信号,对于所有的PCI设备都是输入信号。其频率最高可达33MHz,最低频率一般为0Hz(DC),这一频率也称为PCI的工作频率。对于PCI的其它信号,除了RST#、IRQB#、IRQC#、IRQD#之外,其余信号都在CLK的上升沿有效(或采样)。

RST#_IN:复位信号。用来使PCI专用的特性寄存器和定序器相关的信号恢复规定的初始状态。至于PCI定序器之外的设备复位后如何变化,本次不说明。但必要的PCI配置寄存器,其复位状态是明确规定的。每当复位时,PCI的全部输出信号一般都应驱动到第三态。SERR#信号为高阻状态,SBD#和SDONE可驱动到低电平(如果未能提供三态输出)。REQ#和GNT#必须同时驱动到第三态,不能再复位期间为高或为低。为放置AD、C/BE#及PAR在复位期间浮动,可由中心设备将它们驱动到逻辑低,但不能驱动为高电平。RST#和CLK可以不同步,但要保证其撤销的边沿没有反弹。当设备请求引导系统时,将相应复位,复位后相应系统引导。

2、地址和数据信号

AD[31..0]:它们是地址、数据多路复用的输入/输出信号。在FRAME#有效时,是地址期;在IRDY#和TRDY#同时有效时,是数据期。一个PCI总线的传输包含了一个地址信号期和接着的一个(或无限个)数据期。PCI总线支持突发方式的读写功能。地址期为一个时钟周期,该周期中AD[31..0]线上含有物理地址(32位)。对于I/O操作,它是一个字节地址;若是存储器操作和配置操作,则是双字地址。在数据期,AD[7..0]位最低字节,AD[31..24]位最高字节。当IRDY#有效时表示写数据稳定有效,而TRDY#有效时表示读数据稳定有效。

C/BE[3..0]#:它们是总线命令和字节使能多路复用信号线。在地址周期中,这四条线上传输的是总线命令;在数据期内,它们传输的是字节使能信号,用来表示在整个数据期中,AD[31..0]上哪些字节位有效数据。

3、接口控制信号

FRAME#:帧周期信号。由当前主设备驱动,表示一次访问的开始和持续时间。FRAME#的有效预示着总线传输的开始;在其存在期间,意味着数据传输继续进行;FRAME#失效后,是传输最后一个数据期。

IDRY#:主设备准备好信号。该信号的有效表明发起本次传输的设备能够完成一个数据期。它要与TRDY#配合使用,二者同时有效,数据方能完整传输,否则即为等待周期。在读周期,该信号有效时,表示数据变量已在AD[31..0]中;在写周期,该信号有效时,表示从设备已做好接收数据的准备。

TRDY#:从设备准好信号。该信号有效表示从设备已作好完成当前数据传输的准备工作,也就是说,可以进行相应的数据传输。同样该信号要与IRDY#配合使用,二者同时有效,数据才能完整传输。在写周期内该信号有效表示从设备已做好接收数据的准备;在读周期内,该信号有效表示有效数据已提交到AD[31..0]中。同理,IRDY#和TRDY#的任何一个无效时都为等待周期。

STOP#:停止数据传送信号。当它有效时,表示从设备要求主设备终止当前数据传送。很显然,该信号由从设备发出。

LOCK#:锁定信号。当该信号有效时,表示驱动它的设备所进行的操作可能需要多个传输才能完成。也就是说,对此设备的操作时排它性的。而此时,未被锁定的设备,对它的非互斥访问仍然可以进行。LOCK#信号的控制是由PCI总线上发起数据传输的设备,根据它自己的约定并结合GNT#信号来完成的。即使由几个不同设备在使用总线,但对LOCK#信号的控制权只属于一个主设备。如果某一设备具有可执行存储器,那么它也必须能实现锁定,以便实现对该存储器的完全独占性访问。对于支持锁定的目标设备,必须能提供一个互斥访问块,且该块不能小于16个字节。由于主桥后面是系统存储器,所以也应能实现锁定。

IDSEL_IN:初始化设备选择信号。在参数配置读写传输期间,用作片选信号。

DEVSEL#:设备选择信号。在该信号有效时,表示驱动它的设备已成为当前访问的从设备。换言之,它的有效说明总线某处的某一个设备已被选中。

3、仲裁信号

REQ#:总线占用请求信号。该信号一旦有效即表示驱动它的设备要求使用总线,它时一个点到点的信号线,任何主设备都有其REQ#信号。

GNT#:总线占用允许信号,用来向申请占用总线的设备表示,其请求已获得批准。这也是一个点到点的信号线,任何主设备都应由自己的GNT#信号。

4、错误报告信号

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

SERR#:系统错误报告信号。该信号的作用是报告地址奇偶错、特殊命令序列中的奇偶错,以及其它可能引起灾难性后果的系统错误。如果设备不希望产生非屏蔽中断,就应采用其它机制来实现SERR#的报告。由于SERR#是一个漏极开路信号,因此,报告此类错误的设备只需将该信号驱动一个PCI周期即可。SERR#信号的发出和时钟同步,因而满足总线上所有其它信号的建立时间和保持时间的要求。要使该信号复位,需要一个微弱的上拉作用,但这应由系统设计来提供,而不是靠报错的设备或中央资源。一般这种上拉复位需要2~3个时钟周期才能完成。

5、中断信号

中断信号在PCI总线中使可选项,不一定必须具有。并且中断信号属于电平敏感性,低电平有效,使用漏极开路方式驱动。同时,此类信号的建立和撤销与时钟不同步。对于单功能设备,只有一条中断线,而多功能设备最多可有四条中断线。在前一种情况下,只能使用INTA#,其它三条中断线没有意义。所谓的多功能设备是指:将几个相互独立的功能集中在一个设备中。

PCI局部总线中共有四条中断线,分别是:INTA#、INTB#、INTC#和INTD#,均为O/D(漏极开路)。其作用是:用以亲贵一个中断。后三个只能用于多功能设备。

一个多功能设备上的任何功能都可以连接到四条中断线的任意一条。也就是说,各功能与中断线之间的连接时任意的,没有附件限制,二者的最终对应关系是由中断引脚寄存器来定义的。这显然提供了很大的灵活性。如果一个设备要实现一个中断,就定义为INTA#;要实现两个中断,就定义为INTA#和INTB#,依此类推。对于多功能设备,可以多个功能共用同一条中断线,或者各自占一条中断线,或者是两种情况的组合,但是,对于单功能设备,绝对不能再多于一条中断线上发中断请求。

系统供应商再对PCI连接器的各个中断信号和中断控制器进行连接时,其方法是随意的,可以是线或方式、程控电子开关方式,或者是二者的结合,这就是说,设备驱动程序对于中断共享事先无法作出任何假定。

6、其它可选信号

1)高速缓存支持信号

为了使具有可缓存功能的PCI存储器能够和写穿式(Write-through)或者回写式(Write-back)的Cache相配合工作,可缓存的PCI存储器应该能实现两条高速缓存(Cache)支持信号作为输入。如果可缓存的存储器位于PCI总线上。那么,连接回写式Cache和PCI的桥要能够将这对信号作为输出,而连接写穿式Cache的桥只需要实现一个信号。上述的两个信号的定义如下:

SBO#:试探返回信号。当该信号有效时,表示命中了一个修改过的行。当该信号无效时,而SDONE信号有效时,表示有一个“干净”的试探效果。

SDONE:监听完成信号。用来表示当前监听的状态,该信号无效时,表明监听仍在进行,否则,表明监听已经完成。

2)64位总线扩展信号

必须注意的是,如果要进行64位扩展,一下信号都要使用。

AD[63..32]:扩展的32位地址和数据复用线。再地址期(如果使用了DAC命令且REQ64#有效时)这32条线上含有64位地址的高32位,否则,它们时保留的;在数据期,当REQ64#和ACK64#同时有效时,这32条线上含有高32位数据。

C/BE[7..4]#:总线命令和字节使能多路复用信号线。在数据期,若REQ64#和ACK64#同时有效时,该四条线上传输的是表示数据线上哪些字节是有意义的字节使能信号。在地址期里,如果使用了DAC命令且REQ64#信号有效,则表明C/BE[7..4]上传输的是总线命令,否则这些位是保留的且不确定。

REQ64#:64位传输请求。该信号是由当前主设备驱动,并表示本设备要求采用64位通路传输数据。它与FRAME#有相同的时序。

ACK64#:64位传输认可。表明从设备将用64位传输。此信号由从设备驱动,并且和DEVSEL#具有相同的时序。

PAR64:奇偶双字节校验,是AD[64..32]和C/BE[7..4]的检验位。当REQ64#有效且C/BE[3..0]#上是DAC命令时,PAR64将在初始地址期之后的一个时钟周期内有效,并在DAC命令的第二地址期过后的一个时钟处失效。当REQ64#和ACK64#同时有效时,PAR64在各数据期内稳定有效,并且在IRDY#或TRDY#发出后的一个时钟处失效。PAR64信号一旦有效,将保持到数据期完成之后的一个时钟周期处。该信号与AD[63..32]的时序相同,但拖后一个时钟周期,对于主设备是为了地址和写数据而发PAR64,从设备是为了读数据而发PAR64。

一、PCI总线信号定义相关推荐

  1. pci总线定时协议_PCI总线标准协议(中文版)

    8.4.2 PCI 总线信号定义 在一个 PCI 应用系统中,如果某设备取得了总线控制权,就称其为 " 主设备 " :而被主设备选中以进行 通信的设备称为 " 从设备 & ...

  2. PCI总线特性及信号说明

    PCI:Peripheral Component Interconnect,外围设备互联总线,是一种局部总线,已成为局部总线的新标准,广泛用于当前高档微机.工作站,以及便携式微机.主要用于连接显示卡. ...

  3. pci总线定时协议_PCI总线标准及协议

    首先?PAGENUM (PhysAddress).另外.因为硬件设备读写的是物理内存.举例如下.专用芯片可以实现完整的PCI主设备与从设备模式的接口功能? VPICD_Physically_Unmas ...

  4. PCI总线的基础知识快速学习(一)(适合新手)

    本系列文章仅介绍在FPGA设计中我们一般需要了解的PCI知识点,完整的PCI协议远比本系列文章介绍的复杂,所以本系列适合新手快速学习,让不了解PCI的初学者对PCI有个概念,进而学习PCIe,如果我们 ...

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

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

  6. PCI——第3章——PCI 总线的数据交换

    摘要:PCI 总线的数据交换 前三章还是在讨论PCI的东西,基本了解了PCI之后,再进入后面PCIE的深入学习. 目录 第 3 章 PCI 总线的数据交换 3. 1 PCI 设备 BAR 空间的初始化 ...

  7. PCI总线体系结构概述

    §1.PCI总线体系结构概述  PCI总线体系结构是一种层次式的(Hierarchical)体系结构.在这种层次式体系结构中,PCI桥设备占据着重要的地位,它将父总线与子总线连接在一起,从而使整个系统 ...

  8. Linux PCI总线-PCI空间

    Linux PCI总线-PCI空间 2. PCI 总线地址空间映射 2.1 X86平台地址空间映射 2.2 龙芯平台地址空间映射 2.3 X86配置空间寄存器 2.4 龙芯平台配置空间寄存器 3. P ...

  9. PCIE总线-PCI、PCIE关系及信号定义

    PCI(Peripheral Component Interconnect)总线规范在上世纪九十年代由Intel提出.在处理器体系结构中,PCI总线属于局部总线(Local Bus).局部总线作为系统 ...

最新文章

  1. ASP.NET MVC – 模型简介
  2. mysql 测试快生产慢_生产上MySQL慢查询优化实战,SQL优化实战
  3. PMP读书笔记(第13章)
  4. Mybatis批量删除
  5. 我对骨骼动画的理解(最精减的骨骼动画类)
  6. JavaScript 模块化简述
  7. [原译]Lambda高手之路第二部分
  8. Failed to load VMMR0.r0 (VERR_SUPLIB_OWNER_NOT_ROOT)
  9. Sentinel 2(哨兵2)卫星遥感数据的波段和组合介绍
  10. 全国计算机二级考试vb考点,计算机二级考试VB考点:通用对话框控件
  11. Javascript --- 模板引擎
  12. opa847方波放大电路_用运算放大器获得三角波、正弦波、方波的简易实用电路
  13. OSChina 周日乱弹——幸福来的太突然
  14. 计算机毕业设计JAVA图书个性化推荐系统mybatis+源码+调试部署+系统+数据库+lw
  15. 【HighChart教程】编程语言详细程度的互动比较
  16. 百度爱采购开户及流程
  17. 网页编码与数据传递中的中文字符编码
  18. 十三、MySQL数据库
  19. 动网7.1 SP1得到后台密码得到WebShell
  20. DolphinScheduler技术分析(八)

热门文章

  1. 【基础教程】Python转义字符及用法
  2. [附源码]Python计算机毕业设计SSM旅游足迹分享系统(程序+LW)
  3. CAD缺少一个或多个SHX文件如何添加字库
  4. 关于Android官网打不开问题解决方案
  5. 设计模式之装饰者模式(包装模式)
  6. 线上线下融合 国美新零售全面升级用户消费体验
  7. 测试开发(社招):当当
  8. Linux大文件传输工具分享
  9. 为什么应该在uni-app项目里使用luch-request?
  10. Android指纹识别,兼容Android 6.0 - Android 11