SUMIT规范支持两个高速密脚(fine-pitch, 0.635mm/0.025 inch)的堆栈式连接器,此两个连接器在pin脚定义上为central ground blade,这样的方式可确保模块间传输的高速信号有良好的阻抗控制。另一方面,如果扩充模块间因为板上有体积过大的组件,需要额外的空间,堆栈的高度可据此做变化。而目前标准的堆栈高度是15.24厘米与22厘米。
图2是SUMIT堆栈的标准范例,下层是Ampro by ADLINK的CoreModule730,搭配上层Ampro by ADLINK的MiniModuleSIO. 在上方模块靠近左方板边边缘的这面,可以看到两个SUMIT连接器。请注意这两个板子的规格大小不尽相同,而连接器虽然可在两个模块间传输许多高速的总线,但其尺寸却非常小且密实。 SUMIT界面中的PCIe
如同前文所述,SUMIT在A、B connector中可搭载多组PCIe的界面。值得一提的是,SUMIT B规范一组单独的PCIe x1通道,以及一组PCIe x4通道,而此PCIe x4通道也可以拆解成四组PCIe x1通道加以应用。SUMIT A则包含一组单独的PCIe x1通道。SUMIT在连结上有一个十分特殊的应用,就是PCIe总线上可进行“Link-shifting”的概念,这样的概念可以让堆栈架构中的信号链接更加直接迅速。“Link-shifting”可让模块与模块之间的堆栈更加容易,并且可以避免在模块表面额外配置jumper或switch来设定PCIe的路由。更重要的是,这种shift的方式,能让模块上的layout针对需要传输模块与模块间的高速信号总线,做更好的配置。
图3是针对Link-shifting的一个简易示意图。X、Y、Z分别代表由下而上经由SUMIT堆栈的三块不同的模块。其中,最下面的模块X可产生4组信号源(分别以1、2、3、4代表其顺序),第1组信号传到第2层模块Y后,剩下的3组就会以link-shifting方式,左移连结到对应第3组模块的前3对信号。这种shifting的目的,就是因为各层板内已使用掉某些连结,而这些连结是不会被传输到更上层板去的。
举例而言。模块Y使用第1组由模块X链接而来的信号源,而剩下3组信号源就直接链接到模块Z。由图3可以很清楚地了解模块Z使用其中2组信号源。然而,模块Z并不需要考虑它因身处在模块Y上方这样的组合而重新做硬件配置,因为模块Z永远都可以从最左边的信号取得它板内所需的连结。这样的方式可以让多层板的堆栈更加容易,不需做额外的硬件配置来告知每一个模块要取得哪一个连结使用。堆栈架构中的每一个模块都从最左边取用连结。显然地,每个模块当然无法使用多于底板所提供的信号链接,然而这样的配置方式是采用link-shifting的必然结果。显而易见的好处是,由于Link-shifting在连接器针脚间的微小距离内就被处理完毕。PCB板layout相对地变得简单,这对于需要维持信号完整性的高速总线传输,如PCIe来说是相当重要的。
图4呈现实际上SUMIT规格中所使用的PCIe Link-shifting方式。有趣的是,由于SUMIT A与SUMIT B都分布了PCIe通道,因此Link-shifting也会在两个连接器之间进行。来自SUMIT B的PCIe x1连结会移转到SUMIT A,SUMIT B PCIe x4的第一个连结也移转到SUMIT B中的PCIe x1链接通道,进行SUMIT B内部的shifting。请注意:若板上会使用到SUMIT B上的PCIe x4通道(未使用任一个PCIe x1通道的状况下),此板一定要置于架构中从下层往上数来的第二层。如此一来,完整的PCIe x4通道才不会被拆散而往上面的其他板传输。当板内的某一个连结没有被使用到,就不需要shifting。在此情况下,板子的信号没有经过shifting,SUMIT A与SUMIT B中的PCIe x1连结就会被直接向上传输。当Link-shifting发生时,连结中的Clock也会与相对应的数据信号源一起被移转,如此才能确保同一组信号源的完整性。
SUMIT中的USB 2.0应用
SUMIT定义4组USB bus。USB bus在传输时,也允许有Bus-shifting的应用。USB bus会在模块的SUMIT A连接器的针脚之间进行类似PCIe Link-shifting的移转。例如当堆栈架构的底板使用SUMIT A连接器上的USB-0总线,会将剩下个3组USB bus往上移转到叠在其上的板卡。这种Bus-shifting方式可让模块上的4组USB bus的分布更简化而不需额外配置其他模块。如同PCIe Link-shifting的特点,同样可达成板间的USB bus传输,但PCB板上的layout却更简单。
SUMIT支持传统LPC设备:SUMIT规格亦可支持LPC (Low-Pin-Count)总线,用来传输传统的周边信号,对传统接口的支持更加广泛。在高速接口(如PCIe与USB接口)以外,LPC又补充了对传统接口的支持,不但扩充使用者在实际应用上的弹性,同时还支持堆栈架构中最新的高速总线。
SUMIT接口中的 I2C 与 SPI 总线:I2C与SPI是广泛使用的中速信号,SUMIT连接器亦支持模块中连接这些信号的设备。尤其,SPI总线在许多芯片组的设计中,也已经越来越普遍。
SUMIT支持新的储存设备,如MiniBlade:MiniBlade是一种新的储存规格,使用USB与PCIe接口,因为同时具备两种连接器的堆栈架构,可与SUMIT兼容共享。这种储存规格由于可耐受更高的冲击与震动,更加适合应用于加固型产品上。
范例 – MiniModule SIO:图5是Ampro by ADLINK™的MiniModule SIO,是实际的SUMIT界面应用。实现了SUMIT的多样性,以及可支持上述多种信号传输的强大功能。
在模块上的SUMIT A连接器上,有一个MiniBlade的接口,使用1组USB bus与1组PCIe x1通道。剩余的2组USB bus也被连接到header上,可供硬件扩充,链接板外的其他硬件设备。
剩余的USB bus在模块上并未被使用到,因此被移转到更上层的模块连接器上。所以MiniModule SIO上所堆栈的其他板可以使用这些USB bus来做应用。MiniModule SIO也是上述的USB bus-shift方式的极佳范例。
MiniModuleSIO使用LPC来进行传统I/O接口的整体支持,它使用SUMIT LPC总线连接LPC-to-ISA网桥,进而支持1个PC/104连接器上的ISA总线,因此SUMIT可以支持PC/104;SMSC 3114 Super I/O也可提供加固宽温型的I/O,此芯片透过2个D-SUB连接器接口,与2个dual header接口,共提供4个串行RS232/422/485口。此外亦有键盘/鼠标端口、以及1个传统并口,通过header接出。
由于MiniModule SIO模块在MiniBlade接口上使用掉1组PCIe x1连结(SUMIT A上),其他剩余的PCIe连结全部会被Link-shifting移转。因此SUMIT B的PCIe x1通道就透过Link-shifting被转换到SUMIT A的PCIe x1通道。
PCIe x4并没有在示意图中被画出,这是因为PCIe x1由SUMIT B被Link-shifting到SUMIT A,而SUMIT B的PCIe x4也在SUMIT B内部进行Link-shifting。而SPI总线在本模块中并未被使用到,因此直接由下层的板子连结到上层的SUMIT A连接器。
结论
对堆栈式的模块来说,SUMIT是一个非常具有弹性且功能强大的接口规格。MiniModule SIO就是一个近期研发的实际应用,结合慢速传统接口(如串行端口),以及最新的高速接口(如PCIe与MiniBlade), 并且具备本文关于SUMIT接口简介的绝大多数优势。
SUMIT的诞生与应用,使多种界面传输的实现变得更加直接并且具备高兼容性,设计者不需要在模块上外加额外的硬件配置来做路由。SUMIT针对同时需要高速与传统界面的嵌入式扩充模块应用而言,可谓是一种极佳的解决方案。
上一篇:基于VPC3的PROFIBUS-DP智能从站设计
下一篇:单片机红外遥控门禁实现