LoraWAN

LoRaWAN mit dem STM32WL55

Im Rahmen des Boostcamps 2022 haben wir unser Wissen zu mehrere Technologien vertieft. Dieser Beitrag gibt Einblick in den STM32WL55 Controller von ST, der ein Dualcore General-Purpose Mikrocontroller mit einem Sub-GHz Funk Chip verbindet. Damit konnten wir während dem Boostcamp eine kompakte LoRaWAN Infrastruktur aufbauen und mit den Nucleo Entwicklungsboards damit kommunizieren.

Controller

Abbildung 1: Schmatischer Aufbau Controller

Dualcore
Der STM32WL55 hat zwei Kerne: den Arm® Cortex®‐M4 und den Cortex®-M0+. Die Applikation nutzt den leistungsfähigen M4 CPU, währenddem der Funkstack auf dem M0+ Kern läuft. Die beiden Programme sind im Speicher getrennt abgelegt und besitzen keinen direkten Zugriff zueinander. Die sogenannte Mailbox verbindet die beiden Prozessoren und ermöglicht damit einen Kommunikationskanal.

 

Mailbox
Die Mailbox besteht aus dem Interprocessor Communication Controller (IPCC) und einem geteilten Speicher, der Intercore Memory. Der IPCC ist eine Hardwareperipherie, die dazu verwendet wird, Interrupts beim anderen Kern auszulösen und zu empfangen. Es stehen 12 Kanäle, je 6 für pro Richtung, zur Verfügung. Der IPC Controller verfügt über keinen eigenen Speicher, weshalb die erwähnte Intercore-Memory für den Datenaustausch zwischen den beiden Kernen genutzt wird.

Der Mailbox Multiplexer (MBMUX) ist die zugehörige Firmwarekomponente, die für das Routing der Befehle zuständig ist. Jedes Feature besitzt ein eigenes Interface mit dem MBMUX. Zu den Features zählen folgende Komponenten:

  • System
  • Trace
  • KMS (Key Management Services)
  • Radio
  • Protocol stack

Die Features müssen die IPCC Kanäle für dessen Benutzung reservieren. Dadurch ist die Gestaltung der Kommunikation zwischen den beiden Kernen flexibel auf die Anwendung adaptierbar.

Dieses Mailbox System ermöglicht eine „Remote Procedure Call“ (RPC) Struktur. Die CPU 1 kann Funktionen aufrufen, die auf CPU 2 implementiert sind und umgekehrt. Der Datenaustausch finden über den gemeinsamen Speicher statt.

 

Verschlüsselung
Der STM32WL55 Controller ist mit hardwaregestützten Sicherheitsfunktionen ausgestattet. ST stellt dazu die proprietäre Bibliothek «Key Management Services» (KMS) zur Verfügung, die mit dem PKCS11 Standard konform ist. Mit dem KMS API können sensible Daten, wie zum Beispiel die LoRaWAN Keys, verschlüsselt auf dem Gerät gespeichert und dadurch geschützt werden. Durch die Implementation der „Secure Boot and Firmware Update (SBSFU)“ Funktionalität, wird das Endgerät zudem vor der Installation schädlicher Firmware geschützt.

 

Sub-GHz Radio
Der integrierte Sub-GHz Radio Controller basiert auf einem Semtech SX126x und arbeitet im Frequenzbereich von 150 bis 960 MHz. Als Modulationsarten können LoRa oder (G)FSK verwendet werden. Da der Controller einen grossen Frequenzbereich abdeckt, wird durch ein geeignetes Funk-Frontend das gewünschte Frequenzband selektiert. Damit ist eine länderspezifische Adaption des Endgeräts mit demselben Controller möglich.

Für das Kommunikationsprotokoll kann auf bestehende Stacks zurückgegriffen werden. Für LoRaWAN stellt ST einen BSD-3 lizensierten Stack zur Verfügung. Auch für das Sigfox Netzwerk ist ein prioprietärer Stack von ST verfügbar (ST/Sigfox).

 

Unser Fazit zum STM32WL55
Der STM32WL55 ist ideal für kompakte Designs, die energieeffizient sein sollen und dennoch eine temporär erhöhte Rechenleistung benötigen. Der Controller kombiniert eine Dualcore Funktionalität mit einem Sub-GHz Funk Controller. Das ermöglicht eine One-Chip Lösung und reduziert die zusätzlichen Abhängigkeiten von anderen Bauteilen. Mit der Dualcore Funktionalität ist eine klare Abtrennung der Aufgaben möglich. Die unterschiedlichen Eigenschaften der Kerne begünstigen einen optimierterten Leistungsverbrauch. Der Funk Stack läuft unabhängig und kann mit der Applikation, die sich auf dem anderen Kern befindet, kommunizieren. Das ermöglicht zudem eine unabhängige Firmwareentwicklung der beiden Chips.

Der Sub-GHz Controller ist primär für LoRa ausgelegt. LoRa zeichnet sich durch hohe Reichweite, interferenzresistente sowie energiesparende Übertragung aus. Der Datendurchsatz mit dieser Technologie ist jedoch klein. Deshalb eignet sich diese Technologie gut für Plattformen, die kleine Datenmengen versenden, wie zum Beispiel Sensormesswerte. Durch die Verwendung eines Kommunikationsstacks wie LoRaWAN, kann ein effizientes Netzwerk von Sensorstationen realisiert werden. Man ist aber nicht nur auf LoRaWAN beschränkt, mit dem integrierten Funk Controller lassen sich auch eigene Protokolle umsetzen. So ist es denkbar, ein Point to Point Kommunikations-Protokoll zu implementieren.

 

Anwendungsideen
LoRaWAN kann in vielen Bereichen eingesetzt werden. Die Technologie erweist sich insbesondere im Bereich von IoT als ideal. Sei es zum Beispiel für eine intelligente Stadt-Infrastruktur, zur Aufzeichnung und Überwachung der Luftqualität oder im Bereich der Entsorgung können sich beispielsweise Mülleimer melden sobald diese voll sind.
Im Gesundheitsbereich könnten portable Geräte in ein LoRaWAN Netz angebunden werden, um kritische Messwerte von Patienten über eine weite Distanz zu überwachen. Ein Armband mit Alarmknopf könnte zudem eine Notruffunktion an schwer zugänglichen Orten übernehmen.
In der Landwirtschaft können Messstationen verwendet werden, um wichtige Umweltparameter zu verfolgen und bei kritischen Vorkommnissen wie z.B. Frost, einen Alarm absetzten.

 

Fazit
Das Testen des STM32WL55 in einer vollumfänglichen LoRaWAN Infrastruktur ermöglichte uns einen guten Einblick in den Controller und seine Funktionalitäten. Wir haben unsere Kentnisse mit der Funk-Technologie erweitert und sind für zukünftige LoRaWAN Projekte gut aufgestellt. LoRaWAN bietet ein immenses Potential, wobei den Anwendungsmöglichkeiten nahezu keine Grenzen gesetzt sind.

 

Die CSA Engineering AG unterstützt Sie gerne mit Know-how und Ideen bei der Entwicklung Ihrer individuellen Lösung.

Kontaktiere uns