Schnelle Entwicklung eines Geräts für Maschennetzwerke, das mit mehreren Protokollen kompatibel ist

Von Jim Turley

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Vernetzte Geräte werden oft mithilfe einer von mehreren Maschentopologien miteinander verbunden, bei denen auf Netzwerkstabilität, Reichweite und niedriger Leistungsaufnahme Wert gelegt wird. Bisher mussten sich Entwickler in der Regel für eines dieser konkurrierenden und inkompatiblen Protokolle entscheiden und dann den Software-Stack auf der gewählten Hardwareplattform implementieren. Beides ist nicht einfach, und beides ist jetzt wahrscheinlich nicht mehr nötig.

Durch Fortschritte bei der Integration haben Entwickler nun die Möglichkeit, einen kostengünstigen kleinformatigen Controller für Maschennetzwerke zu wählen, der mehrere konkurrierende Standards, darunter Thread, Zigbee und Bluetooth Low Energy (BLE), unterstützt. Das ermöglicht Flexibilität auf verschiedenen Ebenen:

  • Entwickler können mit dem Design beginnen und sich erst zu einem späteren Zeitpunkt im Entwicklungszyklus für ein Protokoll entscheiden.
  • Entwickler können das beste Protokoll für die Anwendung empirisch, mit einem einzelnen Gerät und einer Entwicklungsplattform testen und auswählen.
  • Für mehrere Anwendungen und geographische Regionen kann die gleiche Plattform zum Einsatz kommen.
  • Geräte können mit einem Protokoll bereitgestellt und später mit einem Firmware-Upgrade auf ein anderes Protokoll umgestellt werden.

Dieser Artikel erläutert das Prinzip drahtloser Maschennetzwerke und stellt die drahtlose SoC-Familie Mighty Gecko und zugehörige Entwicklungstools von Silicon Labs vor. Anschließend wird gezeigt, wie Entwickler dies als Plattform für die schnelle Erstellung eines funktionierenden Maschennetzwerkes verwenden können, das auf verschiedenen konkurrierenden Netzwerkprotokollen basiert.

Was ist ein drahtloses Maschennetzwerk?

Drahtlose Maschennetzwerke unterscheiden sich von den üblichen sternförmigen Netzwerktopologien wie Wi-Fi- oder Punkt-zu-Punkt-Protokollen durch die ursprüngliche Bluetooth-Spezifikation. In einem Maschennetzwerk können Datenpakete von einem vernetzten Gerät zum nächsten „springen“, bis sie ihr Ziel erreicht haben (Abbildung 1). Das einzelne Gerät muss lediglich innerhalb der Reichweite eines anderen Geräts im Netzwerk liegen, um mit allen anderen Geräten in diesem Netzwerk kommunizieren zu können. Ein Gerät im Keller kann beispielsweise mit einem Gerät auf dem Dachboden kommunizieren, auch wenn keines der beiden Geräte genug Reichweite hat, um das andere direkt zu erreichen. Ein gutes Maschenprotokoll optimiert die Route den Anwendungsanforderungen entsprechend.

Diagramm eines sternförmigen Netzes im Vergleich mit einem Maschennetzwerk

Abbildung 1: Ein sternförmiges Netz (oben) hat einen zentralen Router oder Zugangspunkt, über den alle Knoten kommunizieren müssen, während in einem Maschennetzwerk (unten) alle Knoten zusammenarbeiten, um Daten im Netz zu verteilen. (Bildquelle: Silicon Labs)

Weil alle Geräte in einem Maschennetzwerk beim Weiterleiten von Nachrichten zu ihrem Ziel zusammenarbeiten, kann das Netz fehlende, fehlerhafte oder ausgeschaltete Knoten tolerieren. Wenn jeder Knoten in Reichweite von mehr als einem anderen Knoten liegt, ergibt sich so ein sehr stabiles und fehlertolerantes Netz. Das Konzept ähnelt der TCP/IP-Protokollsuite, die dem Internet zugrunde liegt: Datenpakete finden irgendwann ihr Ziel, wenn auch nicht immer auf direktem Weg.

Es gibt verschiedene konkurrierende Protokolle für Maschennetzwerke, die alle nicht miteinander kompatibel sind, obwohl sie auf denselben Prinzipien basieren. Beispiele sind Zigbee, Thread und BLE. Alle arbeiten im selben 2,4-GHz-Band, aber sie verwenden unterschiedliche Maschenprotokolle und können daher nicht zusammenarbeiten.

Jedes drahtlose Maschenprotokoll hat seine Vor- und Nachteile, und Entwickler müssen sich entscheiden, welcher Standard am besten für ihr Projekt ist. Manchmal ziehen Entwickler es vor, ihr eigenes drahtloses Maschennetzwerk zu erstellen, statt einen der Standards zu übernehmen. Dies kann Sicherheitsgründe haben, der Produktdifferenzierung oder der Umsetzung einer einzigartigen Kombination von Merkmalen dienen.

Einführung zu Mighty Gecko

Um die Flexibilität zu maximieren und Design und Entwicklung zu verkürzen, ist es ratsam, einen Controller für drahtlose Netzwerke zu wählen, der mehrere Standards unterstützt. Dies gibt Entwicklern auf viererlei Weise Flexibilität. Erstens verlagert es die Entscheidung über den Netzwerkstandard auf einen viel späteren Punkt im Designzyklus, zu dem eventuell besseres Kundenfeedback oder mehr Marktinformationen verfügbar sind. Zweitens ermöglicht es das Testen verschiedener Netzwerkstandards im Labor und die Auswahl des besten Standards anhand empirischer Daten. Drittens ermöglicht es die Bereitstellung der gleichen Plattform in mehreren Produkten, die verschiedene Netzwerkstandards verwenden. Das kann in dem Moment besonders nützlich sein, in dem Märkte auf verschiedenen Kontinenten bedient werden. Viertens kann das Gerät oder die Plattform im Betrieb geändert, erweitert oder aufgerüstet werden, vielleicht sogar das unterstützte Netzwerk gewechselt werden.

Um Entwicklern diese Flexibilität zu geben, entwickelte Silicon Labs eine Familie drahtloser SoC-Geräte für Maschennetzwerke mit der Bezeichnung „Mighty Gecko“ (Abbildung 2). Diese Familie (mit der internen Bezeichnung EFR32MG) enthält mehrere verwandte Mitglieder, die alle auf demselben 32-Bit-Prozessorkern Arm®-Cortex®-M4 für 40 MHz basieren.

Diagramm der SoC-Familie Mighty Gecko von Silicon Labs (zum Vergrößern anklicken)

Abbildung 2: Basierend auf einem Arm-Cortex-M4 hat die SoC-Familie Mighty Gecko beinahe alles, was ein Controller für ein drahtloses Maschennetzwerk benötigt. (Bildquelle: Silicon Labs)

Auswählen können Sie die Größe des On-Chip-Flash-Speichers (256, 512 oder 1024 KB), die Größe des internen SRAM (32, 64, 128 oder 256 KB), den Gehäusetyp und den Temperaturbereich. Alle SoCs der Familie Mighty Gecko sind für den industriellen Temperaturbereich (-40 °C bis +85 °C) ausgelegt, manche für einen erweiterten oder für die Automobiltechnik geeigneten Temperaturbereich (-40 °C bis +125 °C) qualifiziert.

Als System-on-Chip (SoC) hat die Familie Mighty Gecko fast alles, was ein Controller für ein drahtloses Netzwerk benötigt. Der Funkbereich oben links im Blockdiagramm enthält zwei separate HF-Bausteine: einen für das 2,4-GHz-Band mit bis zu 19 dBm Sendeleistung, der für Thread, Zigbee und BLE eingesetzt wird, und einen separaten Sub-GHz-Funkbaustein mit bis zu 20 dBm Sendeleistung für die Implementierung proprietärer Netzwerke.

Der Chip verfügt auch über eine umfassende On-Chip-Energieverwaltung, einen Betriebsspannungsbereich von 1,8 bis 3,8 Volt, einen integrierten DC/DC-Wandler und die Fähigkeit, auf ein Funksignal hin „aufzuwachen“, sodass der gesamte Chip im energiesparenden Standby-Modus „schlafen“ kann, bis er ein Funkpaket erhält. Zudem ermöglichen integrierte Signalstärkeerkennung, Präambelmustererkennung, Frameerkennung und Timeout, dass der Chip diesen Ruhemodus nur bei den Funksendungen aufgibt, die für ihn relevant sind, und nicht bei jeglichem Funkverkehr.

Statt eine Karte auf Mighty-Gecko-Basis selbst zusammenzustellen, ist es viel einfacher, mit einem gebrauchsfertigen Evaluierungs- und Entwicklungskit zu beginnen. Das Maschennetzwerk-Starterkit SLWSTK6000B verfügt über die gesamte Hardware und Software, die zum Einrichten und Testen eines kleinen Maschennetzwerks erforderlich ist.

Das Kit enthält: drei identische Kartensätze, jeweils bestehend aus einer Hauptplatine und einer Auswahl an Plug-in-Funkplatinen (Abbildung 3). Ein einzelner Satz kann zur frühen Evaluierung oder Softwareentwicklung dienlich sein, aber um das Netzwerk zu testen, sind mindestens zwei erforderlich, und um die Maschennetzwerk-Fähigkeiten zu testen, mindestens drei. Deshalb macht es Sinn, dass das SLWSTK6000B-Kit drei vollständige Sätze enthält.

Bild: Starterkit SLWSTK6000B von Silicon Labs

Abbildung 3: Ein SLWSTK6000B-Starterkit enthält drei identische Sätze, bestehend aus Hauptplatine und Plug-in-Funkplatinen, um ein kleines Maschennetzwerk zu erstellen. (Bildquelle: Silicon Labs)

Was in der Mitte der Hauptplatine fast wie ein großer IC aussieht, ist in Wirklichkeit ein LCD-Display (Abbildung 4). Das monochrome Display mit 128 × 128 Pixeln hat einen sehr geringen Stromverbrauch und speichert Pixeldaten intern, sodass es nicht aktualisiert werden muss. Der Mighty-Gecko-Mikrocontroller-Chip befindet sich auf der kleineren Plug-in-Funkplatine.

Bild: Hauptplatine und Funkplatine aus dem Maschennetzwerk-Starterkit SLWSTK6000B von Silicon Labs

Abbildung 4: Hauptplatine und Funkplatine aus dem Maschennetzwerk-Starterkit SLWSTK6000B Die große Komponente in der Mitte ist ein LCD-Bitmap-Display. (Bildquelle: Silicon Labs)

Die Plug-in-Funkplatinen sind bei allen Hauptplatinen abnehmbar und austauschbar, und das Kit enthält zwei verschiedene Typen für jede Hauptplatine (insgesamt sechs Funkplatinen). Alle Platinen im Kit unterstützen Zigbee und Thread im 2,4-GHz-Band, aber es sind auch andere Platinen mit anderen HF-Merkmalen und Frequenzen verfügbar, darunter solche, die Sub-GHz-Frequenzen für proprietäre Netzwerke unterstützen.

Es ist ratsam, die Hardware zu montieren und einzuschalten, bevor die Software-IDE installiert und ausgeführt wird, aber es ist kein Muss. Wählen Sie einfach eine Funkplatine aus und drücken Sie sie vorsichtig auf die entsprechenden Steckleisten der Hauptplatine. Die Stromversorgung kann auf verschiedene Weise erfolgen (d. h. über Batterie, AC-Adapter oder USB), aber ein USB-Kabel ist die einfachste Lösung und bietet zusätzliche Vorteile. Der USB-Anschluss befindet sich am linken Rand der Hauptplatine, gegenüber der Funkplatine.

Ist die Platine eingeschaltet, leuchtet eine blaue LED in der Nähe des USB-Verbinders auf und das rechteckige LCD-Display in der Mitte leuchtet. Nach einer kurzen Pause leuchtet außerdem eine grüne „Herzschlag“-LED auf.

Für die nächsten Schritte bleibt die Hardware am besten über das USB-Kabel an das Entwicklungssystem angeschlossen. Es empfiehlt sich, den kleinen Hauptschalter (mit den drei Schalterstellungen) in der Nähe der unteren linken Ecke der Hauptplatine nach ganz rechts auf die Stellung „AEM“ zu stellen.

Software-Installation

Simplicity Studio ist die integrierte „All-in-one“-Entwicklungsumgebung (IDE) von Silicon Labs für Mighty Gecko und für viele andere seiner Mikrocontroller. Herunterladen können Sie die kostenlose Software auf der Simplicity Studio-Downloadseite des Unternehmens. Bevor Sie fortfahren, installieren Sie Simplicity Studio und führen Sie das Programm aus.

Starten Sie Simplicity Studio und folgen Sie den Eingabeaufforderungen, um zusätzliche, für die Entwicklungskit-Hardware und die gewünschte Software erforderliche Konfigurationsschritte auszuführen. Der Prozess ist unkompliziert, erfordert aber ein paar Entscheidungen und eventuell einen zusätzlichen Schritt für die Registrierung der Hardware.

Ist die Hauptplatine wie oben empfohlen noch an den zur Entwicklung verwendeten PC angeschlossen, erkennt Simplicity Studio die USB-Schnittstelle der Hardware während der Installation, lädt automatisch einige hardwarespezifische Funktionen herunter und konfiguriert diese.

Der nächste Schritt ist das Herunterladen der hardwarespezifischen Software für dieses Entwicklungskit. Simplicity Studio bietet zwei Möglichkeiten: „Install by Device“ (nach Gerät installieren) oder „Install by Product Group“ (nach Produktgruppe installieren) (Abbildung 5). Beide Schritte führen am Ende zum selben Ergebnis, aber es ist einfacher, die erste Option zu wählen. Klicken Sie von daher auf die grüne Schaltfläche „Install by Device“.

Bild: Simplicity-Studio-Software

Abbildung 5: Simplicity Studio bietet zwei Wege zum Laden projektspezifischer Software-Unterstützung: entweder nach Gerät oder nach Produktgruppe. (Bildquelle: DigiKey)

Simplicity Studio sollte die Entwicklungskarte automatisch erkennen, aber falls nicht, ist das erforderliche Softwarepaket auch problemlos manuell zu finden. Geben Sie, wie in Abbildung 6 gezeigt, „SLWSTK6000B“ in das Suchfeld ein. Doppelklicken Sie auf das vorgeschlagene Software-Unterstützungspaket und dann auf „Next“.

Bild: Simplicity-Studio-Suchfeld

Abbildung 6: Geben Sie „SLWSTK6000B“ in das Suchfeld ein, findet das Programm schnell die erforderliche Software. (Bildquelle: DigiKey)

Als Nächstes zeigt Simplicity Studio weitere Software-Unterstützung an, die für diese Hardware-Konfiguration erhältlich ist. Ein Teil der Software ist nur für Benutzer verfügbar, die sich bei Silicon Labs registriert haben und/oder die Hardware registriert haben. Einige Optionen können daher, wie in Abbildung 7, ausgegraut und vorübergehend nicht verfügbar sein.

Bild: Zugriff auf Simplicity-Studio-Software

Abbildung 7: Auf einen Teil der Software kann nur bei Nachweis des Hardware-Kaufs zugegriffen werden. (Bildquelle: DigiKey)

Die Software-Stacks für Thread, Zigbee und einige andere Protokolle sind von einem Nachweis des Kaufs der maschennetzwerkfähigen Hardware (zum Beispiel des Entwicklungskits SLWSTK6000B) abhängig. Daher ist es wichtig, die folgenden Registrierungsschritte durchzuführen, bevor Sie fortfahren.

Suchen Sie zunächst den 10-stelligen hexadezimalen Code, der außen auf der Schachtel des Mighty-Gecko-Starterkits steht. (Hilfe bei der Suche nach dem 10-stelligen Schlüssel finden Sie unter „Access to Silicon Labs Wireless Mesh Stacks“ in der Silicon Labs Zigbee & Thread Knowledge Base.) Klicken Sie dann wie oben abgebildet entweder bei der Thread-Option oder bei der EmberZNet-Option (Zigbee) auf den Link „Register Kit“. Es wird dann die Hardwareregistrierung durchgeführt und die Maschennetzwerk-Protokollstacks werden entsperrt. Klicken Sie auf „Next“, um fortzufahren.

Schließlich zeigt Simplicity Studio eine lange Liste mit allen zur Installation empfohlenen Software-Optionen, einschließlich eines oder mehrerer C-Compiler, optionaler Echtzeit-Betriebssysteme, Profiling-Tools und vieler anderer Optionen (Abbildung 8). Bei Bedarf können einzelne Optionen manuell aktiviert oder deaktiviert werden, aber im Allgemeinen ist es am Besten, das vorgeschlagene Software-Loadout zu akzeptieren. Wenn Sie fertig sind, klicken Sie auf „Next“.

Bild: Abschließendes Software-Manifest für Simplicity Studio

Abbildung 8: Das abschließende Software-Manifest für Simplicity Studio zeigt alle Software-Optionen, die zur Installation empfohlen werden, einschließlich eines oder mehrerer C-Compiler, optionaler Echtzeit-Betriebssysteme und Profiling-Tools. (Bildquelle: DigiKey)

Als letzten Schritt zeigt Simplicity Studio die Master-Software-Lizenzvereinbarung für alle Softwarekomponenten an, die gleich installiert werden. Lesen und akzeptieren Sie die Lizenz und klicken Sie dann ein letztes Mal auf „Next“.

Die Software-Installation dauert mehrere Minuten. Ist die Installation abgeschlossen, schließen Sie Simplicity Studio und starten Sie das Programm neu. Jetzt ist alles bereit für das Erstellen von Maschennetzwerk-Anwendungen unter Verwendung von Thread, Zigbee, Bluetooth oder einem benutzerspezifischen proprietären Tool. Simplicity Studio enthält ein paar einfache vorkonfigurierte Demo-Programme und Beispielcode, der verändert werden kann – alles, um sicherzustellen, dass die Entwickler einen guten Start haben.

Fazit

Das Erstellen von drahtlos vernetzten Geräten ist dank eines vorkonfigurierten Kits aus kompatibler Hardware und vorgetesteter Software recht unkompliziert geworden. Die Flexibilität der Hardware ermöglicht eine schnelle, empirische Evaluierung verschiedener Netzwerkprotokolle wie Zigbee, Thread und BLE und lässt sogar einen späteren Wechsel von einem Protokoll auf ein anderes zu. Diese Änderung kann entweder während der Design- und Entwicklungsphase erfolgen oder nach Bereitstellung des Endprodukts.

 
DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Jim Turley

Jim Turley

Jim Turley war Hardware-Ingenieur, bevor er Technologieanalyst und Autor mit den Schwerpunkten Mikroprozessoren, Halbleitertechnologie und eingebettete Systeme wurde. Von 2001 bis 2018 leitete er die Analystenfirma Silicon Insider. Zuvor war er President und CEO eines kleinen, börsennotierten IP-Unternehmens (Intellectual Property) für Mikroprozessoren, nachdem er als Senior Vice President of Marketing für ein weiteres Lizenzunternehmen für Mikroprozessoren tätig war. Er ist Autor von sieben Büchern, war Chefredakteur von „Microprocessor Report“ sowie „Embedded Systems Design“ und war Konferenzleiter der Embedded Systems Conference (ESC).

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey