我们之所以需要速度更快的总线,原因有很多:更快的处理器、更快及容量更大的磁盘驱动器以及由这些驱动器所组成的磁盘阵列、更快的显示适配器、更快的以太网与光纤数据通信以及更快的存储器阵列等。
现代IC处理可产生比以往任何时候都要快的逻辑,但更快的逻辑还不足以形成更快的总线。总线架构师必须处理总线电容,由不同走线长度所导致的信号偏移,不可预测的总线负载以及系统总容差等。此外,总线速度增加还会导致电压摆幅减小,所有这一切都与总线收发器电源(称为I/O电源或VIO)密切相关。要想从现代总线上获得最佳性能,就必须仔细设计这种电源。
PCI总线的最大长处是允许向后兼容。PCI特别兴趣组 (SIG) 提出以下建议,即:允许新板与旧板共用同一插槽。传统PCI板与PCI-X 1.0(亦称为模式-1)板要求使用3.3V VIO,而PCI-X 2.0 266MHz 及 533MHz(亦称为模式-2)板则要求使用1.5V VIO。如果将3.3V运用于模式-2板,则该板肯定会损坏。而如果将1.5V运用于传统PCI或模式-1板,则该板将没有足够的驱动以在总线上产生逻辑“1”信号。
最初的PCI标准允许5V及3.3V卡通过在卡边缘连接器上使用特殊切断与按键来共处。但切断与按键解决方案不能提供向后兼容性。相反,PCI-X 2.0则采用从现代高性能微处理器上假借来的技术,即:逻辑可选电压。
PCI系统通过用系统板上的A/D转换器测量适配卡连接器PCIXCAP的PCI-X终端上的电压来决定适配卡的速度,传统PCI卡将PCIXCAP接地,因此这样可以通知插槽控制器将总线速度限制在33MHz上。PCI-X 66MHz卡在PCIXCAP上有一个10K 的下拉电阻,使PCI-X在66MHz速度上工作。PCI-X 133MHz卡使PCIXCAP处于浮动状态,故可在133MHz速度上工作。
该技术的另一优势是可通过一条共用PCIXCAP线上的电压来对整个总线进行编程。如果插入到总线上的任何卡使PCIXCAP接地,则整个总线速度将降至33MHz。如果PCIXCAP浮动为高,则所有插入的卡均必须为PCI-X 133MHz卡,从而能在133MHz速度上工作。如果其中一或两个卡使用10K 电阻下拉PCIXCAP,则PCIXCAP上的电压将低于其浮动时的电压,但仍会高于接地时的电压,此时总线会在PCI-X 66MHz上工作。
PCI-X 2.0通过定义两个新的下拉电阻而扩展了这种技术:3.16K 电阻用于支持PCI-X 266MHz,1.02K 电阻用于支持PCI-X 533MHz,总共可支持5种不同工作速度。根据来自PCIXCAP A/D转换器的信息,系统可确定总线速度和VIO。
实现266MHz 64位插槽还有其他一些挑战。桥技术具有足够快的速度,因此一个桥最多可支持6个32位66MHz PCI插槽。对于64位133MHz PCI-X 1.0总线而言,一个桥只能处理两个插槽。在266MHz和更高速度情况下,桥和插槽之间的高数据速率要求在桥和插槽之间有一个单独和直接的连接。
PCI VIO 规范
在I/O电源电压为3.3V或5V且数据速率较低的情况下,即使电源电压有一些变化,低输出电压和高输出电压也足以满足TTL电平指标。但当将VIO设置为1.5V,并将数据速率增加到266MHz或更高速率时,信号摆幅将会减少且设置时间变得更为关键。
用于VIO的不同电源电压的PCI规范如表1。
表1:(略)
对于PCI-X模式1工作,插槽与桥之间的3.3V VIO匹配要求为 100mV,这意味着桥芯片VIO上的电压必须处于该插槽的VIO的100mV范围以内。这将允许检流电阻、单独的电源开关FET与走线上压降有足够大的容差。但对于1.5V工作,插槽与桥之间只允许有 15mV的偏差,因此保持插槽VIO和桥VIO之间紧密匹配的唯一可行策略是,插槽与桥采用相同的馈电并使用一根短而粗的导线来连接这两个点。
这样做会带来许多新的要求。桥芯片必须允许接通或切断VIO,且允许VIO在3.3V与1.5V之间切换。当提供插槽负载(可达1.5A)及桥芯片负载(根据桥芯片,最大可超过1.5A)时,电源选择开关上的压降必须小于 75mV。
VIO实现
一些系统拥有可为模式-2桥和PCI-X插槽提供VIO的1.5V的电源面。在这些系统中,如果遵循以下几个特别注意事项,则可采用“开关连接”:
(1)通过一根宽而短的走线将VIO连线到桥;
(2)为1.5V电源面规定一个稍高些的电压;
(3)采用极低导通电阻电源FET和检流器件;
(4)在“分块串行连接”中使用两个开关FET将1.5V电源面连接到桥和插槽,使得当关断FET时,无论插槽电压为0V还是3.3V,都没有电流可通过FET的体二极管从插槽流至1.5V电源面。
“开关连接”的一种实用替代方法是由1.8V电源来为模式-2插槽和桥VIO供电,并使用一个低压降线性调整器将1.8V降低为恰好1.5V。在此可选方法中,可使用成本更低的FET,并且走线更加宽松。这可用一个低压差调整器 (LDO) IC(如UC382-1)或用图1所示的TPS2342热插拔电源控制器来实现。这里,功率FET起到多种作用:电源选择器、调整器,并且还可以为热插拔断开插槽电源。
图1是一种基于TPS2342 PCI-X 2.0热插拔控制器、采用1.8V和3.3V电源的实用VIO选择系统。Q2和Q3由一个放大器驱动,并且当总线以模式2工作时将+1.8V电源下调至1.5V。
图1 (略)
从插槽VIO到集成电路15VIS终端的连接非常重要,且具有电流检测和电压调整检测双重功能,因此必须对此连接仔细地布线。
如果不能容易地得到电压电源,则可以用一个可编程开关调整器(如PTH05000 VRM,它接受+12V输入电压并输出3.3V或1.5V)或用一个开关调整器IC(如TPS54310 SWIFT“带集成FET的转换开关”)来提供VIO。
热插拔
PCI和PCI-X可以在所有平台、笔记本电脑、台式机、服务器及工业系统上使用。笔记本电脑和台式计算机利用PCI作为内部数据总线,但须靠USB、Firewire、PCMCIA、Cardbus及Expresscard连接至外部设备上。每种总线都拥有其各自用于电源管理和设备重连接或“热切换”的协议。
也可以将PCI及PCI-X配置成无需关闭系统即可撤除设备,即所谓的“热插拔”。热插拔对于确保服务器等高可用性系统在不中断系统工作的前提下完成服务至关重要。PCI热插拔的完全实现还包括系统驱动程序及相关硬件。
PCI热插拔插槽使用与传统PCI插槽一样的连接器,并且还包括一个板互锁开关、一个板服务请求按键标准的板状态指示灯。一个称为标准热插拔控制器 (SHPC) 的芯片负责管理和控制电路板。SHPC监视插槽开关、控制插槽电源通/断、启用或禁用总线切换、将数据从断电的插槽传输出去,以及管理插槽指示灯状态。一个称为热插拔电源控制器 (HPPC) 的电源管理IC负责插槽电源的切换。
HPPC可包含各种电源和模拟功能,如消除和缓冲插槽切换的抖动,确定插入板的类型,为插槽选择合适的VIO,将+12V、+5V、+3.3V、Vaux和 12V电源切换给插槽,驱动插槽总线开关以及驱动插槽指示灯等。HPPC还为每个插槽电源提供电流限制,因此可避免有缺陷的插板使底板电源过载或下降。
利用TPS2363热插拔电源控制器,还可将PCI-Express配置成热插拔。TPS2363 HPPC能给两个插槽切换Vaux、+3.3V和+12V主电源,监视两个插槽的互锁状况与两个插槽的服务请求开关,并当有任何电源轨过载时通过立即断开插槽来保持电源的完整性。
实用问题
现代逻辑电路的开关时间可小于500ps,并从电源轨上拽取很高的浪涌电流。实用限流电路必须能在需要时提供高电流浪涌,并当插槽电流持续处于危险电平时快速切断插槽。否则,插槽浪涌将可能引起底板电压跌落而干扰底板上其他器件(设备)的正常工作。
检流元件及走线的布局也非常关键。图2给出了一种将检流电阻与HPPM连接的较好实用方法。
图2 (略)
图2是用“开尔文”连接将检流电阻与检流电路相连,这样电路板走线中的高电流不至于引起不希望的额外压降。本示意图显示两种较好的“开尔文”连接。检流电路板走线必须平行、间隔很近且长度相等,以抑制来自相邻高电流走线的磁耦合。检流电阻必须选择为具有低串联电感,以避免出现虚假电流故障。应避免使用含有钴、镍或铁元素的电阻。
此外,可以在IC上提供一个从3VS到3VIS的陶瓷电容。如果出现虚假限流故障,则可插入该元件,作为一种用于降噪的附加措施。
对于密度最高的电路板布局,可选择采用(可置于PCI连接器之间的)高密度内联电源封装的IC 。例如,TPS2343即采用80引脚TVSOP封装,其引脚顶端处的宽度小于8.5mm。
未来发展趋势
在使用传统并行总线的同时,串行总线开始在现代系统中出现。在可预见的将来,这两类总线将共存。串行总线由于不受数据路径偏斜的限制,故使走线与连接器设计更加灵活。此外,串行总线所需的连接器引脚数更少,因此能更加紧凑。但电源走线与电源完整性对串行总线来说仍很关键。
在半导体技术将更多功能集成到更廉价IC中的同时,连接器与其他机械组件却变得相对昂贵。今天,行业正处于串行与并行总线的十字路口。PCI-Express的成本目前已能与PCI-X的成本相比拟,且很快还会下降。但直至今日,低成本、向后兼容性以及易实现性等优点,都意味着PCI、PCI-X 1.0及PCI-X 2.0仍将伴随我们一段相当长的时间。