Schnelle Inbetriebnahme von Designs mit Mikroprozessor und FPGA dank SoMs
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2018-07-25
Für viele Embedded-Designs können Einplatinencomputer (Single Board Computers, SBCs) und System-On-Modules (SOMs) auf der Basis von Mikroprozessoren und Mikrocontrollern verwendet werden (siehe z. B. „Konstruktion eines kostengünstigen industriellen Controllers mit dem Raspberry Pi 3“). Für viele stärker eingebettete Anwendungen sind die Latenzen im Zusammenhang mit softwareabhängigen Reaktionszeiten jedoch nicht tolerierbar.
Diese Anwendungen erfordern die zusätzliche Leistung, die nur über kundenspezifische Hardware bereitgestellt werden kann – und der schnellste Weg zu deren Entwicklung ist die Verwendung eines FPGA.
In diesem Artikel werden die Vorteile der Verwendung von SoMs zur Entwicklung von Embedded-Systemen behandelt, für die die von FPGAs bereitgestellte, zusätzliche Verarbeitungsleistung erforderlich ist. Außerdem werden verschiedene FPGA-SoMs vorgestellt und ihre Verwendung in der Entwicklung von Embedded-Designs diskutiert.
Die Rolle eines FPGA-System-on-Module
Ein SoM erleichtert die Entwicklung von Embedded-Systemen mit maßgeschneiderten Schnittstellen für einen bestimmten Formfaktor, da kein Verarbeitungssystem von Grund auf neu entwickelt werden muss. Entwickler können ein vorgefertigtes und getestetes SoM mit einer vorgefertigten oder kundenspezifischen Trägerplatine verbinden, um ein Embedded-Design zu erhalten, dessen Funktionsweise mit der eines komplett kundenspezifischen Designs identisch ist. Die Entwicklung der Hardware ist jedoch weit weniger zeitaufwendig.
Die Verwendung eines SoM hat gegenüber der Entwicklung völlig neuer Hardware zahlreiche Vorteile. Zu diesen zählen:
- Kosteneinsparungen (unter Berücksichtigung der gesamten nicht wiederkehrenden Kosten im Zusammenhang mit Entwicklung und Debugging von auf einem SoC basierenden Platinen)
- Geringeres Designrisiko
- Wahl zwischen mehreren SoCs (aufgrund der Steckbarkeit des SoM)
- Kleine Grundfläche
- Parallele Entwicklung von Hardware und Software
SoMs besetzen inzwischen die Nische, die zu Zeiten von Durchsteck- und Sockelbauteilen noch von Mikroprozessoren und Mikrocontrollern dominiert wurde. Die Pin-Kompatibilität gestattete es dem Entwickler, aus einer Vielzahl kompatibler Prozessoren mit der passenden Taktrate und der exakt benötigten Speichergröße auszuwählen. Dieser Designansatz wurde jedoch durch eine höhere Pin-Anzahl und oberflächenmontierte Pakete abgelöst. Dies öffnete außerdem eine Tür für SoMs mit Grundflächen und Abmessungen, die denselben Zweck erfüllen wie die früheren pinkompatiblen Mikrocontroller-Familien.
Durch die Verwendung eines SoM für die Computerplattform des Projekts können die Entwickler ihre Anstrengungen und Ressourcen auf die Entwicklung der endgültigen Anwendung fokussieren, anstatt sich mit den Details der Entwicklung einer Computerplattform aufhalten zu müssen. Bei Taktraten von mehreren Hundert Hertz etwa wird das Layout der Platine für mit dem Anwendungsprozessor gekoppelte SDRAMs immer schwieriger, was auf differentielle Leiterbahnverzögerungen, Rauschen, Übersprechen und eine Vielzahl weiterer Herausforderungen zurückzuführen ist. In der Zwischenzeit haben sich die Anbieter von SoMs dieser Herausforderungen angenommen und die Markteinführungszeit verkürzt, indem ein Großteil des Designs bereits fertig ist, bevor mit dem eigentlichen Projekt begonnen wird.
Die Auswahl einer SoM-Familie für ein Embedded-Entwicklungsprojekt erfordert eine sorgfältige Analyse von Faktoren wie den erwarteten Ressourcenanforderungen, der erforderlichen Skalierbarkeit und Zukunftssicherheit des Designs und der Benutzerfreundlichkeit. Es hilft, sich für ein SoM mit einer Grundfläche und Abmessungen zu entscheiden, das eine ausreichend große Auswahl an Alternativen für die bekannten sowie für unerwartete künftige Herausforderungen bietet. Die Auswahl einer SoM-Familie mit mehreren Mitgliedern mit kompatiblen Grundflächen und Steckverbindern erweitert die Auswahlmöglichkeiten des Designteams und sorgt für zusätzliche Zukunftssicherheit.
Eine neuer SoM-Typ auf der Basis von SoCs mit Prozessoren und FPGAs
SoCs mit mehreren Anwendungsprozessoren sind häufiger Bestandteil von SoMs. Eine neue Klasse von SoCs mit eingebettetem Prozessor und FPGA, beispielsweise das komplett programmierbare Zynq®-7000-SoC von Xilinx, ist jedoch ebenfalls für das SoM-Design geeignet. Die Zynq-7000-SoCs von Xilinx kombinieren die Software-Programmierbarkeit eines Arm®-Cortex®-A9-Anwendungsprozessors mit der Hardware-Programmierbarkeit eines FPGA. Die integrierten Arm-Mikroprozessoren des Zynq-SoC, die mit gehärteten Peripheriekomponenten und einem SDRAM-Speichercontroller (dem „Verarbeitungssystem“ des Zynq-SoC) gekoppelt sind, führen sämtliche softwarebasierten Aufgaben aus, die üblicherweise von einem eingebetteten Mikroprozessor oder Mikrocontroller übernommen werden. Das integrierte FPGA hingegen (die „programmierbare Logik“ des Zynq-SoC) bietet Hardware-I/O-Reaktionszeiten sowie Hardwarebeschleunigung für eingebettete Aufgaben, die schneller ausgeführt werden müssen.
Zynq-SoCs von Xilinx sind mit verschiedenen Prozessorkonfigurationen und -geschwindigkeiten verfügbar, was für noch größere Vielseitigkeit hinsichtlich der auf dem Chip verfügbaren FPGA-Struktur sorgt. Die Auswahl einer SoM-Familie wie der Zynq-7000-Familie von Xilinx, die auf einem SoC mit Prozessor und FPGA basiert, bietet mehr Auswahlmöglichkeiten und verbessert die Zukunftssicherheit enorm.
Eine solche SoM-Familie ist die Serie TE0720 (Abbildung 1) mit der zugehörigen SoM-Trägerplatine TE0703 von Trenz Electronic. Alle SoMs basieren auf einem gemeinsamen Formfaktor von 4 x 5 Zentimetern (cm). Die Module der Serie TE0720 von Trenz Electronic enthalten eines von zwei Mitgliedern der Zynq-7000-SoC-Familie von Xilinx:
- Das TE0720-03-2IF basiert auf dem SoC Zynq-Z-7020 von Xilinx.
- Das TE0720-03-1QF basiert auf dem SoC Zynq-Z-7020 von Xilinx.
- Das TE0720-03-1CR basiert auf dem SoC Zynq-Z-7020 von Xilinx.
- Das TE0720-03-1CFA basiert auf dem SoC Zynq-Z-7020 von Xilinx.
- Das TE0720-03-2IFC3 basiert auf dem SoC Zynq-Z-7020 von Xilinx.
- Das TE0720-03-L1IF basiert auf dem SoC Zynq-Z-7020 von Xilinx.
- Das TE0720-03-14S-1C basiert auf dem SoC Zynq-Z-7014S von Xilinx.
Alle diese SoMs verfügen über gemeinsame Steckverbinder, die sich aus drei LSHM-Mischpol-Steckverbindern von Samtec zusammensetzen, die über Hunderte I/O-Pins sowie Erdungspins zwischen dem SoM und der Trägerplatine verfügen.

Abbildung 1: Das TE0720-SoM von Trenz Electronic verwendet entweder das Zynq-Z-7020 von Xilinx oder das Z-7014S-SoC zusammen mit 1 GB SDRAM und zusätzlichen nicht flüchtigen Speichern. (Bildquelle: Trenz Electronic)
Die Flexibilität des SoM-Designansatzes lernt man vielleicht am besten zu würdigen, indem man die TE0703-Trägerplatine für die SoM-Serie TE0720 betrachtet und sich über die I/O-Pins praktisch in das SoM „hineinarbeitet“, um einen Blick auf die Ressourcen des SoM zu werfen (Abbildung 2).

Abbildung 2: Bei der TE0703-Trägerplatine von Trenz führen die vielen I/O-Pins der zugehörigen SoM-Platine mit 4 x 5 cm zum restlichen Embedded-System. (Bildquelle: Trenz Electronic)
Das Blockdiagramm der TE0703 zeigt die zahlreichen I/O-Fähigkeiten der SoM-Platine:
- Ethernet mit 1 Gbit/s
- USB und Mini-USB
- Micro-SD-Karte
- Hunderte von I/O-Pins (konfigurierbar als einzelne I/O-Pins oder als LVDS-Paare (Low-Voltage Differential Signaling))
SoMs und Einplatinencomputer – beide haben ihre Berechtigung
Verarbeitungsgeschwindigkeit, Reaktionszeit und I/O-Fähigkeiten sind Unterscheidungsmerkmale von SoMs. Einplatinencomputer wie die Familien Arduino Uno und Raspberry Pi werden jedoch ebenfalls häufig in Embedded-Systeme integriert, da sie ebenfalls über breite Unterstützung verfügen. Aus diesem Grund bietet Trenz Electronic ebenfalls Versionen der Arduino- und Raspberry-Pi-Platinen an, nämlich den TE0723-03M ArduZynq und den TE0726-03M ZynqBerry, die beide auf einem Zynq-7000-SoC von Xilinx basieren. Diese Einplatinencomputer schlagen eine Brücke zu vielen erhältlichen Plugin-Karten wie Arduino-Shields sowie HATs und Bonnets für den Raspberry Pi.
Es besteht ein erheblicher Unterschied bezüglich der FPGA-Fähigkeit zwischen den Zynq-Z-7010-SoCs, die in die Einplatinencomputer TE0723-03M ArduZynq und TE0726-03M ZynqBerry integriert sind, und den Fähigkeiten der SoMs aus der TE0720-Serie von Trenz Electronic, in die die Zynq-Z-7014S- und Zynq-Z-7020-SoCs integriert sind. Obwohl alle Zynq-7000-SoCs über einen Dual-Core-Arm-Cortex-A9-Prozessor verfügen, unterscheiden sich die Komponenten hinsichtlich des FPGA, wie Tabelle 1 zeigt:
|
Tabelle 1: Die Zynq-7000-SoCs von Xilinx, die in den SoMs (dem Z-7014S und dem Z-7020) von Trenz Electronic zum Einsatz kommen, verfügen über sehr viel mehr FPGA-Ressourcen als das Zynq-Z-7010 in den Einplatinencomputern ArduZynq und ZynqBerry von Trenz Electronic. (Datenquelle: DigiKey)
Darüber hinaus verfügen die Einplatinencomputer TE0723-03M ArduZynq und TE0726-03M ZynqBerry über 512 MB Onboard-SDRAM, wohingegen es bei den TE0720-SoMs 1 GB ist.
Trenz Electronic hat für seine SoMs mehrere Trägerplatinen im Angebot, unter anderem die TE0703-05, die TE0706-02, die TE0701-06 und die TEB0745-02. Diese Platinen bieten ein breite Palette an standardisierten I/O-Fähigkeiten. Eine dieser Trägerplatinen kann für eine bestimmte eingebettete Anwendung geeignet sein, wobei es jedoch auch möglich ist, das Design des Embedded-Systems in eine kundenspezifische Trägerplatine zu partitionieren, die für alle SoMs einer Produktfamilie geeignet ist, um unterschiedlichen Verarbeitungsanforderungen gerecht werden zu können. Diese Flexibilität unterstreicht den Nutzen eines Designansatzes, der auf der Verwendung einer SoM-Familie als Basis eines Embedded-Designs basiert. Die konsistenten und standardisierten Steckverbinder des SoM gestatten das problemlose Austauschen eines SoM gegen ein anderes, um auf Änderungen bei den Systemspezifikationen zu reagieren.
Fazit
SoMs können erheblich dazu beitragen, die zur Prototyperstellung von Embedded-Systemen benötigte Zeit zu verkürzen sowie das Projektrisiko zu verringern. Sobald man sich für ein SoM mit einer bestimmten Grundfläche und Steckverbindern entschieden hat, können SoMs mit mehr FPGA-Ressourcen angeschlossen werden, um wachsenden Bedürfnissen gerecht zu werden. Des Weiteren können verschiedene kompatible SoMs auf der Basis von Zynq-7000-SoCs von Xilinx, die die Verarbeitungsleistung eines Dual-Core-Arm-Cortex-A9-Prozessors mit FPGA-Ressourcen verbinden, ebenfalls zur Beschleunigung der Entwicklung von Embedded-Designs beitragen.
Dieser SoM-basierte Ansatz bei Embedded-Designs verkürzt nicht nur die zur Entwicklung des Hardwareanteils benötigte Zeit, sondern ermöglicht auch den frühzeitigen Beginn mit der Softwareentwicklung und verringert so das Designrisiko. Für ausreichend Flexibilität ist auf diese Weise ebenfalls gesorgt, falls sich Umfang und Anforderungen des Projekts ändern sollten.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.




