Das Open-Source-Mikrocontroller-Board Arduino Uno.

Das Open-Source-Mikrocontroller-Board Arduino Uno. (Bild: Farnell)

Allein rund um die Arm-Architektur gibt es mittlerweile zahlreiche Angebote. Die von Arm verfolgte Strategie der offenen Lizenzierung seines geistigen Eigentums am Prozessor hat eine Explosion von Mikrocontrollern und Multicore-SoC-Angeboten ermöglicht. Dies hat wiederum dazu geführt, dass viele kostengünstige, leistungsstarke Angebote auf Platinenebene geschaffen wurden. Rechenleistungen, die früher Tausende von Euro kosteten und maßgeschneiderte Lösungen erforderten, werden heute von vorgefertigten Platinen bereitgestellt, welche selbst in kleinen Mengen deutlich unter 100 Euro kosten.

Bedarfsorientierte Entscheidungen treffen

Wenn es darum geht, eine Kaufentscheidung zu treffen, stellt sich die Frage, wie man schnell auf das richtige Angebot kommt in einem Spektrum, das von Designs auf Basis von Arm Cortex-M-Prozessoren bis hin zur fortschrittlichen Rechenleistung von Multicore-Cortex-A-Prozessoren reicht, welche jetzt häufig von KI- und Grafikbeschleunigern begleitet werden.

In einigen Fällen kann es deutliche Unterschiede geben, sobald das erforderliche Leistungsniveau berücksichtigt wird. Ist der Anwendungsdurchsatz nicht das Hauptanliegen, bieten die Einplatinencomputer von Arduino gute, kostengünstige Optionen für Code zur Steuerung von Hardware-Peripheriegeräten. In anderen Fällen kann Linux notwendig sein, da es große Codebasen bewältigen kann. Dies wiederum erfordert typischerweise die Verwendung einer virtuellen Speicherverwaltungseinheit, wie sie in den Arm-Cortex-A-Prozessoren zu finden ist.

Die Leistung kann auch bei Platinen, die auf Cortex-A-Prozessoren basieren, über einen weiten Bereich unterschiedlich sein. Beispielsweise basiert Beaglebone Black auf einem einzigen Cortex-A8-Anwendungsprozessorkern, der von mehreren Cortex-M3-MCUs für die Echtzeitverarbeitung begleitet wird. Der Raspberry Pi 4 verwendet den späteren Cortex-A72 in einer Quad-Core-Konfiguration, welche für eine höhere Gesamtleistung sorgt. Eine Vorhersage, wie dieser im Vergleich zum Beaglebone AI-64 abschneiden würde, das einen Dual-Core-Cortex-A72 mit drei Cortex-R5-Kernen kombiniert, ist jedoch schwieriger.

Die Alternativen werden klarer, wenn die I/O-Antwort- und Softwaredurchsatzanforderungen der Zielanwendung berücksichtigt werden. Beispielsweise sind die Cortex-R5-Prozessoren für die Echtzeitsteuerung optimiert, bei welcher viele I/O-Kanäle und Interrupts verarbeitet werden müssen. Die Cortex-A-Kerne konzentrieren sich auf den Anwendungscode-Durchsatz anstatt auf I/O.

Embedded-Boards mit Fokus auf künstlicher Intelligenz

Obwohl Embedded-Platinen häufig Cortex-A- mit Cortex-M- oder Cortex-R-Prozessoren kombinieren, um I/O- und Echtzeit-Steuerschleifen zu bewerkstelligen, werden heute andere Coprozessoren immer häufiger eingesetzt, z. B. Beschleuniger mit Fokus auf künstliche Intelligenz (KI). Diese Verschiebung ergibt sich durch die Notwendigkeit, trainierte neuronale Netze und andere maschinelle Lernmodelle auf Embedded- und Edge-Computing-Hardware zu verwenden. Es hat sich gezeigt, dass sich neuronale Netze für eine Vielzahl von Edge-Computing-Anwendungen gut eignen, wie zur Verfolgung von Objekten in komplexen Umgebungen und zur Erkennung von Anomalien.

Der Beaglebone AI-64 bietet Entwicklern ein komplettes System für KI und maschinelles Lernen mit den Erweiterungsmöglichkeiten der Beagle-Bone-Plattform.
Der Beaglebone AI-64 bietet Entwicklern ein komplettes System für KI und maschinelles Lernen mit den Erweiterungsmöglichkeiten der Beaglebone-Plattform. (Bild: Farnell)

Prüfung der richtigen Platine für den Industrieeinsatz

Ein wichtiger Anwendungsfall für die Erkennung von Anomalien liegt in der vorausschauenden Wartung, welche anhand kleinster Änderungen der Vibrationen, der Wärmeentwicklung und anderer Signale feststellt, ob ein Gerät repariert oder gewartet werden muss, bevor es vollständig ausfällt. Die vorausschauende Wartung mit KI kann Kosten senken und den Durchsatz in Industrieanlagen erhöhen, da keine routinemäßige Wartung mehr erforderlich ist. Selbst für routinemäßige Wartungen, wenn gar keine Reparaturen nötig sind, müssen Geräte oder ganze Produktionslinien in regelmäßigen Abständen abgeschaltet werden.

Obwohl es möglich ist, einige neuronale Netzmodelle auf Allzweck-Kernen wie der Cortex-A-Baureihe auszuführen, haben die Hersteller den Bedarf an zusätzlicher Leistung mit Angeboten wie dem Beaglebone AI-64 erkannt, der neben den Allzweck-CPUs den C7x+-Beschleuniger in Kombination mit einer fortschrittlichen Vektor-Gleitkommaeinheit bereitstellt. Diese Produkte liefern die Art von numerischer Verarbeitung, die nicht nur für die Durchführung von Inferencing an KI-Modellen, sondern auch für die Unterstützung eines Online-Trainingselements erforderlich ist.

Während das Inferencing in der Regel eine ganzzahlige Arithmetik verwendet, erfordert das Training von neuronalen Netzen im Allgemeinen die zusätzliche Präzision, die Gleitkommazahlen bieten. Obwohl ein umfangreiches Training normalerweise in der Cloud durchgeführt wird und das resultierende Modell auf den Edge-Computer heruntergeladen wird, bietet die lokale Gleitkommafunktion die Möglichkeit, eine Feinabstimmung des Modells vor Ort durchzuführen und eine erweiterte Datenmanipulation bereitzustellen, um dem Modell bessere Quelldaten zur Verfügung zu stellen.

Eine höhere Leistung für KI

Eine höhere Leistung für KI kann durch Platinen wie der vom Modell J1010 von Seeed Studio erzielt werden, das auf der Nvidia-Jetson-Technologie basiert und mit einem Arm-Cortex-A57-Host-Prozessor gekoppelt ist. Die 128 GPGPU-Kerne (Universal Graphics Processing Unit) können 500 GFLOPS liefern. Für komplexere Modelle verwendet die Baureihe J20 ein Jetson-Xavier-Modul mit einem Spitzendurchsatz von 21 Tera-Operationen pro Sekunde.

Vergleich für verschiedene industrielle Anwendungen

Auch wenn die Leistung für die Zielanwendung immer eine Schlüsselmetrik für die Auswahl von Platinen sein wird, spielen andere Überlegungen oft eine zentrale Rolle bei der Reduzierung einer potenziell langen Liste von Kandidaten auf eine engere Wahl. Im Bereich der industriellen Steuerung spielen Aspekte wie die Länge des Produktlebenszyklus, die Beständigkeit gegen Umweltgefahren und der Zugriff auf I/O eine wichtige Rolle bei der Suche nach einer Standardplatine, welche die Anwendung unterstützen kann. Der Raspberry Pi beispielsweise ist in erster Linie auf eine kompakte Form ausgelegt und bietet möglicherweise nicht die optimale Positionierung von I/O-Ports für ein Gerät, das auf einem Rack oder einer Schiene montiert werden soll.

Andere Platinen, bei denen der Großteil der I/O-Ports entlang einer Seite der Platine angeordnet ist, können leichter in das endgültige Gehäuse integriert und an Kabel angeschlossen werden. Darüber hinaus bieten Platinen, die für industrielle Anwendungen konzipiert sind, oft eine umfangreichere Unterstützung für die I/O-Erweiterung. Sowohl die Beaglebone- als auch die Arduino-Produktfamilie unterstützen jetzt eine umfangreiche Palette von Cape- bzw. Shield-Erweiterungen, welche eine enorme Vielfalt an I/O-Optionen bieten.

Bei Anwendungen wie der Maschinenüberwachung, der industriellen Inspektion und der Sensorverarbeitung werden Temperaturverträglichkeit und Vibrationsfestigkeit häufig wichtige Überlegungen sein. Steckverbinder, die für den Desktop-Einsatz entwickelt wurden, können sich in einer Umgebung, in der die Maschine starken mechanischen Vibrationen ausgesetzt ist, leicht lösen. Platinen, die für den Büro- oder Heimgebrauch entwickelt wurden, können in einer Umgebung, in der die Temperatur größere Extremwerte erreichen kann, anfälliger für Ausfälle sein. Eine Möglichkeit, diese Schwierigkeiten anzugehen, besteht in der Verwendung spezieller Gehäuse, die Kabelmanagementlösungen und eine Temperaturregelung durch Lüfter oder Wärmetauscher enthalten.

Standardplatinen für den Einsatz in Industrieumgebungen

Es stehen jedoch auch Standardplatinen zur Verfügung, die speziell für den Einsatz in Industrieumgebungen ausgelegt sind. Ein Beispiel ist das Beaglebone Black Industrial, das auf dem Cortex-A8-Prozessor AM335x von Texas Instruments basiert und anderen Platinen in diesem Bereich ähnelt, jedoch einen Betriebstemperaturbereich von -40 bis +85 °C bietet. Die von Arduino hergestellten Portenta-Platinen, die auf Arm-Cortex-M-Multicore-Mikrocontrollern beruhen, sind so konzipiert, dass sie im gleichen erweiterten Temperaturbereich arbeiten und sich für die Maschinensteuerung in der industriellen Umgebung eignen.

Der Fokus auf die industrielle Steuerung spiegelt sich auch in den integrierten I/O-Vorrichtungen wider, welche unter anderem RS485- und CANbus-Feldbusanschlüsse sowie analoge Schnittstellen zu Temperatursensoren und 4-20-mA-I/O-Schleifen unterstützen und WLAN-, USB- und Ethernet-Ports umfassen.

Integration von Programmierunterstützung

Entwicklungsunterstützung ist ebenfalls eine wichtige Überlegung und kann sogar der wichtigste Aspekt sein. Die Verkürzung der Projektzeit wird im hohen Maße durch die Verfügbarkeit der vielen Open-Source-Toolkits ermöglicht, die jetzt für die Linux-Umgebungen verfügbar sind und von Platinen-Familien wie Raspberry Pi und Beaglebone unterstützt werden. In der Vergangenheit war es eine Voraussetzung für Embedded-Entwickler, mit Low-Level-Programmiersprachen wie C und C++ und Assemblersprache auf Treiberebene vertraut zu sein, während heute viel in interpretierten Sprachen wie Python erfolgen kann.

Rückansicht des Einplatinencomputers Beaglebone.
Rückansicht des Einplatinencomputers Beaglebone. (Bild: Farnell)

Linux ist jedoch nicht unerlässlich, um Zugang zu einfacheren Entwicklungstools zu erhalten. Wo Stromverbrauch und Kosten in der Zielanwendung wichtig und die Anwendungsanforderungen vergleichsweise gering sind, erweisen sich Linux-fähige Platinen oft als zu teuer und unübersichtlich. In Situationen wie der Echtzeitsteuerung mit mehreren Echtzeit-Sensoreingängen bietet die Arduino-Plattform viele Vorteile und zwingt Entwickler nicht, auf Python zu verzichten. Die Arduino-IDE bietet volle Unterstützung für Python und das Ökosystem unterstützt auch Bildverarbeitungsfunktionen durch die OpenMV-Software. Dies ermöglicht die Erstellung von Robotersystemen und intelligenten Kameras mit minimalem Hardware-Footprint.

Embedded-Systeme von Arduino bis Jetson

Mit Embedded-Systemen von Arduino bis Jetson steht Entwicklern eine breite Palette von Angeboten bereit, die sie auf Platinenebene in ihre Systeme integrieren können. Auch wenn die Auswahl zunächst überwältigend erscheinen mag, führen die genauen Anforderungen der Zielanwendung oft zu einer fundierten engeren Wahl von Optionen. Erfahrene Lieferanten wie Farnell, die Zugang zu einer Vielzahl dieser Module bieten, können bei der richtigen endgültigen Entscheidung helfen. (neu)

Autor

Simon Wade, Product Segment Leader, SBC, Farnell

Sie möchten gerne weiterlesen?