第3章:反射波转换简介
每条电路都是一条传送线
见下图(3-1),考虑下面的情况:一条信号线由驱动器提供信号,并连接沿信号线分布的许多设备输入。过去,为了确定所用驱动器的强度,系统设计者会忽略信号线本身的电气特性而仅考虑连接在信号线上设备的电气特性的影响。当系统时钟频率在1MHZ范围内时,这一方法是可以接受的。设计者将信号线上每个输入的电容相加,作为总电容,并用以选择驱动器驱动电流的能力。在像PCI这样的高频环境中,信号线必须以25MHZ以上频率转换状态。在这一总线速度下,信号线作为传送线,它的电气特性是选择输出驱动器特性方程中必不可少的一项。
传送线在信号线上驱动器驱动电压变化时会出现阻抗,并且在沿信号线传送电压变化时也会加强时间延迟。信号线的阻抗一般从50到100欧姆。信号线的宽度和到地层的距离是影响其阻抗的主要因素。靠近接地层的宽信号线电容更大,其阻抗接近50欧姆;远离接地层的窄信号线电感更大,其阻抗接近110欧姆。连接在信号线上的每个设备输入本质上是电容性的,这对降低信号线提供给驱动器的总阻抗有影响。
(2007-12-2)
老方法:入射波转换
上图(3-1)所示,第一个位置的驱动器必须驱动信号线从逻辑高电平到低电平。假设设计者选择强输出驱动器能够在入射点(开始驱动之处)驱动信号线从高到低,这就称为入射波转换。当波前端沿信号线(向设备10)传递,它通过的每个设备都检测到逻辑低电平。信号线上所有输入都转换到低电平所需时间就是信号沿电路传递到终点的时间。因为所有的设备输入都以可能的最快速度转换(信号线的一次传递),这似乎是最好的方法。
但是,这种方法也有负面影响。前面提到,信号线上每个输入的电容积累降低了信号线的总阻抗。典型的总阻抗约为30欧姆。当5V设备开始驱动信号总线时,驱动器内部阻抗和驱动信号线阻抗之间产生分压。假设20欧姆驱动器驱动30欧姆信号线,那么驱动器内将会产生2V压降,而3V入射电压沿信号线传递出去。由于电流等于电压除以电阻,驱动器的电流等于2V除以20欧姆为100mA.
如果仅考虑一条信号线,这还不会产生问题。但是,一个设备驱动器必须同时驱动32条地址信号线,4条命令线和4条其他信号线。这是32总线结构的典型情况。假设所有的驱动器是在一个驱动器封装中,该封装必须提供4A瞬时电流(约为1ns时间),这个电流浪涌就会带来很多问题:
■ 极难解藕;
■ 在内部接线引起尖峰;
■ 增大EMI;
■ 引起封装内部与外部的交叉干扰。
这就是一个封装最多含有8个强驱动器的原因。另外20欧姆输出驱动器占用相当大的硅片面积并且在高频是相当热。
当信号波前端到达信号线物理终点时(图3-1中设备10),还产生另一副作用。如果设计者在信号线终点没有端接电阻(PCI不端接),信号线端点对于信号是一个很大的阻抗。由于信号不能通过,就掉头沿信号线反射回来。在波前端的回程中,信号线上的每个设备输入和发出波前端的驱动器都看到加倍的电压变化。当采用入射波驱动器时,信号线上驱动的高电压增加一倍。为了在信号线物理终点处吸收信号,系统设计者经常使用端接电阻。
入射波转换的使用消耗了大量的电源,违反了PCI总线的“绿色”特性。
PCI方法:反射波转换
上图(3-1)和下图(3-2)所示,PCI总线不端接而且利用波前端的反射。采用经过仔细选择、相对弱的输出驱动器,部分地驱动信号线到希望的逻辑状态(如图3-2中A点所示)。驱动器仅部分驱动信号线到达最后状态,而不是驱动全部(不像强入射波驱动器那样),在到达时钟的下一个上升沿前,信号线上的输入不会采样信号。
当波前端到达总线未端接的端点时,它反射回来而且幅度加倍(见图3-2中B点)。在波前端沿信号线的回程中再次通过每个设备输入,每个设备的输入就寄存一个有效的逻辑电平。信号直到PCI时钟的下一个上升沿才被采样(图3-2中C点)。最后,波前端被驱动器内的低阻抗所吸收。这一方法是驱动器尺寸和浪涌电流减半。共有三个定时参数与PCI信号时序有关:
■ TvalPCI设备总是在PCI时钟的上升沿开始驱动信号,Tval是输出驱动器将信号向其最后逻辑状态驱动一步所需时间。驱动器必须保证其输出电压达到某个规定电平(5VDC Vest或转换电平3.3VDC Vstep),从而保证在时钟的下一个上升沿接收器检测到有效逻辑电平。
■ Tprop(传递延迟)波前端传递到信号线另一端点,反射(电压摆幅加倍)并传递回来所需时间。
■ Tsu(建立时间)在时钟的下一个上升沿之前(所有接收设备采样其输入),信号在所有输入上都必须稳定在最后状态所需的最短时间。REQ#和GNT#信号(这些是点到点信号,其他信号则是设备间的总线信号)的建立时间,如图所示是不相同的:REQ#的建立时间是12ns,GNT#的建立时间是10ns,其他输入信号的建立时间是7ns.
■ Th(保持时间)信号在采样点后(即时钟上升沿)必须保持其当前逻辑状态的一段时间。PCI信号的保持时间规定为0ns。下图3-2,3-3没有表示出这个参数。
在许多系统中,PCI总线的正常操作依赖于嵌套在设备中的二极管,以限制其信号反射,并满足规定的传递延迟。如果一个系统有很长的信号线却未连接PCI器件(例如一列未插卡插入式连接器),就可能需要在总线的那个端点添加二极管终端负载以保证信号质量。
PCI规范指出,设备只能在PCI时钟信号的上升沿采样它们的输入。PCI总线信号线的物理布局,对保证信号在指定时限内传递是非常重要的。当驱动器有效或无效一个信号时,波前端必须传递到总线的物理端点,在PCI时钟下一个上升沿信号被采样前向回反射,并通过全程回归总线。对于33MHZ总线,传递延迟规定为10ns,但可以通过减少元件间的时间间隔从而将传递延迟增加到11ns。规范包含信号线长度和电气特性的完整描述。
时钟信号(CLK)
如图3-4,CLK周期时间的最小值是30ns(33MHZ时,66MHZ时为15ns)。两个PCI器件的CLK引脚上测得的最大时间间隔是2ns(66MHZ时为1ns)。只要时钟边沿保持清晰并且未违反T_cyc、T_high、和T_low最小值,时钟频率就能改变。时钟可以停止,但只是低电平状态。
在其时钟频率是33.33MHZ和66.66MHZ之间的PCI总线上,时钟频率改变之前,必须有效PCI RST#信号。
复位(RST#)和64位请求(REA64#)信号时序
RST#的有效与无效和PCI时钟信号是异步的。如果需要,可以实现同步复位。在电源稳定后,RST#必须保持至少1ms;在CLK稳定后,RST#必须保持有效至少100ns。当RST#有效时,所有设备必须在最大40ns内上输出驱动器漂移。
在RST#有效期间,系统板复位逻辑必须有效REQ64#至少10个时钟周期。在RST#无效后,REQ64#可以保持最多50ns。
减慢失重可以增加总线长度
如果系统板设计者选择以低于33MHZ速度运行PCI时钟,总线的物理特性可能改变,仍能达到正确的操作(例如更多的负载,更多的连接器,运行更长的信号线)。