PCI系统结构(第四版) 第4章 之二

上一篇 / 下一篇  2007-12-14 15:44:50 / 个人分类:读书笔记

情况1:在时钟停止(放慢)后,为了请求使用总线,一个主设备(或多个主设备)会要求时钟重新启动,在发出总线请求之前,主设备(或多个主设备)必须首先请求时钟重启,这是通过将CLKRUN#有效来实现的。当时钟发生逻辑检测到其他设备使CLKRUN#有效时,在PCI CLK信号的两个上升沿,它会开启(或加速)时钟并且打开它的CLKRUN#输出驱动器,以使CLKRUN#有效。当主设备检测到CLKRUN#有效,然后主设备使CLKRUN#输出驱动器为三态。

    情况2:当时钟发生逻辑使CLKRUN#无效时,表明它将停止(放慢)时钟,时钟必须继续运行至少4个时钟周期,在此期间,请求连续的时钟操作的一个目标(或主设备)(例如,在完成一个交易后,为了执行内部维护)会使CLKRUN#再次有效2PCI时钟周期,以请求连续产生CLK。当时钟发生逻辑采样到CLKRUN#重新有效时,它会再次使CLKRUN#有效且连续产生时钟(而不是停止或放慢)。规范没有定义在请求连续操作之后时钟将继续运行的时限。作者认为此时限是系统设计而定的。

 

    在插卡中利用CLKRUN#

    上面提到过,在通常的PCI插入式连接器上没有定义CLKRUN#引脚,使用下面的方式,可获得相同的基本功能。在总线空闲期间,芯片组可降低PCI CLK频率到1MHZ,然后芯片组监视总线主设备请求信号(REQ#)和PCI中断电路,如果总线请求或中断请求被检测到,将CLK恢复到最高速度。

   

    复位信号(RST#

    在有效状态下,复位信号会将所有的PCI配置寄存器、主设备和目标状态机,以及输出驱动器重置为初试状态,RST#可以在PCI CLK边设异步地址为有效或无效。有效的RST#也可初始化其他设备功能,但这部分内容不属该书范围内,所有PCI输出信号必须置为良好状态,通常这就意味着信号一定为三态,除非是下列情况:

     SERR#是漂移的;

     如果SBO#SDONE信号不为三态(注意这些信号在2.2版规范中删除了),他们将被驱动为低电平;

     在复位期间,为了防止AD总线、C/BE总线和PAR信号漂移,他们必须由中央资源驱动为低电平。

 

地址/数据总线、命令总线和字节使能

    PCI总线使用时分复用地址/数据总线,一个交易的地址段中包含:

     AD总线:AD[310] 加载起始地址,这个地址在存储器或配置交易中是分为4字节的双字,或在I/O读或写交易中是一个字节地址。

     命令或字节使能总线:C/BE[30]  定义了交易类型;

     奇偶校验信号:PAR 在地址段完成后一个时钟周期,或者在写交易的每个数据段中IRDY#有效之后一个时钟周期,主设备驱动奇偶校验信号PAR,在读交易的每个数据段中TRDY#有效后一个时钟周期,当前寻址目标也驱动奇偶校验信号PAR。在完成地址段之后的一个时钟,主设备驱动PAR信号产生高电平或低电平,确保奇偶校验通过了地址总线AD[310]4个命令/字节使能线C/BE[30]

在每个数据段中:

     数据总线AD[310],由主设备(在写交易中)或由当前寻址的目标(在读交易中)驱动。

     PAR是在每个数据段中在IRDY#有效(在写交易中)或TRDY#有效(在读交易中)之后的一个时钟,是由主设备(在写交易中)或当前寻址的目标(在读交易中)驱动的,并且用来确定奇偶校验通过AD[310]C/BE[30]。如果在数据段中没有使用全部4个数据通道,驱动总线的代理(在写交易中就是主设备或在读交易中就是目标设备)必须确定有效数据,驱动到所有数据通道(包括没有用于传输数据的数据通道),这是很有必要的,因为PAR必须反应奇偶校验通过了完整的ADC/BE总线。

     命令和字节使能总线,C/BE[30]:由主设备驱动该信号,指明当前寻址的双字中传送的字节和用于传送数据的数据通道。下表4-1列出了字节使能信号在数据通道和当前寻址双字中位置的映射关系,下表4-2定义了在每个数据段中字节使能信号的意义,字节使能的任何组合都认为是合理的,字节使能可以在数据段之间改变。

4-1  字节使能在数据通道和当前寻址的双字空间的映射

字节使能信号

 

C/BE3#

数据通道3AD[3124]和当前寻址双字的第4个位置。

C/BE2#

数据通道2AD[2316]和当前寻址双字的第3个位置。

C/BE1#

数据通道1AD[158]和当前寻址双字的第2个位置。

C/BE0#

数据通道0AD[70]和当前寻址双字的第1个位置。

 

4-2   在数据段字节使能的译码

C/BE[30]#

(二进制)

 

0000

主设备在当前寻址的双字中使用全部4个数据通道,传送所有4个字节。

0001

主设备在当前寻址的双字中使用上部3个数据通道,传送上部3个字节。

0010

主设备在当前寻址的双字中使用上部2个和第1个数据通道,传送上部2个字节和第1个字节。

0011

主设备在当前寻址的双字中使用上部2个数据通道,传送上部2个字节。

0100

主设备在当前寻址的双字中使用最上部和下部2个数据通道,传送最上部和下部2个字节。

0101

主设备在当前寻址的双字中使用第2和第4个数据通道,传送第2个和第4个字节。

0110

主设备在当前寻址的双字中使用第1和第4个数据通道,传送第1个和第4个字节。

0111

主设备在当前寻址的双字中使用中间2个数据通道,传送中间2个字节。

1000

主设备在当前寻址的双字中使用下部3个数据通道,传送下部3个字节。

1001

主设备在当前寻址的双字中使用中间2个数据通道,传送中间2个字节。

1010

主设备在当前寻址的双字中使用第1个第3个数据通道,传送第1个和第3个字节。

1011

主设备在当前寻址的双字中使用第3个数据通道,传送第3个字节。

1100

主设备在当前寻址的双字中使用下部2个数据通道,传送下部2个字节。

1101

主设备在当前寻址的双字中使用第2个数据通道,传送第2个字节。

1110

主设备在当前寻址的双字中使用第1个数据通道,传送第1个字节。

1111

主设备在当前寻址的双字中不使用任何数据通道,不传送任何4个字节,这是一个空数据段。

防止过大的电流泄露

    如果CMOS输入接收器的输入允许长时间是漂移的,接收器将会震荡,并产生过量电流,为了防止出现这个现象和保持PCI总线的绿色特性,提出以下几项规则:

    规则1:当总线空闲时以及没有总线主设备请求总线所有权时,无论总线仲裁器还是总线停放的主设备必须使能ADC/BEPAR输出驱动器,并且驱动这些信号线为稳定状态。

    规则2:在写交易的一个数据段中,主设备还不准备传送下一段数据字节时,它必须驱动AD总线为稳定状态。

    规则3:在读交易的一个数据段中,目标还不准备传送下一段数据字节时,它必须驱动AD总线为稳定状态。

    规则4:在一个64位卡插入32位扩展槽中,必须防止它的AD[6332]C/BE[74]PAR64输入接收器漂移。

 

交易控制信号

    4-3给出了用于控制PCI传送的每个信号的简要描述。

4-3  PCI接口控制信号

  

 主设备

 目标

 

FRAME#

IN/OUT

IN

周期帧信号由当前主设备驱动,指明交易的起始(当它第一次有效)和交易的持续时间(它有效的持续时间)。为确认已取得总线所有权,主设备必须在PCI CLK信号的相同上升沿采样FRAME#IRDY#都无效和GNT#有效。在当前主设备和当前寻址的目标之间,一个交易可包含一个或多个数据传送,当主设备准备完成最后一个数据段时,FRAME#为无效。

TRDY#

IN

OUT

目标准备信号由当前寻址目标驱动,当目标准备完成当前数据段(数据传送)时,此信号无效。在CLK信号的上升沿当目标有效TRDY#并且主设备有效IRDY#时,完成一个数据段。在读交易中,有效的TRDY#表明目标正在数据总线上驱动有效数据;在写交易中,有效的TRDY#表明目标正准备接收来自主设备的数据,在当前的数据段中插入等待状态,直到采样TRDY#IRDY#同时有效。

IRDY#

IN/OUT

IN

起动方准备信号由当前总线主设备驱动(交易的起动方)。在写交易中,有效的IRDY#表明主设备正准备接受来自当前寻址目标的数据,为了确定已取得总线所有权,主设备必须在相同的PCI CLK信号的上升沿,采样同时无效的FRAME#IRDY#以及有效的GNT#

STOP#

IN/OUT

IN

目标有效STOP#以表明它希望主设备在进程中停止交易。

IDSEL

N/A

IN

初始化设备选择信号PCI设备的输入,在访问一个设备的匹配寄存器时作为一个芯片选择。

LOCK#

FPGA/CPLD器件价格查询

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)