IPC / embedded PC
Wem nutzt der CPU-Cocktail aus Atom-CPU und FPGA?
Ende November stellte Intel zusammen mit der Firma Kontron die nächste Generation ihrer Atom-Prozessoren vor. Herausragendes Kennzeichen ist die Kombination der x86- Architektur mit einem FPGA (Field Programmable Gate Array) in einem Multi-Chip-Modul. Die daraus resultierenden Vorteile zeigt die erste Implementierung auf einem Single-Board-Computer auf.
FPGA und Atom-Prozessor kommunizieren intern über PCI-Express; die FPGASchnittstellen können über spezielle Tochterkarten direkt genutzt werden.
© IntelDurch die Symbiose der beiden Technologien profitieren Entwickler von einem vereinfachten Applikationsdesign und reduziertem Entwicklungsaufwand. Was machen Entwickler aber mit diesem Tandem? Im Kontext der x86er-Technologie lassen sich über FPGA sehr flexibel I/O-Auslegungen umsetzen – individuell, kompakt und auch abseits von „Standard“-Interfaces beziehungsweise deren Bauelemente. Zudem ist die Schnittstellenlogik im FPGA implementiert, so dass dafür keine speziellen I/O-Karten notwendig sind, die bislang die komplette I/O-Logik implementiert haben müssen.
Jetzt reichen deutlich einfachere „Tochterkarten“ aus, um die physikalische Schnittstelle auszuführen. Das reduziert Kosten bei der I/O-Kartenentwicklung. Ebenso können FPGAs neben I/O-Funktionen zusätzliche Aufgaben übernehmen, die bisher speziellen Controller-Bausteinen vorbehalten waren, beispielsweise für Motion- Control oder die Vorverarbeitung von Echtzeit-Videodaten. Außerdem lässt sich firmenspezifisches Know-how im FPGA zuverlässiger schützen, als bei „normaler“ Software, da ein Re-Engineering des FPGA-Codes, der in HDL (Hardware Description Language) codiert ist, nicht einfach kopiert und weiterverarbeitet werden kann.
Chancen und Risiken abwägen
Intel vereint auf einem Multichip-Modul, die Vorteile der Atom-E600C-Prozessorserie mit einem Field-Programmable- Gate-Array (FPGA) von Altera.
© IntelEin FPGA ist nahezu genauso flexibel programmierbar wie die x86er-Technologie selbst und verursacht damit – trotz der vielen am Markt verfügbaren IP-Cores – gegenüber dedizierten I/Os und Controllern einen weiteren Entwicklungsaufwand und Kosten. Folglich gilt es zu klären, wer den Entwicklungsaufwand zur individuellen Implementierung der FPGA-Funktionalität leistet und wie hoch die Kosten sind. Erst dann lässt sich ein Vergleich mit alternativen Lösungen anstellen, etwa auf Basis von ASSPs (Application Specific Standard Products), die als fertige Bauelemente mit dedizierter Funktion verfügbar sind. Typische Anwender für die integrierte Plattform von Kontron sind vor allem Anwender, die FPGA-Technologie bereits mit x86-basierten Applikationen kombinieren.
Für sie ist der Schritt hin zu einer einzelnen integrierten Lösung vergleichsweise einfach, da sie ihre FPGA-Software beziehungsweise IP-Cores lediglich portieren müssen. War diese bereits dahingehend ausgelegt, dass sie in Richtung x86er-Prozessor über PCI-Express kommuniziert, ist das vergleichsweise schnell umgesetzt, denn die CPUs der neuesten Generation (Intel Atom E600C-Serie) werden nicht mehr über den FSB (Front-Side-Bus) angesprochen, sondern über PCI-Express. Dadurch spart der Entwickler den Chipsatz und es sind nicht mehr zwei Bauelemente (CPU und FPGA) von zwei Lieferanten (Intel und Altera) zu integrieren, sondern nur noch von einem. Da aktuelle FPGA-Cores sehr oft PCI-Express implementiert haben, konnten Anwender bereits wenige Wochen nach dem Launch erste Applikationen auf den Singleboard- Computer Microspace MSMST portieren, der das Tandem- Modul x86-CPU und FPGA nutzt; beispielsweise ein Motion-Control-Anbieter und ein Anbieter von Medizingeräten.
Zentrale Berechnung der Bewegungsführung
Das Embedded-Board bietet für die Realisierung der kundenspezifischen I/Os einen HSMC-Steckplatz (High-Speed Mezzanine Card), über den die vom FPGA unterstützten Schnittstellen herausgeführt sind. Mit den entsprechenden Steckkarten lassen sich viele I/OKonfigurationen bereits während der Evaluierung zusammenstellen und die FPGA-Programmierung schnell implementieren. Altera, dessen FPGA-Technologie Intel nutzt, liefert seine kompatiblen HSMCs meist bereits mit den passenden IP-Cores. Kontron unterstützt mit entsprechenden HSMC-Implementierungen eine Reihe von ethernetbasierten Bussystemen wie Profinet, Ethercat, Ethernet/IP und Modbus-TCP sowie andere industrietypische Kommunikationsschnittstellen (CAN, RS485, RS232, GPIO), Massenspeicher (SATA) sowie Video-Eingabe und -Ausgabe wie Camera-Link und LVDS. Die Applikations-Evaluierung kann mit dem SBC daher bereits nach wenigen Handgriffen und Installationsroutinen starten.
Nach der Evaluierung übernimmt Kontron optional auch die serienreife Entwicklung bis hin zur Fertigung der kundenspezifischen Plattform. Da bis zur einsatzbereiten Lösung einiges an Entwicklungsaufwand anfällt, eignet sich die aktuell vorgestellte Lösung vor allem für OEMs sowie für Entwickler mit FPGA-Know-how. Darüber hinaus plant Kontron, applikationsfertige Standard-Plattformen mit FPGA zu entwickeln. Langfristig ist davon auszugehen, dass das Ökosystem rund um die FPGA-Technologie zu Standard-Lösungen tendieren wird und zwar abhängig davon, wie oft x86er und FPGA im Tandem von einem Anbieter vertrieben werden. Insofern sollte jeder OEM prüfen, ob sich solche Lösungen für seine Aufgabenstellungen eignen. Interessant ist die Kombination von FPGA und x86 vor allem für Anwendungen, die kontinuierlich anzupassen sind, beispielsweise aufgrund neuer Vorschriften und Normen oder kundenspezifischer Adaptionen. Letzteres ist häufig bei Antriebslösungen der Fall.
Anwender profitieren hier davon, dass sie – in Kombination mit schnellen Feldbussen – beispielsweise die Berechnung der Bewegungsführung zentral zusammen mit der Soft-SPS und Visualisierung implementieren können.
Programmierung: Software wird fest verdrahtet
High-Speed- Mezzanine-Cards (HSMC) führen die im FPGA mittels IP-Cores definierten Schnittstellen heraus.
© KontronAls Entwicklungsumgebung für den FPGA können Anwender das Tool Quartus II von Altera einsetzen. Ebenso gibt es Thrid-Party-Entwicklungstools, die zum Teil als Open-Source verfügbar sind und den HDL-Code erzeugen. FPGA-Cores lassen sich auch in Matlab Simulink grafisch generieren und über den DSP-Builder von Altera in HDL-Code umwandeln. Zudem stehen fertige IP-Cores für dedizierte Schnittstellen am Markt zur Verfügung. Ist die gewünschte Logik für eine Hardware-Schnittstelle implementiert, verhält sich der FPGA wie eine in Hardware realisierte Schnittstelle und wird von den Applikationsprogrammen auch genauso über ein API (Application Programming Interface) angesprochen.
Hat der FPGA eine eigene Logik, zum Beispiel spezielle Regelungen für die Bewegungsführung, kann die übergeordnete Steuerungslogik diese Algorithmen aufrufen und auf deren Parameter zugreifen. In der Praxis wird häufig beides – Schnittstellen und interne Logik – in einem FPGA implementiert, so dass Lösungen zumeist sehr individuell ausfallen. Mit zunehmender Verbreitung des FPGA/x86er- Tandems sind aber auch Standard-Implementierungen denkbar, die einzig und alleine den bislang notwendigen Chipsatz einer Embedded-Plattform ersetzen.
Dank der Möglichkeit, einen x86er-Prozessor mit einem FPGA zu nutzen, gehören fest vorgegebene Chipsatz-Feature-Sets bei Embedded-Computern der Vergangenheit an. Mit der FPGA-Technologie können Entwickler die Schnittstellen und Funktionen individuell programmieren.
Autor: Andres Kammermann ist Verkaufsleiter bei der Firma Kontron in Lutterbach, Schweiz.
CPU-Tandem im Detail
Der Single-Board-Computer Microspace MSMST im PCIe/104-Formfaktor ermöglicht dank des integrierten Altera Arria II GX FPGA über ein anpassungsfähiges I/O-Design. OEMs benötigen dazu lediglich passende IP-Cores und entsprechende High-Speed-Mezzanine Cards (HSMC). Bereits validierte IP-Cores sind für viele Schnittstellen wie CAN-Bus, serielle Schnittstellen (SPI-Master/UART) sowie PCI-Express, I²C und GPIO verfügbar. Der SBC ist für den Einsatz im erweiterten Temperaturbereich (zwischen –40 °C und +85 °C) ausgelegt und mit der Intel-Atom-E600C-Prozessorserie mit bis zu 1,3 GHz und 2 GByte DRAM ausgestattet. Der integrierte Graphics Media Accelerator (Intel GMA 600) hat bis zu 128 MByte RAM sowie je ein LVDS (18/24 Bit) und SDVO-Interface.
Videosignale werden über optionale Mediaboards für VGA oder DVI ausgegeben. Für HD-Audiosignale stehen optional SPDIF (Sony/ Philips digital Interface) sowie zwei analoge Ports zur Verfügung. Für Speichermedien gibt es zwei SATA-Schnittstellen. Weiterhin stehen zweimal USB (2.0) sowie optional einmal Gigabit-LAN zur Verfügung. Die Integration der kundenspezifischen I/O-Optionen erfolgt über den PCI-Express-Bus des Moduls oder über die HSMC-Schnittstelle. Das Trusted-Platform-Modul (TPM) sorgt für die Hardware- Verschlüsselung aller übertragenen Daten.















