Open Hardware Brückenbau für VME-Bus

Viele ältere Systeme nutzen noch den VME-Bus. Wie dieser auf neue Systeme adapiert wird, zeigt der Fachartikel.
Viele ältere Systeme nutzen noch den VME-Bus. Wie dieser auf neue Systeme adapiert wird, zeigt der Fachartikel.

Obwohl aktuelle Prozessoren kein VME-Bus-Interface mehr haben, gibt es immer noch Systeme, die damit ausgestattet werden. MEN Mikro Elektronik hat eine VME-zu-PCI-Express-Bridge für FPGAs entwickelt, die unter GPL-3-Lizenz steht. So steht der langfristigen Verwendung des VME-Bus nichts im Weg.

Der VME-Bus ist einer der ältesten und wichtigsten Formfaktor-Standards für Slot-basierte modulare Systeme. Seine Spezifikation wurde erstmals 1981 veröffentlicht und wird von der VITA als Standard betreut. Die mit 400 MHz getakteten MVME101-Boards von Emerson/Motorola, damals die ersten Systemcontroller für den VME-Bus, sind heute noch verfügbar und belegen die Langzeitverfügbarkeit dieses Standards. Die Leistungsanforderungen für neue Anwendungen sind jedoch im Laufe der Jahre deutlich gestiegen. Aktuelle Systemdesigns sind in der Regel mit Intel-Core-Prozessor ausgestattet. Die neuesten Anwendungen erfordern sogar Xeon-D-Prozessoren für höchste Embedded-Prozessor-Performance.

Anwendungsgebiete für solche VME-Single-Board-Computer finden sich in Forschungseinrichtungen wie dem CERN, in der industriellen Automatisierungs- und Messtechnik, im Schienenverkehr sowie in der Luft- und Verteidigungstechnik. Insbesondere in den drei zuletzt genannten Märkten hat die Langzeitverfügbarkeit oft höchste Priorität – und dabei es geht nicht um Jahre, sondern um mehrere Jahrzehnte. Deshalb erfreut sich der VME-Standard auch heute noch einer hohen Nach­frage, obwohl es seit vielen Jahren Nachfolgestandards gibt.

Etabliert in Langfrist-Märkten

Marktforschungsunternehmen wie IHS prognostizieren, dass VME-Systeme selbst im Jahr 2020 noch mehr als 200 Mio. USD pro Jahr auf Board-Level erwirtschaften werden (Bild 1). Das entspricht einem Absatz von mehr als einer viertel Million Boards, setzt man rund 750 USD pro Board als Durchschnittspreis an. Aber was kann man tun, wenn diskrete Komponenten wie die VME-Bridge TSI148, die beispielsweise noch auf Intel-Core-Duo- und Core-2-Duo-Boards verwendet wurde, nicht mehr produziert werden? Dann muss man neue Lösungen für die kommenden Board-Designs finden. Hier gibt es grundsätzlich drei Möglichkeiten:

  • Man verschafft sich über einen Last-Time-Buy einen ausreichen großen Vorrat an TSI148-Chips
  • Man nutzt den alternativen Tundra Universe II
  • Man nutzt FPGA-Technologie, damit sich die identischen Bridging-Funktionen immer wiederverwenden lassen, selbst wenn der aktuell gewählte FPGA irgendwann nicht mehr verfügbar sein sollte

MEN Mikro Elektronik hat genau eine solche FPGA-basierte Bridge unter der General Purpose License bereitgestellt. Alle VHDL-Quellen stehen nun unter der »GPL3-or-later-Lizenz« zur Verfügung, während das Linux-Treiberpaket unter der »GPL2-or-later Lizenz« auf der PCIe-to-VME-Bridge-Projektseite des Open Hardware Repository verfügbar ist. Die Open-Source-Veröffentlichung der PCIe-zu-VME-Bridge ist für alle VME-Anwender ein großer Schritt. Vor allem sind Entwickler damit nicht mehr von einem bestimmten Hersteller abhängig. Selbst wenn der aktuell verwendete FPGA-Chip obsolet werden sollte, ermöglicht der Zugriff auf die vollständigen VHDL-Quellen die Portierung der PCIe-zu-VME-Brücke auf einen anderen FPGA.

Dank der Tatsache, dass das Design als Open Source verfügbar ist, kann nun jedes Unternehmen nicht nur ein aktuelles Produkt mit dieser Bridge kaufen, sondern auch jeden anderen VME-Single-Board-Computer mit derselben VME-Bridge ausrüsten. Die Verwendung ein und derselben VME-Bridge bedeutet auch, dass alle Unternehmen dieselben Linux-Kerneltreiber und dieselbe User-Space-VME-API nutzen können. Dies sollte allen Entwicklern in der VME-Welt zukünftig eine effizientere Zusammenarbeit ermöglichen und mehr Freiheit bieten, Linux-Kernel-Treiber für ihre eigenentwickelten VME-Slave-Boards zu teilen und effizient wiederverwerten zu können.

Die neue FPGA-Logik

Die neue PCIe-zu-VME-Bridge übersetzt die Lese- und Schreibvorgänge im PCIe-Adressraum auf Lese- und Schreib-Transaktionen auf dem VME-Bus. Es fungiert auf der einen Seite als PCIe-Endpunkt und auf der anderen als VME-Busmaster (Bild 2). Die Bridge kann sowohl VME-Einzel­zyklen als auch -Blocktransfers erzeugen. Aktuell werden folgende Zugriffsarten unterstützt:

  • VME-Einzelzyklen: A16, A24, A32 mit jeder D8-, D16- oder D32-Datenbreite
  • VME-Blocktransfers (BLT): A24D16, A24D32, A32D32 plus die gemultiplexten A24D64 und A32D64-Blocktransfers (MBLT)