Embedded-Systeme Auswahl der richtigen Plattform

Die Auswahl der richtigen Plattform für Hardware-Entwicklungen ist schwer. Doch das muss nicht immer so sein.
Die Auswahl der richtigen Plattform für Hardware-Entwicklungen ist schwer. Doch das muss nicht immer so sein.

In der Regel haben Start-ups wenig Zeit sich mit der Hardware-Entwicklung auseinanderzusetzen. Community Boards dienen oft als Notnagel. Doch es gibt auch bessere Möglichkeiten.

Anspruchsvolle Anwendungen wie grafische Mensch-Maschine-Schnittstellen, hochkomplexe Motorregler oder Endgeräte mit künstlicher Intelligenz (KI) nutzen verschiedene Protokolle und vermitteln Daten zwischen zahllosen Schnittstellen. Daher erfordern die Geräte immer höhere Rechenleistungen. Bedingt durch die komplexen Prozessoren steigen unweigerlich die Anforderungen an das Gesamtsystem in Hinblick auf Layout, Stromversorgung und elektromagnetische Verträglichkeit. Nicht zuletzt steigt der Software-Anteil im Vergleich zu Microcontroller-basierten Geräten stark an.

Einsatz von Community Boards

In solchen Umgebungen kommen nun mehrere anspruchsvolle Anforderungen auf einmal zum Tragen. Die Hardware selbst stellt höchste Ansprüche an die Zuverlässigkeit des Signals sowie der Stromversorgung. Bedingt durch aktuelle Fertigungsprozesse und Low-Power-Designs sind Input/Output-Level bis hinunter zu 1,8 V und Signal-Level auf den Speichermodulen bis hinunter zu 1,1 V inzwischen üblich. Dadurch sinkt der Signal-Rausch-Abstand und ein bestmögliches Layout wird immer wichtiger, um einen stabilen Betrieb in allen zulässigen Betriebsumgebungen zu gewährleisten. Ein hochfrequenter Rippelstrom bis in den 100-A-Bereich ist bei modernen Embedded-Prozessoren keine Seltenheit mehr.

Neben dem Layout selbst spielt natürlich auch die restliche Beschaltung eine Rolle. Sehr oft ist die Beschaltung ein wesentlicher Unterschied zwischen den vielfach genutzten Community Boards und industriell tauglichen Plattformen. Das Design der Stromversorgung, EMV-Filter an Ein- und Ausgängen oder sogar eine Schutz­isolierung durch optische Übertrager finden sich auf Community Boards eher selten oder gar nicht.

Auswahl des richtigen Speichers

Last but not least gibt es vor allem beim Flash-Speicher gravierende Unterschiede zwischen Verbraucher- und Indus­trieprodukten. Beim Flash-Speicher für Verbraucherprodukte, wie er in der Regel aus Kostengründen auf den üblichen Maker- und Community Boards zum Einsatz kommt, gibt es keinerlei Aussagen zu Parametern wie Data Retention oder der Anzahl der zulässigen Schreib- und Löschzyklen. Diese Parameter sind sehr stark vom jeweiligen Fertigungsprozess und der Flash-Technologie abhängig und existenziell wichtig, um Feldausfälle aufgrund korrupten Speicherinhalts erfolgreich zu vermeiden. Eine exakte Analyse der zu erwartenden Lebensdauer erfordert genaue Kenntnisse des eingesetzten Flash-Speichers sowie eine gründliche Analyse des Anwendungsfalls – sprich, wie viele Daten werden pro Zeiteinheit in wie vielen Operationen geschrieben. In diesem Bereich sind industrielle Flash-Speicher (vor allem Managed Flash wie eMMC oder auch industrietaugliche SD-Cards) gegenüber Consumer-Bauteilen definitiv im Vorteil.

Neben diesen rein designtechnischen Gründen gibt es noch weitere Punkte, die es sich lohnt, näher zu betrachten, um eine optimal passende Plattform für das eigene Produkt zu gewährleisten. Das sind zum Beispiel:

  • lückenloses Nachverfolgen der Stückliste und Benachrichtigung bei Konfigurationsänderungen der Hardware, aber auch der Software.
  • Spezifikationen, die den genauen Einsatzbereich definieren, inklusive der Steckverbinder.

Abgesehen von der Hardware, liegt ein immer größerer Teil des Entwicklungsaufwands aber in der Software. Das ist wohl der größte Vorteil von Community Boards – allerdings erkauft durch einige gravierende Nachteile.

Hardware-Entwicklung mit SoM

Um den Entwicklungsprozess möglichst effizient durchlaufen zu können, hilft ein sogenanntes Board Support Package (BSP). Das BSP soll die zugrunde liegende Hardware möglichst gut abstrahieren und den Anwendungsentwicklern eine Basis liefern. Es soll den Entwicklern erlauben, auf alle Hardware-Funktionen zugreifen zu können, ohne sich darum kümmern zu müssen, wie sie implementiert sind.

System on Modules (SoM) erlauben den Spagat. Die Module implementieren das Herz des Systems mit den wichtigsten und üblicherweise benötigten Peripheriebausteinen. Dadurch wird sowohl Hardware- als auch Software-Entwicklern enorm viel Arbeit abgenommen, die mit dem eigentlichen Produkt nicht viel zu tun hat. Den Endkunden interessiert in der Regel nicht, welche technischen Finessen im Inneren ihren Dienst verrichten und wieviel Aufwand hierzu nötig war.
Es entscheidet einzig und allein die Funktion, ob etwas für einen bestimmten Einsatzzweck geeignet ist, oder eben nicht. Warum sich also damit herumschlagen und nicht auch in der Hardware-Entwicklung vermehrt auf sogenannte „Building Blocks“ setzen, wie es in der Software-Entwicklung schon seit Jahrzehnten gemacht wird?

Ein Beispiel eines typischen System on Module auf einer Platine inklusive der Systemkomponenten zeigt Bild 1. Die Si­gnale in den grauen Blöcken stehen
dabei am Header zur Verfügung.
Plattformen, die auf ARM Cortex-M basieren, liefern inzwischen enorm viel Rechenleistung und sind für viele industrielle
Anwendungen aus mehreren Gründen erste Wahl (Bild 2):

  • Geringer Leistungsverbrauch
  • Langzeitverfügbarkeit (bis zu 15 Jahren)
  • Weiter Temperaturbereich
  • Große Skalierbarkeit von Rechenleistung von 1x Cortex-A7 bis zu 24x Cortex-A72
  • sehr flexible Peripherieblöcke, die so gut wie jede Hardware direkt ansteuern können
  • integrierte Microcontroller, die gerne für Echtzeit-Anwendungen verwendet werden

Auswahl der Plattform

Sowohl von der Community als auch durch professionelle Partner entsprechend gut unterstützte Plattformen sind die „i.mx-Familie“ von NXP und die „STM32MP1-Familie“ von ST Microelectronics.
Bei geschickter Auswahl der SoM-Plattform ist es möglich, je nach geforderter Flexibilität, Time to Market und Budget-Rahmen für die initiale Hardware-Entwicklung und weiteren Faktoren, die ideale Plattform auszuwählen – und sei es „nur“, um die Produktentwicklung massiv zu beschleunigen. Es ist gängige Praxis, die erste Produktgeneration auf Basis eines SoM auf den Markt zu bringen, und bei entsprechendem kommerziellen Erfolg, im zweiten Schritt die Entwicklung einer eignen Leiterplatte zu beginnen.

Eine mögliche Skalierung ist zum Beispiel, beim ersten Prototypen eine Pico-ITX-Plattform zu verwenden, die ein SoM enthält. Sobald die Machbarkeit geklärt ist, wird ein sogenanntes eigenes Carrier Board entwickelt, auf dem dann entweder ein Einsteckmodul oder eine aufgelötete Variante zum Einsatz kommen. Die Bilder 3 und 4 zeigen mögliche Alternativen. Hervorzuheben ist hierbei, dass ein vollkommen identisches Board Support Package verwendet wird, was den Software-Overhead reduziert. Auch bei der Integration von zusätzlichen Peripherieblöcken wie Display und Touch, Audio sowie zusätzlichen drahtlosen wie auch drahtgebundenen Kommunikationsschnittstellen und vielem mehr sind die Ingenieure von Arrow eingebunden.

Arrow Electronics als Anbieter von technischen Möglichkeiten, bietet Anwendern Zugriff auf eine äußerst umfassende Roadmap – vom Bauteil bis hin zur Systemlösung. Über das Field-Application-Engineering-Team erfolgt die Unterstützung von der Konzeption, über das Prototyping bis hin zu Serie – die fach­liche Tiefe der Unterstützung legt dabei der Anwender fest. Neben Hardware- stehen auch Software-Ingenieure bereit. Sie helfen bei der Anpassung der Linux-Kernel-Treiber, aber auch bei der Integration von eigenen Treibern und Funktionsblöcken bis hin zur Unterstützung bei der Anwendungsentwicklung.