Batteriebetriebene IoT Edge Nodes Sicherer Speicher für den Sensorknoten

Ein batteriebetriebener Sensorknoten muss ökonomisch mit Energie umgehen. Deshalb werden Daten nur paketweise nach einem gewissen Zeitintervall gesendet werden. Dazu ist ein Zwischenspeicher nötig, der jedoch mehr Einfluss auf die aufgenommene Energie hat, als allgemein angenommen wird.

Jahrzehntelang bestand die Grundarchitektur von Sensorknoten aus einem Controller, einem Sensor, einem lokalen Speicher, dem Netzwerk-Anschluss und einer Batterie (Bild 1). Jedes System, das versucht, Daten aus der analogen Welt zu sammeln, baut auf einer Variation dieses Schemas auf. Es geht immer darum, Daten zu sammeln, zu speichern und ausgehend von der Datenanalyse geeignete Maßnahmen zu treffen. Früher sammelten die Sensorknoten Daten und speicherten, falls ein lokaler Speicher vorhanden war, einige Hundert Samples, bevor sie zur Verarbeitung an einen zentralen Hub übertragen wurden. Der Hub verarbeitete die Daten und traf entsprechende Maßnahmen. Die Kommunikation lief gewöhnlich drahtgebunden über einen Feldbus.

Mit dem Aufkommen des Internet der Dinge (IoT) hat jedes einzelne Gerät im Feld begonnen, über das Netzwerk zu kommunizieren. Vorsichtige Schätzungen sagen voraus, dass bis 2020 mehr als zehn Milliarden Geräte vernetzt sein werden. Es bleiben jedoch mehrere unbeantwortete Fragen, die Datenwissenschaftler und Systementwickler heute beschäftigen: Welche Geräte müssen mit der Cloud verbunden werden? Welcher Teil der Verarbeitung kann lokal erfolgen? Und wer zahlt für die Cloud?

Ökonomisch kommunizieren

Der einfachste Ansatz für das IoT ist es, alles in die Cloud hochzuladen und dort zu verarbeiten. Während dies bei kleinen und isolierten Systemen funktionieren kann, müssen die Systementwickler die Kosten für Kommunikation im Vergleich zur lokalen Speicherung und Verarbeitung berücksichtigen, wenn die Welt immer vernetzter wird und viele Systeme versuchen, Informationen hochzuladen. Sie müssen Szenarien untersuchen, die die Häufigkeit der Verbindungen reduzieren. Das kann z.B. bedeuten, Daten lokal zu speichern und zu verarbeiten sowie nur größere Datenmengen als Paket zu senden. Der Begriff »Industrie 4.0« steht für eine Zukunft, in der alle Geräte vernetzt sind. Um den Einsatz optimaler, kosteneffizienter und energiesparender Systeme im Feld zu gewährleisten, muss heute jede Komponente des Systems sorgfältig analysiert werden. Dazu zählt auch der Speicher im Sensorknoten, der nachfolgend näher betrachtet wird.

Sensorknoten werden zunehmend über drahtlose Verbidungen wie Wi-Fi, Bluetooth usw. sowohl untereinander als auch mit einem zentralen Prozessor-Hub verbunden (Bild 2). Mit diesen drahtlosen Protokollen können Sensorknoten an Stellen eingerichtet werden, die wegen der Beschränkungen und Kosten bei der Verlegung drahtgebundener Netzwerke mit traditionellen Systemen nicht zugänglich sind. Ein Netz drahtloser Sensorknoten kann eine gesamte automatisierte Fabrik abdecken und ständig alle kritischen Systemparameter überwachen.

Schwachpunkt Batterie

Es gibt neue Herausforderungen, die bei der Umstellung auf drahtlosen Betrieb angegangen werden müssen. So besteht beispielsweise bei einem herkömmlichen System niemals die Gefahr, dass ihm die Energie ausgeht. Bei drahtlosen Sensorknoten muss dies aber bedacht werden. Diese Knoten müssen so ausgelegt werden, dass sie mit einem äußerst knappen Energiebudget auskommen. Jede Verringerung der Stromaufnahme, die sich wesentlich auf die Lebensdauer der Batterie auswirkt, senkt die Häufigkeit, mit der Wartungsmaßnahmen erforderlich werden. Häufig setzen die Systementwickler aus Kostengründen Lösungen ein, die zu Beginn zwar billiger sind, mit der Zeit wegen des höheren Wartungsaufwands jedoch teuer werden. Einer der größten Kostenfaktoren bei den im Feld eingesetzten Sensorknoten ist der Austausch der eingebauten Batterien. Ein System, das so optimiert ist, dass es sofort 30 % weniger Energie benötigt, verursacht 30 % weniger Wartungskosten durch den Austausch der Batterien.

Eine Analyse der Energieaufnahme eines typischen BLE-Sensorknotens zeigt verschiedene Hauptparameter, die die Lebensdauer der Batterie beeinflussen. Die größten Auswirkungen auf den Energieverbrauch des Systems haben:

  • Leistungsaufnahme des Senderteils beim Upload der Daten
  • Leistungsaufnahme des Controllers bei der Datenerfassung
  • Leistungsaufnahme des lokalen Speichers während der Datenprotokollierung

Die Leistungsaufnahme des Senderteils eines BLE-Systems hängt direkt davon ab, wie häufig der Sensorknoten versucht, eine Verbindung herzustellen und Daten zum Hub zu übertragen. Auch wenn BLE den Upload von rund 500 Bytes alle 10 ms unterstützen kann, gibt es kaum einen Sensorknoten, der Daten mit dieser Rate von 50 KB/s erfasst. Typische Systeme zur Messung von Umweltparametern erfassen, je nach der Sensorumgebung, 100 bis 500 Bytes pro Sekunde. Damit können BLE-Systeme so ausgelegt, dass sie seltener senden, um die Batterielebensdauer zu erhöhen. Längere Inter-valle zwingen das System, mehr Datenpunkte zu speichern als ein System, das Daten jederzeit hochladen kann.

Pufferspeicher für Sensordaten

Die typische interne Speicherausstattung eines IoT-Controllers liegt zwischen 64 KByte und 256 KByte, wobei erhebliche Teile dieses Speichers durch den BLE-Stack und User-APIs zur Durchführung der A/D-Umsetzung sowie andere Verwaltungsaufgaben im Knoten belegt werden. Das führt dazu, dass der interne Speicher beim Protokollieren der Daten nicht ausreicht, sodass häufig externer Speicher eingesetzt werden muss. Da IoT-Sensorknoten im Batteriebetrieb arbeiten, muss der externe Speicher nicht-flüchtig sein, um die Datenhaltung zu gewährleisten. Auch wenn auf dem Markt eine Vielzahl nicht-flüchtiger Technologien angeboten wird, bevorzugen die Systementwickler Speicher mit einer einfachen Schnittstelle und hoher Zuverlässigkeit. Die gebräuchlichsten Kandidaten für externen nicht-flüchtigen Speicher sind EEPROM, Flash-RAM und FeRAM (ferroelektrisches RAM). Da Flash-RAM und EEPROM aber ursprünglich für eine gute Leistung beim Lesen entwickelt worden sind, haben sie erhebliche Nachteile, wenn sie ständig beschrieben werden.

Eine Flash-Zelle kann nur mit neuen Daten »programmiert« werden, wenn sie vorher gelöscht worden ist. Bei der Programmierung einer Zelle wechselt der logische Zustand von »0« auf »1«. Wenn bei der nächsten Aktualisierung die Zelle eine »1» aufnehmen soll, muss sie vorher gelöscht werden. Um die Löschgeschwindigkeit und die Programmierzeiten zu optimieren, setzen die Hersteller von Flash-Speicher verschiedene Seiten-, Block- und Sektor-Architekturen ein. Eine Seite ist die kleinste Datenmenge, die in einem Flash-Speicher gleichzeitig programmiert werden kann. Flash-Bausteine enthalten einen internen Puffer mit der Größe einer Seite zur Zwischenspeicherung der Daten. Wenn die Übertragung über die externe Schnittstelle abgeschlossen ist, leitet der Baustein einen Programmiervorgang bei einer Seite ein, die im Haupt-Array als gelöscht markiert ist. Wenn diese Seite alte Daten enthält, muss sie vor der Programmierung zuerst physikalisch gelöscht werden.

Jeder Löschvorgang führt zu einer Abnutzung der Flash-Zelle, die im Datenblatt des Flash-Speichers über die Wiederbeschreibbarkeit angegeben wird. Typischerweise haben die besten Flash-Bausteine eine Wiederbeschreibbarkeit von einigen Hunderttausend Schreib-/Lösch-Zyklen. Danach ist eine zuverlässige Datenspeicherung nicht mehr gewährleistet. Auch wenn diese Zahl hoch erscheint, reicht sie für die Datenprotokollierung selbst bei Low-End-Systemen nicht aus.