Embedded Computing CoMs im Vergleich (Teil 2)

Seit knapp zwanzig Jahren sind Computer-on-Modules (CoMs) verfügbar. Und weil sie so beliebt sind, wurden verschiedene Standards etabliert. Welcher Modulstandard passt zu meinen Anforderungen? Im Folgenden der zweite Teil einer umfassenden Abhandlung über die verschiedenen Standards.

Computer-on-Modules lassen sich über standardisierte Schnittstellen an ein Trägerboard (Base Board) kontaktieren. Die eindeutigen Vorteile bescheren diesen Modulen eine immer stärker wachsende Nachfrage: Geringere Entwicklungszeit und -kosten, Verfügbarkeit, Skalierbarkeit von Performance und Preis, die Austauschbarkeit zwischen unterschiedlichen Anbietern und die Reduzierung von Risiken durch das Verwenden zertifizierter Module sind Gründe, sich für Plug-on-Boards zu entscheiden.

Nachdem es im ersten Teil um die Standards PoP, SiP, SoM, SoC und PC/104 ging, untersuchen wir im Folgenden die Modulstandards PMC, PPMC, FMC, SMARC, Qseven, COM Express sowie COM HPC.

Diverse Mezzanine-Standards

PMC (PCI Mezzanine Card) ist ein von der IEEE unter P386.1 standardisiertes Modulformat (74 mm × 149 mm) für Aufsteckmodule, die für Trägerboards mit Multibus II, VMEbus oder CompactPCI ausgelegt wurden. Die Standardversion eines PMC-Moduls weist zwei 64-polige Stecker auf, die für den PCI-Bus und I/Os verwendet werden. Eine Erweiterung sieht einen weiteren 64-poligen Steckverbinder vor, der weitere I/Os zur Verfügung stellt. Der Standard definiert die PCI-Signalbelegung der Stecker. Um mehrere Module übereinander stapeln zu können, besitzen PMC-Module Durchkontaktierungen.

Als IEEE-Standard garantiert PMC den Benutzern, dass jeder Host oder jedes Modul, das dem Standard entspricht, in jedem Modul oder Host funktioniert, das nach den Spezifikationen entwickelt wurde. Dies gibt den Anwendern zwar die Flexibilität, verschiedene Hostkarten mit verschiedenen Optionsmodulen zu kombinieren, es gibt den Anbietern aber auch die Möglichkeit, grundlegende Hostkarten ohne besondere Berücksichtigung von Schnittstellen-I/Os zu entwickeln.

Weil PMC ein offener Standard ist, können OEMs mit nicht standardisierten Bussen die gleiche Hebelwirkung wie Hersteller von Standardbussen nutzen. Der zweite Vorteil bei der Verwendung von PMC ist, dass es ein hohes Maß an Stabilität bietet. Der standardisierte, leistungsstarke lokale Bus, der von Prozessor zu Prozessor bleibt unverändert, lediglich der Prozessor-zu-Speicher-Bus ist zu ändern.

Rechenleistung ist natürlich ein weiteres Schlüsselelement von PMCs. Neue Grafiken und GUIs, umfangreicher Einsatz von Imaging, Video und schnellere Kommunikation haben eine große Anforderung an Prozessor-, I/O- und Systembandbreite gestellt. Mit einer Bandbreite von 132 MB/s für eine 32-Bit-Implementierung und 264 MB/s für eine 64-Bit-Version kann PMC fast alles bis hin zu ATM (Asynchronous Transfer Mode) und Full-Motion-Video verarbeiten.

Prozessor-PMC-Module (PPMC) erweitern den PMC-Standard und unterstützen CPU-basierten Karten dar. Die Aufgabe der Prozessor-PMC-Schnittstelle ist es, den Funktionsumfang der PMC-Tochterkarten auszubauen und Prozessorfunktionen höherer Ordnung zu ermöglichen. Die Protokollstruktur bei PMC- und PPMC-Modulen bleibt identisch. Durch den verbesserten PPMC-Standard können Mezzanine-Karten entweder mit 44 MHz oder mit 66 MHz arbeiten. Wird eine PPMC-Karte in ein Base-Board gesteckt, das mit einer PMC-Karte arbeitet, geht die PPMC-Karte standardmäßig in den PMC-Betrieb. Wenn das Trägerboard jedoch für die Aufnahme eines PPMC ausgelegt ist, arbeitet die Mezzanine-Karte mit 66 MHz.

Switch-Mezzanine-Cards (XMC) sind im Grunde Prozessormodule mit einer sehr schnellen seriellen Fabric-Schnittstelle, die nach VITA 42 definiert ist. XMC hat sich als sehr erfolgreich erwiesen und erweitert sich über die Basisspezifikation VITA 42.0 hinaus um Technologien wie parallel RapidIO (ANSI/VITA 42.1), Serial RapidIO (ANSI/VITA 42.2) und PCI Express (ANSI/VITA 42.3), um nur die ersten drei aus einer wachsenden Liste zu nennen. Die PCI-Express-Variante des XMC ist bei weitem die häufigste.

Einer der Schlüsselfaktoren, die heute zur Popularität von XMC beitragen, ist die weite Verbreitung anspruchsvollerer Funktionen wie FPGA-basierter Prozessoren für periphere I/O-Funktionen. Solche Anwendungen sieht man bei Mezzanine-Karten wie XMC recht häufig. Darüber hinaus basiert ein zunehmender Anteil der I/O-Funktionen auf seriellen und nicht auf parallelen Schnittstellen, was genau der Grund für die Entwicklung der XMC-Spezifikation gewesen ist. Sehr viele Hosts der neuen Generation im VME- oder VPX-CPU- oder DSP-Format verfügen über einen oder mehrere XMC-Mezzanine-Sites.

FPGA-Mezzanine-Cards (FMC, VITA 57) sind I/O-Mezzanine-Module, die unter anderem zu Karten im 3-HE- und 6-HE-Format kompatibel sind. Die PMC/XMC-Formfaktoren wurden im Bereich Embedded-Computing intensiv eingesetzt, sind aber nicht die optimale Lösung für modulare FPGA-Designs. PMCs sind viel größer als ein FPGA-I/O-Mezzanine sein muss, sie haben zu viele Anschlüsse und die Schnittstelle zwischen dem PMC/XMC und dem Trägerboard (PCI, PCI-X, PCIe, Serial RapidIO, etc.) ist viel komplexer und ressourcenintensiver als es für ein I/O-Mezzanine erforderlich ist, das ein FPGA anbinden soll.

Der FMC-Standard definiert ein I/O-Mezzanine-Modul, das eng mit einem FPGA zusammenarbeitet. Die Norm definiert zwei Breiten – einfache (69 mm × 76,5 mm) und doppelte Breite (139 mm × 76,5 mm). Die einfache Modulbreite entspricht etwa der Hälfte der Größe eines PMC-Moduls und hat einen einzelnen Stecker zum Base-Board. Das doppeltbreite Modul kann einen oder zwei Steckverbinder zur Trägerplatine aufweisen. Solche doppeltbreiten Module sind für Anwendungen gedacht, die zusätzlichen Datendurchsatz, mehr Platz auf der Vorderseite oder eine größere Leiterplattenfläche erfordern. Wie bei den meisten kommerziellen PMC/XMC-Modulen sind die meisten kommerziellen FMCs einfach breit.