8.4.2PCI总线信号定义在一个PCI应用系统中,如果某设备取得了总线控制权,就称其为主设备;而被主设备选中以进行通信的设备称为从设备或目标节点''。对于相应的接口信号线,通常分为必备的和可选的两大类,为了进行数据处理、寻址、接口控制、仲裁等系统功能,PCI接口要求作为目标的设备至少需要47条引脚,若作为主设备则需要49条引脚。下面对主设备与目标设备综合考虑,并按功能分组将这些信号表示在图8.19中。其中,必要的引脚在左边,任选的引脚在右边。一.信号类型说明图8.19PCI引脚示图为了叙述方便,将PCI信号按数传方向及驱动特性划分为五种类型,各种类型的规定如下:in:输入信号。out:输出驱动信号。t/s:表示双向三态输入/输出驱动信号。s/t/s:持续三态(SustainedTri-State),表示持续的并且低电平有效的三态信号。在某一时刻只能属于一个主设备并被其驱动。这种信号从有效变为浮空(高阻状态)之前必须保证使其具有至少一个时钟周期的高电平状态。另一主设备要想驱动它,至少要等到该信号的原有驱动者将其释放(变为三态)一个时钟周期之后才能开始。同时,如果此信号处于持续的非驱动状态时,在有新的主设备驱动它之前应采取上拉措施,并且该措施必须由中央资源提供。o/d:漏极开路(OpenDrain)可作线或形势允许多个设备共同使用,二.PCI总线信号定义PCI总线的信号线共有100根,下面按功能分组进行说明。1/4ページ微型计算机原理2006-11-24.系统引线CLKin:时钟输入,为所有PCI上的接口传送提供时序。其最高频率可达66MHz,最低频率一般为0(DC),这一频率也称为PCI的工作频率。对于PCI的其他信号,除、、、之外,其余信号都在CLK的上升沿有效(或采样)。in:复位,用来使PCI专用的特性寄存器和定时器相关的信号恢复规定的初始状况。每当复位时,PCI的全部输出信号一般都应驱动到第三态。2.地址和数据引线AD0~AD31t/s:地址、数据多路复用的输入/输出信号。在有效时,是地址周期;在和同时有效时,是数据周期。一个PCI总线的传输中包含了一个地址信号周期和一个(或多个)数据周期。PCI总线支持突发方式的读写功能。地址周期为一个时钟周期,在该周期中AD0~AD31线上含有一个32位的物理地址。对于I/O操作,它是一个字节地址;若是存储器操作和配置操作,则是双字地址。在数据周期,AD0~AD7为最低字节,AD24~AD31为最高字节。当有效时,表示写数据稳定有效,有效表示读数据稳定有效。~3t/s:总线命令和字节使能多路复用信号线。在地址周期内,这四条线上传输的是总线命令;在数据周期内,传输的是字节使能信号,用来表示在整个数据期中,AD0~AD31上哪些字节为有效数据。3.接口控制信号s/t/s:帧周期信号。由当前主设备驱动,表示一次访问的开始和持续时间。无效时,是传输的最后一个数据周期。s/t/s:主设备准备好信号。该信号有效表明发起本次传输的设备(主设备)能够完成一个数据期。它要与配合使用,当这两者同时有效时,才能进行完整的数据传输,否则即为等待周期。在写周期,该信号有效时,表示有效的数据信号已在AD0~AD31中建立;在读周期,该信号有效时,表示主设备已做好接收数据的准备。s/t/s:从设备准备好信号。该信号有效表示从设备已做好完成当前数据传输的准备工作,此时可进行相应的数据传输。同样,该信号要与配合使用,这两者同时有效数据才能进行完整传输。在写周期内该信号有效表示从设备已做好了接收数据的准备。在读周期内,该信号有效表示有效数据已被送入AD0~AD31中,同理,和的任何一个无效时都为等待周期。s/t/s:停止数据传送信号,该信号由从设备发出。当它有效时,表示从设备请求主设备终止当前的数据传送。s/t/s:锁定信号。是由PCI总线上发起数据传输的设备控制的,如果有几个不同的设备在使用总线,但对信号的控制权只属于一个主设备(由信号标定)。当信号有效时,表示驱动它的设备所进行的操作可能需要多个传输才能完成,如果对某一设备具有可执行的存储器,那么它必须能实现锁定,以便实现主设备对该存储器的完全独占性访问。对于支持锁定的目标设备,必须能提供一个互斥访问块,且该块不能小于16个字节。连接系统存储器的主桥路也必须使用。IDSELin:初始化设备选择信号。在参数配置读写传输期间,用作片选信号。s/t/s:设备选择信号,由从设备驱动,该信号有效时,表示驱动它的设备已成为当前访问的从设备。它有效表明总线上的某一设备已被选中。4.仲裁信号t/s:总线请求信号。该信号一旦有效即表示驱动它的设备要求使用总线。它是一个点到点的信号线,任何主设备都应有自己的信号。t/s:总线允许信号。用来向申请占用总线的设备表示其请求已获批准。这也是一个点到点的2/4ページ微型计算机原理2006-11-24信号线,任何主设备都应有自己的信号。5.错误报告信号为了能使数据可靠、完整地传输,PCI局部总线标准要求所有挂于其上的设备都应具有错误报告线。s/t/s:数据奇偶校验错误报告信号,但是该信号不报告特殊周期中的数据奇偶错。一个设备只有在响应设备选择信号和完成数据期之后,才能报告一个。对于每个数据接收设备,如果发现数据有错误,就应在数据收到后的两个时钟周期将激活。该信号的持续时间与数据期的多少有关,如果是一个数据期,则最小持续时间为一个时钟周期;若是一连串的数据期并且每个数据期都有错,那么的持续时间将多于一个时钟周期。由于该信号是持续的三态信号,所以该信号在释放前必须先驱动为高电平。另外,对数据奇偶错的报告不能丢失也不能推迟。o/d:系统错误报告信号。该信号用于报告地址奇偶错,特殊命令序列中的数据奇偶错,以及其他可能引起灾难性后果的系统错误。是漏极开路信号,由返遣错误的单元驱动,在一个PCI时钟内有效。信号的发出和时钟同步,因而满足总线上所有其他信号的建立时间和保持时间的要求。6.中断信号中断在PCI总线上是可选用的,低电平有效,用漏极开路方式驱动。同时,此类信号的建立和撤销是与时钟不同步的。PCI为每一个单功能设备定义一根中断线。对于多功能设备或连接器,最多可有4条中断线。对于单功能设备,只能使用,其余3条中断线无意义。PCI局部总线有四条中断线,定义如下:o/d:中断A,用于请求一次中断。o/d:中断B,用于请求一次中断并只在多功能设备上有意义。o/d:中断C,功能同中断B。o/d:中断D,功能同中断B。多功能设备上的任何一种功能都能连到任何一条中断线上。中断寄存器决定该功能用哪一条中断线去请求中断。如果一个设备只用一条中断线,则这条中断线就称为INTA,如果该设备用了两条中断线,那么它们就称为INTA和INTB,依此类推。对于多功能设备,可以是所有功能用一条中断线,也可以是每种功能有自己的一条中断线,还可以是上两种情况的综合,一个单功能设备不能用一条以上的中断线去申请中断。系统供应商在对PCI连接器的各个中断信号和中断控制器进行连接时,其方法是随意的,可以是线或方式、程控电子开关方式,或者是二者的组合,这就是说,设备驱动程序对于中断共享事先无法作出任何假定,即它必须能够给任何逻辑设备提供中断。7.高速缓存(Cache)支持信号为了使具有可缓存功能的PCI存储器能够和贯穿写(Write-Through)或回写(Write-Back)的Cache相配合工作,可缓存的PCI存储器应该能实现两条高速缓存支持信号作为输入。如果可缓存的存储器位于PCI总线上,那么连接回写式Cache和PCI的桥路必须要利用两条引脚,且作为输出,而连接贯穿写式Cache的桥只需要实现一个信号。上述两个信号的定义如下:in/out:双向试探返回信号(SnoopBackoff)。当其有效时,说明对某修改行的一次命中,所访问的数据为无效数据。当无效而SDONE有效时,说明PCI发起方正在访问存储器的有效行并可进行高速缓存的操作。SDONEin/out:监听完成信号(SnoopDone),表明对处理器Cache对主存的监听状态。当其无效时,说明监听仍在进行,否则表示监听已经完成。8.64位总线扩展信号如果要进行64位扩展,以下信号都要使用。3/4ページ微型计算机原理2006-11-24~AD63t/s:扩展的32位地址和数据多路复用线,在地址周期(如果使用了双地址周期DAC命令且有效时)这32条线上含有64位地址的高32位,否则它们是保留的;在数据周期,当和同时有效时,这32条线上含有高32位数据。~7t/s:总线命令和字节使能多路复用信号线。在数据周期,若和同时有效时,该4条线上传输的是表示数据线上哪些字节是有意义的字节使能信号。如对应第4个字节,对应第5个字节。在地址周期内,如果使用了DAC命令且信号有效,则表明~7上传输的是总线命令,否则这些位是保留的且不确定。s/t/s:64位传输请求。该信号由当前主设备驱动,表示本设备要求采用64位通路传输数据。它与有相同的时序。s/t/s:64位传输认可。表明从设备将用64位传输。此信号由从设备驱动,并且和具有相同的时序。PAR64t/s:奇偶双字节校验。是AD32~AD63和~7的校验位。当有效且~3上是DAC命令时,PAR64将在初始地址周期之后一个时钟周期有效,并在DAC命令的第二个地址周期后的一个时钟周期失效。当和同时有效时,PAR64在备数据期内稳定有效,并且在或发出后的第一个时钟处失效。PAR64信号一旦有效,将保持到数据周期完成之后的一个时钟周期。该信号与AD32~AD63的时序相同,但延迟一个时钟周期。该信号线在任何给定的总线周期内应保证连同AD32~AD63和~7在内的所有信号线上的“1”的个数为偶数(偶校验)或者为奇数(奇校验)。在发送时产生而在接收时进行校验。4/4ページ微型计算机原理2006-11-24总线的操作※总线命令※命令使用规则※PCI总线协议※PCI总线的数据传输过程一.总线命令总线命令是由主设备发向从设备,其作用是规定主、从设备之间的传输类型,它出现于地址周期的3上。这里的主设备是指通过仲裁而获得总线控制权的设备;从设备是指由:~3上命令及AD0~A上的地址所选中的目标设备。表8.1给出了总线编码及类型说明。其中,命令编码中的1表示高电平,0表示低电平。1.中断应答命令中断应答命令是一个读命令,执行主设备从申请中断的从设备中读回中断矢量的操作。2.特殊周期命令该命令为PCI总线提供了一个简单的信息广播机制,通报处理器的状态或在各个从设备之间传递信息。表8.1总线命令表3.I/O读命令该命令用来从一个映射到I/O地址空间的设备中读取数据。4.1/O写命令该命令用来向一个映射到1/O地址空间的设备写入数据。5.保留命令1/5ページ微型计算机原理2006-11-24保留命令编码留作将来使用。PCI的任何设备都不能将它们挪作它用,任何设备也不允许对保留命令出反应。6.存储器读命令该命令用来从一个映射到存储器地址空间的设备读取数据。7.存储器写命令该命令用来向一个映射到存储器空间的设备写入数据。8.配置读命令该命令用来从每个设备的配置空间读取数据。9.配置写命令该命令向每个设备的配置空间写入数