在线工博会

板卡接口的过去与现在,工业总线规格总汇
大原 雄介
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
用于系统中各种板卡间连接的总线种类繁多。如从过去广泛使用的VME派生出来的工业总线、连接主板和扩充卡的PCI-104,把用于板卡上芯片间高速连接的PCI类总线应用于板卡间的Compact PCI以及其扩展型等。本站将从今天起连载有关板卡间连接的各种总线特征和技术应用动态。
VME、VXS、VPX、VXI——从最初的标准出台历经20多年时光
过去,作为板卡间的连接总线被广泛采用的代表当属VME。VME是“Versa Module European”的缩写。其基础是美国摩托罗拉半导体公司(现在的飞思卡尔半导体公司)的“MC68000”处理器使用的Versa。VME在1986年被IEC标准化成“IEC821”,1987年又被IEEE制定成“IEEE1014-87”标准,具体内容可通过这两个标准化团体获得。另外也可以通过VME的普及团体“VITA(VME International Trade Associations)”购买*1。

(图片)

图1VME基本构造
VME由控制总线整体的总线仲裁器、实施发送数据的主方和接受数据的从方组成

VME的基本构造本身是比较简单的并行总线(图1)。协议也非常简单。其基本原理是:设置控制总线整体的总线仲裁器,当想传送据的设备(主方)向控制器发出请求并获得总线权限之后,就可以开始发送数据,传送对象(从方)开始接收数据。
VME有以下特点:
(1)数据传送采用非同步方式。因此,即使是访问速度不同的主/从设备混杂在一起,也可以进行通信。
(2)主方设备最多可以容许20个。多个主方设备同时发出传送请求时,用于进程调度的PRI(优先权)、RRS(循环选择)、SGL(单级)3种调整机构开始辅助工作。
(3)提供有7种中断请求级别(IRQ1~IRQ7)
可见,与PCI相比,可连接的设备要多得多。
而且,VME从最初的标准化以来,已经历经了20多年的时光,其间追加了许多功能。当初的VME设想的只是地址/数据合计最大32bit的规格(VME32),1994年扩展至64bit的规格(VME64)诞生。另外,还推出了追加支持SKYchannel/SCSA/M-Module/BusNet/CCPMC/Myrinet等对应系统化的扩展规格,以及支持Gbit Ethernet/PCI/PCIX/Infiniband/PCI Express/RapidIO等其它总线规格的扩展规格。可以说,已经逐步发展成为“什么都支持”的规格了。
之所以VME具有上述各种支持功能,原因就是VME与其说是单纯总线,倒不如说是具有在机箱中嵌入多个板卡、构成系统的系统底座(System Enclosure)特点。VME中使用的板卡原为单高度(VME A:100mm×160mm)和双高度(VME B:233.35mm ×160mm)2种尺寸。其根源是因为沿用了Eurocard的3U/6U规格。连接器的形状也采用了类似Eurocard的规定,端子数量富有余量,同时由于板卡尺寸也比较大,所以容易导入新技术。为此,可以说VME具备了系统底座的特点。
而且,由于支持VME的底架(chassis)广泛普及,已经成为事实上的标准,这一点也不容忽视。虽然面向个人电脑等家庭用途来说底架的尺寸稍大一些,但面向工厂和现场等的控制/测量设备或者实验室、计算机室等设备来说则底架尺寸适中。实际上,由于可以插接20枚VME板卡的底架可以原封不动地装入19英寸的机箱,使用起来非常方便。结果就出现了即便到现在仍有遵循VME总线的新产品不断被推出的现象。(未完待续,特约撰稿人大原 雄介)
*1 VITA的网站为http://www.vita.com/index.php
曾经的绝对主角,速度上相形见绌
虽说VME使用方便,但现在看来VME的性能也只是差强人意。尽管非同步传送在构造上确实很灵活,但要想提高性能却非常麻烦。虽然VME32的速度可以达到约40MB/秒,VME64为约80MB/秒,这一数值过去也许还能凑合,但现在却已经无法让人满意。各开发商很早也都注意到了这一问题,并采取了各种各样的改进措施。比如,后来就推出了VME320和VXS等高速规格。
上世纪九十年代前半期,被称为FutureBus+的VME后续规格被人们寄予厚望。该规格最早是被称作MultiBus/S-100Bus,在某种意义上类似VME的背板规格,其后续规格就是FutureBus。FutureBus后来被标准化为“IEEE896.1-1987”。FutureBus+就是在FutureBus的基础上由VITA等多家组织共同开发出来的。FutureBus+作为“IEEE896.2-1991”其基本部分首先实现了标准化,之后又增加了几项追加指标。VITA就是以FutureBus+为基础制订了VFEA(VME bus & FutureBus+ Extended Architecture)标准,但由于关键的FutureBus+应用因为多种原因陷于困境,VFEA也未能普及开来。
为此,VITA决定独自推广VME。首先在1997年,VITA演示了名为VME320的规格。它是以VME32为基础实现了320MB/秒速度的规格。以此为契机,名为VME 2eSST(双倍源同步传输,two-edge, source sunchronous data transfer)的规格正式出台。这种规格将数据传送改为同步传输,利用选通信号(Strobe Signal)的两个边沿来传送(即DDR),成功地大幅提高了传输速度。
以VME为基础、利用高速骨干网
与上述方法不同,在保持VME基本系统不变的同时提高性能的方法也被开发出来。其中最有名的就是被称作VXS(VMEbus交换式串行,VME-bus Switched Serial)规格。VXS定义了连接现有VME模块和各种交换结构(Switch Fabric)的桥接模块,使用这一模块与外部高速交换连接(图2)。在与原有的VME对应总线模块(Legacy)通信的同时,根据需要还可以与外部机构(Fabric)进行通信。这样就可以在维持VME的基础上同时利用高速骨干网。

(图片)

图2VXS的基本构造
既能和遵循VME的模块通信,又可以根据需要和外部机构(Fabric)通信。由此虽然以VME为基础但却能够用于高速骨干网

VXS首先制订了Base Specification(VXS.0)和InfiniBand对应(VXS.1)、Serial RapidIO对应(VXS.2)、Live Insertion(VMS.10)的四个暂时标准。GbE/10GbE对应(VXS.3/VXS.6)、PCI Express对应(VXS.4)、Aurora对应(VXS.5)、Redundant Processor Mesh(VXS.7)和Rear Transition Module(VXS.11)正在面向制定标准进行草案的审议。
另外,ANSI则提出了采用全新接头形状,能够进行更高速度数据传送的新规格VPX方案。最初只有VME32/64,但一开始就考虑了与Serial RapidIO、PCI Express和以太网的连接。进一步强化性能后名为VPX REDI(The Ruggedized Enhanced Design Implementation)的扩展规格也在讨论之中。VPX/VPX REDI的目标是应用于航空电子设备等需要高可靠性和需要高强度机械/电气性能的用途,可以说是面向特定领域的特殊扩展。
面向测量仪器扩展的VXI
除此之外,还出现了以VME为基础、面向测量仪器的接口规格。这就是VXI(VMEbus Extensions for Instrumentation)。这一规格目前由名为“VXI Bus Consortium”的组织管理,之前由美国惠普和美国泰克等测量仪器厂商为主制定。相关标准等可能通过VXI Bus Consortium的网站下载*注2。
VXI的基本通信协议等与VME一样。硬件方面的区别有以下三点:
(1)板卡尺寸:VME支持A/B 2种尺寸,而VXI在VME的基础上又增加了C/D 2种尺寸,共计定义了4种尺寸(图3)。
(2)追加P3了接头:P1/P2在保持与VME的兼容性的同时,在P3追加了高速信号线。理论上甚至可进行1Gbit/秒的传送。另外,P3还追加了同步通信用的100MHz时钟。
(3)1套系统最多可追加256台设备。

(图片)

图3定义了四种板卡尺寸的VXI
VXI提供A、B、C、D四种尺寸

软件方面也做了大幅扩展。其特征是“IEEE-488”,即与GPIB的高亲和性。在此之前GPIB已经广泛应用于测量仪器的连接,VXI考虑通过软件来实现与GPIB的联动。从VXI的通信层来看,除了可以直接通过自主协议访问VXI外,还备有Communication Register和Word Serial Register层(图4)。应用设备通过使用这些层,可以作为Shared Memory或者GPIB兼容设备访问VXI支持设备。

(图片)

图4VXI的通信层
VXI定义了Communication Register和Word Serial Register层。使用这些层除了可以直接通过自主协议访问VXI外,还可以作为Shared Memory或者GPIB兼容设备访问VXI支持设备

目前VXI最新的标准是2003年11月亮相的“Revision 3.0”。尽管VME所支持的2eSST也增加到了Revision 3.0中,但不可否认与VITA推动的各种VME扩展版相比,VXI给人以停滞感。另外,检测VXI支持设备间相互连接性的VXI plug&play Systems Alliance在2000年之后也处于很少有新动向的状态*注3。这也许是因为VXI本来就是专门面向测量仪器的规格的缘故吧。除了被人认为难以应用于普通的用途以外,测量仪器使用的板卡之间的连接连接总线近来也开始由VXI向PXI过渡,VXI的需求并不多则是事实。
PC/104、PC/104-Plus、PCI-104——广泛应用于子板的层叠用途
在规模较小的用途,比如说在主板上层叠子板的相互连接中普遍使用的子板的内部接口是PC/104。这一规格为1992年由业内12家公司联合制定。现在由“PC/104 Embedded Consortium”管理。PC/104以及之后的PC/104-Plus、PCI-104、EBX、EPIC等规格均为开放标准,可通过PC/104 Embedded Consortium的Web网站免费获得*注4。
PC/104的基本思路是“实现ISA的无背板使用”。具体而言就是在板卡的正面设计接头的插口、在背面设计接头的插头,在通过分隔层层叠时,通过在同样位置配备接头来实现ISA总线的共享(图5)。接头形状方面,只支持8bit的为64端子,同时支持8bit和16bit的为104端子(图6)。PC/104这一名称就来源于104端子。
制定PC/104的1992年,当时ISA的应用还非常广泛。以ISA为基础面向低端用途的XT(8bit)被广泛使用,因此PC/104在规格制定的时候同时支持勒这两种规格。常见的使用案例包括,把周边电路和电源部分和在一起作为主板、在其上配备只有CPU的和子板;或者反过来把CPU、电源和基本输入/出(I/O)电路集成到主板上,把扩展I/O作为子板等。与使用VME的情况相比,可构筑大幅节省空间的系统,因此PC/104得到了广泛普及。

(图片)

图5PCI的板卡连接方法
在板卡正反面设置插头和插座,通过分隔层相互层叠

(图片)

图6PCI的2种插座
PCI定义了只支持8bit的64端子和同时支持8bit和16bit的104端子两种形状

通过PCI实现高速化的PC/104-Plus
但是PC/104是以ISA为基础的,所以实际传送速度还不到10Mbit/秒,到了上世纪九十年代中期就让人感到传送能力不够了。在此背景下,在ISA的基础上采用PCI以进一步提高速度为目标制定的规格就是PC/104-Plus。该规格1997年公布了最初的标准。从接头的形状来看,在保留了原来PC/104用接头的基础上,追加了PCI总线用的120端子接头,形成了PC/104模块与PC/104-Plus模块同时存在的形式(图7)。

(图片)

图7PC/104模块和其他模块的层积示例
(a)为PC/104模块和PC/104-Plus模块混载的示意图。(b)为PC/104模块和PC/104-Plus模块以及PCI-104模块混载的示意图。(a)(b)中非栈接的模块相当于主板

过了2000年之后,ISA的需求不断萎缩。于是,从PC/104-Plus中取消掉ISA的PCI-104亮相。PCI-104“只是”取消了104端子的ISA用街头,从而只剩下120端子的连接器。
这些规格在电气方面,和ISA或PCI完全一致,不同的只是连接器的机械形状。因此,在硬件的开发中,软件就可以通过安装有ISA或PCI的个人电脑来进行开发。因此获得了非常广泛的应用,即使是现在仍然在使用之中。
对于主板(图7(a)中的非栈接(Non Stack Through)型PC/104-Plus模块,或者图7(b)中的非堆栈(Non Stack)型PCI-104模块的部分,各厂商如何开发出有各自特色的产品是重要的一点。因此,各种各样的产品相继推出,比如和个人电脑主板相互兼容的产品、以及采用独特形状形成ISA/PCI扩展卡形式的产品等。最近相当于主板的部分已经开始着手标准化。最有代表性的就是被称为“EPIC(Embedded Platform for Industrial Computing)”的规格。该规格2006年公布了“Version 2.0”。其中,外形尺寸为115mm×165mm,分成I/O Zone和Tall CPU and Power Zone等区域,同时考虑了嵌入底盘使用时的冷却等问题(图8)。

(图片)

图8EPIC示意图
遵循EPIC Version 2.0的板卡的特征是按照使用的领域分成I/O Zone和Tall CPU and Power Zone等区域

还有一个是被称为“EBX(Embedded Board,eXpandable)”的规格,也在2005年公布了“Version 2.0”。EBX规定的外形尺寸为203mm×146mm,除了比EPIC稍大外,另一明显特点就是分出了SIMM/DIMM Memory Zone、Video I/O Zone和PCMCIA SLOT Zone等区域。EBX瞄准的目标是信息家电类的平台,在机顶盒等领域经常使用。
CompactPCI,CompactPCI Express和COM Express均为VME的板卡尺寸以及PCI的连接器
CompactPCI,CompactPCI Express和COM Express规格均由名为“PICMG(PCI Industrial Manufacturing Group)”的团体制定。PICMG顾名思义,就是由制造PCI元件厂商组成的团体,负责制定和推广以PCI和PCI Express为基础的标准接口。相关标准均可通过PICMG的网站下载*注5。
PICMG制定的板卡间连接总线规格为CompactPCI。简单地概括CompactPCI就是“板卡尺寸与VME一样,连接器为独自的PCI”。VME在产业领域应用得非常广泛,支持VME的底板也非常普遍。因此,CompactPCI在沿用VME底盘的同时,只将背板由Versa类型更换为PCI类型,以便使PCI能够应用于产业设备。
为此CompactPCI与VME一样也确定了3U(VME的单高度)和6U(VME的双高度)2个种类。3U可以使用220端子、6U可以使用535端子的连接器。3U的220端子同时支持32bit和64bit PCI,6U则追加了可以用于其它用途的315端子。利用追加端子支持VME64信号的就是CompactPCI卡。
CompactPCI卡的电气特性与PCI完全一样。因此,PCI的限制同样适用于CompactPCI。比如,1个CompactPCI背板最多只能连接8块板卡。要连接更多板卡的话,与PCI一样需要使用PCI-PCI总线桥。这样就可以形成连接16/24/32块板卡的构造。
CompactPCI本身相当于PCI的“Revision 2.2”。也就是说,还可以通过5V的电信号*注6。工作速度支持33MHz/66MHz中的任何一种。面向产业设备方面的特点是标准配备了热插拔(Hot Swap)支持功能。这一点也与PCI的热插拔功能一样,因此从结果来看,CompactPCI在电气方面与现有的PCI卡相同(机械性质就更不用说了)。CompactPCI的最新标准为1999年10月公布的“Revision 3.0”。
利用PCI Express
在利用CompactPCI的外观尺寸(Form Factor)的同时用PCI Express取代PCI的就是CompactPCI Express。CompactPCI Express也与CompactPCI一样,定义了3U和6U的2种板卡。不过,3U的连接器结合PCI Express进行了完全替换(图9)。新连接器中采用了ADF这一后面将要提到的Advanced TCA接口,目的是同时支持PCI Express Gen1(2.5GT/秒)和Gen2(5GT/秒)两种信号。顺便提一下,6U尺寸追加的315端子连接器的操作与CompactPCI一样。电气方面与PCI Express相同,热插拔也遵循PCI Express规格。

(图片)

图9CompactPCI Express的3U板卡连接器构造
遵循CompactPCI Express的3U连接器与遵循CompactPCI的连接器不同,以PCI Express信号代替PCI信号

CompactPCI Express的最新标准是2005年6月公布的“Revision 1.0”。不过,目前支持产品还不多,普及进程不尽人意。难以普及的主要原因是背板结构与CompactPCI具有非常大的差异(因为是点对点连接,所以需要相应的布线),而且实际使用时还必须同时使用PCI Express交换机等等。不过,CompactPCI的传输速度渐渐开始难以满足需求,所以CompactPCI Express有望成为新一代标准总线。
注5 PICMG的网站为http://www.picmg.org/。PICMG会员下载免费,非会员需要付费购买。
注6 与PCI总线不同,CompactPCI中不存在同时支持3.3V和5V的背板。为此板卡需要限定为支持哪一种信号。
PCI-104的高性能版--COM Express
选择了与CompactPCI和CompactPCI Express完全不同的发展方向的是COM Express。COM是Computer-On-Module的略语,可以说定位于PCI-104的高性能版。所支持的信号种类也很多。
COM Express定义了Basic Form Factor(125mm×95mm)和Indexed Form Factor(155mm×100mm)2种板卡尺寸,连接器的形状也统一为ROW AB和ROW CD2种,均为220端子。这些端子可以通过的信号数量如下:
(1)与PCI Express合计最多32路(目前支持Gen1,将来计划支持Gen2)
(2)外部连接用PCI Express×16路
(3)最多4条SATA/150路(将来计划支持SATA/300)
(4)最多3个GbE端口(将来计划支持10GbE)
(5)最多8个USB2.0端口
(6)最多2信道LVDS
(7)最多2信道Serial DVO(Digital Video Out)
当然,并不是说可以同时实现上述功能,而是以几种信号组合的方式提供。另外,COM Express与PCI-104等不同,采用的是COM Express板卡(这里指的是子板)与支持该板卡的载板(指的是主板)配对的方式。因此,COM Express板卡无法层叠多块来使用。
COM Express的应用目标是要求省空间和高性能的领域,比如信息家电、游戏机和保健设备等。其目标就是制作适合这些用途的载板,然后再配备上嵌入有CPU的COM Express板卡,这样就可以马上作为产品供货。目前在台湾等地支持COM Express的板卡提供样品供货的越来越普遍,开始逐渐取代原来使用PCI-104的用途。
支持PCI-X的规格也已出现
PICMG制定的板卡间连接的标准规格除以上介绍的之外,还有几种。其中,被定位为最高端的总线是Advanced TCA。TCA是Telecom Computing Architecture的简称,正如其字面意义,这是一种面向电话公司及因特网提供商的骨干设备中路由器的底板接口。具备高可靠性用途所要求的性能,如通过多个协议支持约40Gbps的通信、提供99.999%的可靠性、提供扩展性等。
除上述高端用途外,较常见的还有PICMG 1.0。通常被称为PCI-ISA。与其名称一样,这是作为同时具备PCI和ISA总线的板卡,PICMG 1.0中定义了利用这种板卡作为背板的规格。此外还有PICMG 1.2。它定义了同时支持PCI-X和PCI的ePCI(Embedded PCI)板卡规格。PICMG 1.3则定义了支持PCI Express的SHB Express(System Host Board Express)。
无论哪种规格,其电气特性及协议均利用了板卡上芯片之间相互连接时所使用的PCI、PCI Express及ISA等总线,确定了用于板卡间连接时的总线机械形状和系统封装标准。可以说板卡上芯片间连接所使用的总线与板卡间连接所使用的总线非常相近。
作者简介:大原 雄介。技术论文自由撰稿人。内容主要涵盖CPU和存储器等相关部件的结构、OS、驱动器、中间件等。 3/19/2008


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站