用于军事/航空航天应用的开放式架构嵌入式系统一直依靠夹层或子卡来提供灵活性和模块化,因为它们在处理所需的各种I/O功能方面非常有效。由于广泛采用定义这些夹层产品的行业标准,载板能够接受来自各种供应商的夹层板,每个供应商都专注于利基技术和接口。
如今,三种流行的夹层标准主导着嵌入式市场:
• PMC(PCI夹层卡)• XMC(交换夹层卡)• FMC(FPGA夹层卡)
这些夹层支持所有流行的行业架构,包括 VME、VXS、VPX、AMC、CompactPCI 和 CompactPCI 串行,适用于 3U 和 6U 外形,并涵盖一系列冷却技术和加固级别,这对于航空航天和军事电子产品尤其重要。这三个夹层标准中的每一个都有一套独特的优点和缺点。
夹层模块标准
PMC 在 15 年前根据 IEEE 1386.1 标准定义,使用 IEEE 1386 CMC(通用夹层卡)的机械尺寸,增加了多达四个 64 针连接器来实现 32 位或 64 位 PCI 总线以及用户 I/O。
两个连接器 P11 和 P12(请参阅图 1)处理 32 位 PCI 总线,通过添加 P13 连接器可扩展到 64 位。32 位接口以 33 或 66 MHz 的 PCI 总线时钟速度运行,峰值传输速率分别为每秒 132 MB 或 264 MB,是 64 位接口的两倍。
后来的扩展称为PCI-X,将时钟速率提高到100或133 MHz,对于64位实现,峰值传输速率为每秒800或1000 MB。可选的 P14 连接器支持 64 位用户定义的 I/O。随着大众市场PC的互连技术开始从并行PCI总线转向更快的PCIe(PCI Express)千兆串行链路,夹层模块的类似迁移需求变得明显。
XMC 模块在 VITA 42 中定义为 PMC 模块的交换结构扩展。它需要一个或两个多针连接器,称为主 (P15) 和次 (P16) XMC 连接器,如图 1 所示。每个连接器可以处理八个双向串行通道,每个方向使用一对差分引脚。VITA 42.3 子规范定义了 PCIe 的引脚分配,而 VITA 42.2 涵盖了 SRIO(SerialRapidIO)。
通常,每个 XMC 连接器都用作单个 x8 逻辑链路或两个 x4 链路,尽管还定义了其他配置。XMC 模块的数据传输速率取决于千兆串行协议和每个逻辑链路的通道数。表 1 显示了不同配置和协议的峰值速率,与峰值 PMC 速率相比具有优势。
FMC 模块在 VITA 57 规范中定义,旨在用作 FPGA 的 I/O 模块。它们与 CMC 外形不同,空间不到 CMC 外形尺寸的一半,如图 1 右上角所示。支持两种不同的连接器:具有 160 个触点的低引脚数 (LPC) 连接器和具有 400 个触点的高引脚数 (HPC) 连接器。连接器引脚通常针对电源、数据、控制和状态进行定义,并根据设计提供特定的实现方式。
FMC 模块依靠载板 FPGA 为 FMC 组件提供必要的接口。这些可以是单端或差分并行数据总线、千兆串行链路、时钟和控制信号,用于初始化、定时、触发、选通和同步。对于数据,高密度FMC连接器提供80个差分对或160个单端线。它还具有 10 个高速千兆串行通道,每个方向都有差分对。
为了支持使用JESD204B千兆串行接口而不是并行LVDS的新型数据转换器器件,FMC规范已增强为FMC+。在 VITA 57.4 中定义,它通过具有另外四排引脚的 HPC 连接器的全新、更高速版本,将千兆串行通道的数量从 10 个增加到 24 个。FMC+ 的新连接器的额定数据速率高达每秒 28 Gbits。
VITA 57.4 可选择将原始 FMC 模块的长度延长 12 mm 以支持新的 40 引脚连接器,从而为 FMC+ 模块再增加 8 个千兆串行通道,如图 1 右下角所示。当需要最大I/O数据速率时,这将全双工千兆串行通道的总数增加到32个。
应该注意的是,所有这三个夹层也都有双宽版本,在规格中完全定义。这为更多组件提供了额外的空间。然而,当今市场上绝大多数夹层都是单宽度设计。
最后,所有三个规格(PMC、FMC 和 FMC)都包括这些夹层产品的坚固型和传导冷却型的完整规格,因此它们可以部署在极端的航空航天和军事环境中。
数据传输功能
关于数据传输速率,PMC 和 XMC 模块由安装的接口标准决定。然而,这些速率通常以多种方式受到载板的影响。支持其他流量的共享 PCI 总线将有效地阻止到 PMC 的所有传输,直到授予其使用该总线的权限。例如,在双 PMC SBC(单板计算机)上会出现此问题,其中两个 PMC 通常共享相同的本地 PCI 总线。
此外,当 PMC 安装在简单的 3U CompactPCI 载波上时,公共 PCI 背板必须在安装在插件架中的所有主板之间共享。最后,向 PMC 模块提供较低速度 PCI 总线的载卡或适配器将强制模块以较低的速度运行其接口。
XMC 与 PMC 相比具有固有的数据速率优势,因为它们使用快速千兆串行链路。即使是最慢的 x4 PCIe 1.0 接口,也能与 133 MHz 的最快 PCI-X 64 位总线相匹配。但是,千兆位串行接口的主要系统级影响是它们是专用的点对点链路,不受并行总线共享损失的影响。表 1(上图)显示了不同宽度千兆串行链路的 PCIe 和 SRIO 峰值数据传输速率。
最终,任何系统都会有 CPU 和内存带宽限制,但新的多核处理器和芯片组具有 40 多个 PCIe Gen3 通道,每个通道处理 1 GB/秒,以及四个 DDR3 内存插槽,每个通道提供每秒 12.8 GB 的传输速率。在这些系统中,XMC 和系统之间的专用 x8 PCIe 链路支持 8 GB/秒的可观传输速率。
与 PMC 和 XMC 不同,FMC 不使用 PCI 或 PCIe 等行业标准接口。相反,每个FMC都有一组独特的控制线和数据路径,每个控制线和数据路径的信号电平、数量、位宽和速度都不同。在1 GHz数据时钟速率下,80条差分数据线每秒可提供10 GB,尽管新的FMC+规范使这些速率翻了一番。
最初的FMC规范为十个串行通道中的每一个设定了10 Gbits/sec的设计目标,提供每秒10 GB的峰值聚合数据速率。新的FMC+规范为每秒28 Gbits,最多32个串行通道,将这种聚合峰值数据速率提高到每秒近90 GB。
不动产和电力注意事项
FMC 模块的尺寸不到 PMC 和 XMC 的一半,空间更小意味着战略性地放置用于屏蔽、隔离和散热的组件的自由度更小。例如,模数转换器对来自电源、电压层和相邻铜迹线的杂散信号拾取极其敏感。通常,为了获得最佳效果,必须在与A/D转换器相同的电路板上重新调节和滤波所需的电源线,而不是在载板上。在小型FMC模块上布置此电路可能具有挑战性。尽管 XMC 模块具有更多组件,但由于电路板尺寸较大,它们通常可以更容易地重新排列。
FMC 要求 FPGA 驻留在载板上,而基于 FPGA 的 XMC 模块在夹层板上包含 FPGA。示意性地,前端和系统总线之间的整体电路可能几乎相同,但物理分区发生在两个不同的点。
为了说明这一点,图 2 显示了用于 3U OpenVPX 的 4 通道 A/D 转换器软件无线电模块的两种不同实现,非常适合航空航天和军事应用。请注意,两个框图具有相同的 A/D 转换器和 FPGA,并为 OpenVPX 背板提供相同的 x8 PCIe 接口。顶部的 XMC 实现使用 FPGA 和背板之间的 XMC 连接器,而下面的 FMC 实现使用 A/D 和 FPGA 之间的 FMC 连接器。
由于大部分功耗由FPGA消耗,因此比较FMC和XMC模块之间的功耗将非常有利于FMC。但是,由于两个框图中使用相同的资源,因此整体3U模块功耗几乎相同。
在PMC、XMC和FMC模块之间的比较中,还有一个额外的因素。在FPGA中实现的千兆串行接口通常比并行总线接口消耗更多的功率。因此,在考虑 PMC 产品与 XMC/FMC 产品时,PMC 模块的 PCI 总线通常比 PCIe 链路消耗更少的功率。当然,PCIe 所需的额外功率在速度和连接性方面都带来了巨大的优势。
软件和 FPGA 开发问题
每个FMC都提供一个独特的电气接口,必须连接到精确配置的FPGA以处理该特定设备。如果FMC模块和FMC载波都由同一供应商提供,并且载波上的FPGA由供应商为安装的特定FMC模块预先配置,则这可能是一个合理的解决方案。
对于具有两个或三个FMC站点的6U载波,必须配置FPGA以匹配每个站点上安装的每个FMC模块的特定组合。这种FMC到FPGA的依赖性可能会产生大量组合,从而导致配置管理和客户支持问题。这可能意味着首次组合的交货时间更长,成本更高。此外,供应商可能不会为所需的外形尺寸或系统架构提供FMC载体。
当客户从一个供应商处购买FMC模块,从另一个供应商购买FMC载体时,会出现其他挑战。必须有人为载波开发定制的FPGA配置代码,以支持FMC模块。也许FMC供应商会同意为第三方运营商开发代码。也许运营商供应商会为第三方FMC模块开发代码。
如果这些策略中的任何一种都失败,客户必须自己配置FPGA,或聘请顾问来完成这项工作。在这种情况下,FMC 模块和 FMC 载体都是具有两种不同技术支持资源的第三方产品。如果某些事情不起作用,则很难以高效和有效的方式解决问题。而且,如果FMC模块供应商或FMC运营商供应商修改其产品,可能会影响两块板的互操作性。
也许FMC最具挑战性的方面是软件驱动程序和电路板支持库的开发,涵盖了模块和载波的无数组合。除非由同时提供FMC模块和载波的单一供应商提供,否则可能会出现上述FPGA开发支持的和开发问题。
相比之下,PMC 和 XMC 使用行业标准系统接口,通常是 PCI 和 PCIe,并且强烈倾向于采用 PCIe 的 XMC。几乎所有最新的嵌入式系统都利用广泛采用的 PCIe 标准来互连系统元件。这包括 VXS、VPX、AMC 和 CompactPCI,以及使用安装在主板扩展插槽中的 PCIe 卡的高性能 PC 平台。
由于 PCIe 是大多数 XMC 上的系统接口,因此可以直接安装它们,也可以使用简单的机械适配器安装到所有这些系统架构中。最重要的是,这些适配器可以从各种供应商处获得,因为它们只是重定向PCIe总线,因此无需任何人为新组合开发自定义FPGA代码。
为流行的嵌入式操作系统开发的设备驱动程序和应用软件无论架构如何,都能正常工作。这是由于 PCIe 通过桥接器、交换机、扩展器电缆和扩展机箱的固有连接,无论主板、模块和背板的外形尺寸如何。
所有这些因素都大大减少了对 XMC 供应商的依赖以及解决多供应商责任的问题。XMC利用行业标准系统接口,无需定制FPGA开发,轻松支持各种系统架构,并附带完整的软件驱动程序和电路板支持库。这可以大大节省系统集成和软件开发成本,这对于MIL/AERO项目预算和进度非常重要。
基于 3U VPX XMC 的示例
有关演示这些功能的 Pentek 产品的信息,请参阅此处的Onyx 型号 52761 3U VPX 模块。
总结
表2总结了本文中讨论的要点,比较了PMC、XMC、FMC和FMC+模块。军事和航空航天系统集成商必须权衡每种产品的优缺点,请记住,这三者都有适合在恶劣环境中部署的坚固版本。拥有数百家供应商和数千种产品,设计师有许多可用的选择。
只要同一供应商同时为夹层模块和载体提供经过测试和安装的FPGA配置代码(如FlexorSet产品),FMC模块就可以非常有效。此外,由于基于PCIe的链路、载波、背板和适配器的激增,XMC模块为嵌入式系统提供了出色的解决方案。这消除了为每个新应用定制FPGA开发工作的需要,最大限度地减少了产品支持问题,并加快了开发周期。
审核编辑:郭婷
-
嵌入式
+关注
关注
5057文章
18964浏览量
301814 -
总线
+关注
关注
10文章
2857浏览量
87893 -
航空航天
+关注
关注
1文章
366浏览量
24201
发布评论请先 登录
相关推荐
评论