Edge Computing im IoT verlangt nach kundenspezifischen SoCs

| Autor / Redakteur: Edel Griffith * / Sebastian Gerstl

Bild 1: Die SmartEdge-Plattform von S3 Semiconductors enthält sämtliche Building Blocks, mit denen sich ein hochoptimiertes, kundenspezifisches Einzelchip-SoC designen lässt.
Bild 1: Die SmartEdge-Plattform von S3 Semiconductors enthält sämtliche Building Blocks, mit denen sich ein hochoptimiertes, kundenspezifisches Einzelchip-SoC designen lässt. (Bild: S3 Semiconductors)

Viele Hersteller bieten für IoT-Anwendungen optimierte Controller an. Doch diese Universalbausteine sind nicht immer die beste Wahl. Wir erklären, warum und zeigen Alternativen.

Große Rechenzentren bieten die Möglichkeit, auch umfangreiche Datenvolumen effizient und preiswert zu verarbeiten. Auf den ersten Blick ist es daher attraktiv, auch einen Großteil der für Internet-of-Things- und Cyber-Physical-Systeme erforderlichen Datenverarbeitung in die Cloud zu verlagern. Gedanken zur praktischen Umsetzbarkeit wiegen diese meist primär kostengetrieben Überlegungen jedoch oft auf.

Ein großer, oft nicht gleich sichtbarer Kostenfaktor einer IoT-Anwendung kann die Installation sein – insbesondere für Sensorknoten, die an schwer zugänglichen Stellen platziert werden müssen. Dies bringt einige Einschränkungen für das Design des Embedded-Systems mit sich, das meist so kompakt wie möglich sein muss.

Hohe Energieeffizienz ist das A und O für IoT-Geräte

Eine weitere wichtige Überlegung ist der Energieverbrauch des Systems. In vielen Einsatzszenarien ist keine Versorgung über das Stromleitungsnetz möglich – stattdessen muss das System über seine gesamte Lebensdauer von oft vielen Jahren mit der in seiner Primärbatterie gespeicherten Energie auskommen. Die ist sehr begrenzt. Angesichts dieser Faktoren ist für das Embedded-Design eine SoC-basierte Lösung häufig der praktikabelste Ansatz. Denn damit lässt sich fast die gesamte Funktionalität des Knotens in einem einzigen Baustein unterbringen. Da ein SoC mehrere Subsysteme integriert, können diese effizienter miteinander kommunizieren, als es ein Aufbau mit Einzelkomponenten zulassen würde. Kurzum: Das System benötigt in der Regel weniger Energie.

Auch ist es möglich, innerhalb des SoCs die Zusammenarbeit der Module zu optimieren, was den Stromverbrauch auf Systemebene zusätzlich minimiert. Die Kommunikationsbandbreite ist ein weiteres wichtiges Kriterium für die Auswahl von IoT-Devices. An einem entfernten Standort können hohe Funk-Leistungspegel erforderlich sein, um sicherzustellen, dass Daten zuverlässig ein Gateway erreichen. Dies zwingt Entwickler dazu, hocheffiziente Protokolle auszuwählen und sich genau zu überlegen, wie viele Daten vom Knoten übertragen werden sollen. In vielen Fällen reichen die von einem Knoten empfangenen Sensordaten aus, um den Normalbetrieb zu bestätigen. Dann ist es unnötig, diese Tatsache in Form von Nachrichten wiederholt an die Cloud-Applikation zu senden. Dieser Verzicht spart Energie – und schont somit die Batterie.

Intelligentes Melden von Anomalien spart Energie

Eine typische Anwendung für das Internet of Things ist das Überwachen von Maschinen. Wenn Sensoren beispielsweise auffällige Vibrationen detektieren, kann dies auf Unwuchten und fehlerhafte Lager hindeuten. Derartige Anomalien muss das IoT-System sofort melden. In vielen Fällen äußern sich solche Zustandsänderungen jedoch nicht durch das plötzliche Variieren nur einer Variablen, sondern durch eine Kombination mehrerer Faktoren. Sprich: Die Analyse ist nicht trivial. Hier kommt eine rechenintensive Datenverarbeitung ins Spiel, die wie beschrieben im fernen Cloud-Rechenzentrum erfolgen kann.

Es ist jedoch auch möglich, diese Analyse einem IoT-Knoten zu übertragen und so „vor Ort“ auszuführen – sofern dieser performant genug ist. Wichtig dabei ist es, die benötigten Rechenressourcen für diese Aufgabe genau zu ermitteln und zu klären, welche Auswirkungen sie auf die Gesamtstromaufnahme haben. Optimierte Software, die auf einem System mit Coprozessor-Unterstützung läuft, kann den Großteil der Analyse erledigen, ohne dass ein Remote-Server erforderlich ist. Ein weiterer Vorteil der Verarbeitung am Netzwerkzugangsbereich (Edge) ist, dass der IoT-Knoten autonom auf Probleme reagieren kann, sobald die zentrale Netzwerkverbindung ausfällt oder Engpässe aufweist.

Wann immer der Knoten entscheidet, dass die Änderungen wichtig genug sind, um ein Gateway oder einen Server zu benachrichtigen, kann er Hinweise hinsichtlich des langfristigen Verhaltens mit einbeziehen. Dadurch lassen sich beispielsweise Maschinenlernalgorithmen auf lokalen Gateways oder entfernten Servern trainieren. Die Mehrkosten für das Hinzufügen einer kleinen Menge zusätzlicher Daten zu einem zu versendenden Paket sind viel niedriger als das Senden von Daten in einem separaten Paket, sobald die Daten zur Verfügung stehen. Dies ist nur eine der vielen Entscheidungen auf Systemebene, die sich auf die Wirksamkeit eines Edge-Device-Designs auswirken – und die im Vorfeld getroffen werden müssen. Personen an, die bereits an einer Reihe von Edge-Device-Designs beteiligt waren, können hier wertvolles Know-how beitragen.

Standardbausteine sind nicht immer die beste Wahl

Obwohl ein SoC oft die richtige Wahl für einen Edge-Knoten ist, stellt sich die Frage, wer diesen SoC anbietet. Standardbausteine können in vielen Fällen die Anforderungen der Endanwendung nicht erfüllen – insbesondere wenn Aspekte jenseits der reinen Funktionalität berücksichtigt werden sollen. Oder sie sind überdimensioniert.

Ein weiteres Problem, mit dem Entwickler konfrontiert sind, wenn sie Standard-SoCs als Basis für ihre Designs verwenden, ist die Gefahr des Reverse-Engineering. Da Hersteller SoCs für die größtmögliche Auswahl von Designs zur Verfügung stellen wollen, sind die Register-Maps und Befehlssätze leicht zugänglich. Ein weiterer Aspekt beim Einsatz sofort einsatzfertiger Bausteine besteht darin, dass Hersteller sich auf neueste Fertigungsprozesse konzentrieren müssen, um die oft hohen einmaligen Kosten (NRE, Non-Recurring Engineering) für die Entwicklung des SoC-Prozessorkerns wieder einzuspielen.

Die geringeren Kosten, die mit weniger aktuellen, aber dennoch äußerst leistungsfähigen Fertigungsprozessen verbunden sind, werden meist nicht bedacht. Selbst wenn wichtiger, direkt auf dem Chip gespeicherter Programmcode verschlüsselt und erst unmittelbar vor der Ausführung entpackt wird, ist es oft möglich, über die Standard-Debug-Ports das Verhalten des Programms zu verfolgen und die darin gespeicherte Software zu extrahieren.

Ein alternativer Ansatz sind benutzerdefinierte SoC als Basis für das eigene System-Design. Damit lassen sich Hardware-Erweiterungen verwenden, die das Reverse-Engineering erheblich erschweren. Darüber hinaus kann ein kundenspezifisches Design manipulationssicher (Anti-Tampering) ausgestattet werden. Dies macht es extrem schwierig, interne Firmware zu extrahieren oder zu bestimmen, wie der Baustein arbeitet und für welche Anwendung er geeignet ist. Es gibt noch ein weiteres Problem für Nutzer von Standard-SoCs: Selbst wenn ein Design fertiggestellt ist und das System vermarktet wird, kann es jederzeit vorkommen, dass der SoC-Hersteller seine Pläne ändert und die Unterstützung für die Implementierung beendet oder sein Bauteil für obsolet erklärt. Dieses Problem lässt sich dann durch notwendige Investitionen in End-of-Life-Großeinkäufe, die risikobehaftete Suche nach Bausteinen auf dem Graumarkt oder einem möglicherweise teuren Übergang zu einem anderen SoC lösen. Unter Umständen verfügt dieses jedoch nicht über den richtigen Mix an Funktionen oder erweist sich in der Serienfertigung als teurer, weil es eine große Anzahl nicht verwendeter Cores und Schnittstellen enthält.

Anwender behält Kontrolle durch kundenspezifische SoCs

Beim Einsatz kundenspezifischer SoC-Bausteine behält der Nutzer die Kontrolle über die Beschaffung. Foundries beenden eingeführte Fertigungsprozesse nur selten – insbesondere die ausgereiften und gut ausgestatteten Knoten, die jetzt für IoT-Projekte zum Einsatz kommen. Zu den integrierbaren Ressourcen zählt auch eine umfangreiche Unterstützung für analoge, digitale und HF-Schaltungen. Damit lassen sich zum Beispiel I/Os integrieren und so die Größe und Kosten des fertigen Bausteins minimieren.

Entscheidet sich das Entwicklerteam für ein kundenspezifisches SoC, so kann es auch softwarefreundliche Hardwareschnittstellen auswählen. Dadurch muss es sich nicht auf Designentscheidungen des Herstellers verlassen, der sich möglicherweise auf andere Anwendungen konzentriert. Eine effiziente Hardware-Software-Schnittstelle beschleunigt nicht nur die Markteinführung, sondern verbessert auch die Wartbarkeit des Gesamtsystems. Dies wird durch einen SoC möglich, der eine gut durchgeplante Speicher- und Register-Map aufweist, die im Voraus mit den Software-Entwicklern überprüft wird.

Auch Software bestimmt den Stromverbrauch der Hardware

Bild 2: Das Analog-Frontend von S3 Semiconductors stellt Analog-Frontend-(AFE-)IP-Blöcke bereit, die für spezifische Sensorelemente optimiert sind.
Bild 2: Das Analog-Frontend von S3 Semiconductors stellt Analog-Frontend-(AFE-)IP-Blöcke bereit, die für spezifische Sensorelemente optimiert sind. (Bild: S3 Semiconductors)

Darüber hinaus hängt der Energieverbrauch von IoT-Edge-Systemen meist davon ab, wie die Software mit Ereignissen auf Hardware-Ebene interagiert. Softwareentwickler können wertvolle Informationen in das Peripherie-Management einbringen, um den Stromverbrauch zu senken. Zustandsmaschinen zur Peripherie-Verwaltung während der Sleep-Modi können die Effizienz der Software spürbar steigern, indem sie das Echtzeit-Betriebssystem (Realtime Operating System, RTOS) nicht zwingen, häufig nach Daten zu suchen. Intelligente Peripherie ist in der Lage, I/Os abzufangen und zeitweilig mittels Techniken wie etwa direktem Speicherzugriff (DMA) zu speichern, während der Prozessor-Core im Sleep-Modus verbleibt. Damit verbessert sich die Energie-Effizienz des gesamten IoT-Knotens. Überschreitet eine Eingabe einen Schwellenwert, erkennt dies die Zustandsmaschine und aktiviert den Prozessor, so dass er den Zustand bzw. die Bedingung analysieren kann.

Der Software-Overhead lässt sich auch durch das Integrieren einer Hardware-Verschlüsselung reduzieren. Dies senkt nicht nur den Stromverbrauch für die Verschlüsselung und Entschlüsselung, die für die Sicherheit von IoT-Anwendungen immer wichtiger werden. Dadurch verringert sich auch das Risiko, dass das Design ausgespäht wird. Mit spezieller Hardware lassen sich Gegenmaßnahmen gegen Side-Channel-Angriffe und ähnliche Probleme einfacher realisieren. Andere Coprozessoren für die Datenanalyse lassen sich gemeinsam mit dem Softwareteam entwerfen. So lässt sich sicherstellen, dass Vorgänge, die Strom, Zeit und Kosten sparen, optimal für das Design implementiert werden.

S3 Semiconductors hat das Design kundenspezifischer SoCs vorangetrieben und einen Plattformansatz für das Entwickeln eines SoC für IoT/IIoT-Edge-Anwendungen entwickelt. Die „Smart-Edge“-Plattform enthält sämtliche Building Blocks (Schaltungsblöcke, Bild 1), mit denen sich ein optimiertes, kundenspezifisches Einzelchip-SoC designen lässt. Das Anpassen an unterschiedliche Sensoren kann leicht mit spezifischen Analog-Frontend-(AFE)-IP-Blöcken erfolgen, die für ihre jeweilige Aufgabe effizient arbeiten und sicherstellen, dass Entwickler die Leistungsfähigkeit für jedes Sensorelement maximieren können (Bild 2). Damit ergibt sich ein SoC, das für die Anforderungen des IoT-Knotens beziehungsweise des Systemanbieters auf mehreren Ebenen optimiert ist: Funktionalität, Sicherheit, Kosten und Energieeffizienz. Die SoC-Spezialisten können Entwickler in Bezug auf Prozess-, Systemarchitektur-, Schaltungsdesign- und Software-Infrastruktur-Überlegungen beraten, so dass letztlich ein optimal auf die jeweilige Applikation abgestimmtes Ergebnis entsteht.

„Kunden können uns trauen, weil unsere KI-Hardware schon in Endgeräten ist“

„Kunden können uns trauen, weil unsere KI-Hardware schon in Endgeräten ist“

07.06.18 - Wenn KI-Algorithmen in Mobilgeräten auf den Massenmarkt eingesetzt werden sollen, steht auf diesen Anwendungen kein eigenes leistungsstarkes Rechenzentrum für KI-Algorithmen zur Verfügung. Was dann? Ein Gespräch mit Deepak Boppana von Lattice Semiconductor zum Thema KI-Hardware am Netzwerkrand. lesen

NXP bringt Highend-Prozessor für IoT- und Cloud-Computing im Netzwerk-Edge

NXP bringt Highend-Prozessor für IoT- und Cloud-Computing im Netzwerk-Edge

09.10.17 - Während Intel mit x86-basierten Xeon-CPUs aus den Rechenzentren in Richtung Netzwerk drängt, attackiert NXP mit seinem neuen, ARM-basierten LX2160A-SoC von der Flanke in Richtung Datenzentrum. Auf beide wartet bereits Cavium, unter anderem mit seinem ARM-Chip Octeon TX. lesen

* Edel Griffith ist Technical Marketing Manager im Unternehmensbereich Adesto von S3 Semiconductors

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45397192 / Mikrocontroller & Prozessoren)