Aufgrund der umfassenden Unterstützung durch Smartphones und anderen Mobilgeräten hat sich Bluetooth zu einer bevorzugten drahtlosen Technologie entwickelt, um Verbraucher mit ihren personenbezogenen, elektronischen Geräten wie etwa Wearables und medizinischen Geräten zu verbinden. Mit der Einführung von Bluetooth 5 können IoT-Entwickler neben der Nutzung all dieser Vorteile die immer häufiger geförderten, höheren Reichweiten und Datenraten im Zusammenhang mit Sensornetzwerken und anderen IoT-Anwendungen bereitstellen.

Eckdaten

Die Verfügbarkeit integrierter, Bluetooth-fähiger MCUs für drahtlose Netzwerke hat dazu beigetragen, dass Entwickler diese Komponenten schneller in ihre Designs integrieren können. Bei der Implementierung sicherer Bluetooth-Netzwerke sehen sich die Entwickler jedoch mit verschiedenen Herausforderungen hinsichtlich der Erstellung von Bluetooth-kompatiblen Diensten und dem Programmieren von Anwendungen konfrontiert, die diese Komponenten sicher nutzen können. Dieser Artikel zeigt, dass Entwickler mit einer fortschrittlichen Bluetooth-Komponente samt zugehöriger Entwicklungsumgebung von Cypress Semiconductor diese meistern und sichere Hubs und Sensornetzwerke mit Bluetooth-Konnektivität bereitstellen können.

Um Designs für diese Anwendungen zu bauen, steht den Entwicklern eine wachsende Auswahl an Bluetooth-5-fähigen Komponenten zur Verfügung. Diese Komponenten mit einem vollständigen HF-Subsystem und Prozessorkern sind in der Lage, die Low-Level-Transaktionen im Zusammenhang mit der Bluetooth-Kommunikation auszuführen. Jedoch können der geforderte niedrige Stromverbrauch sowie die sichere Konnektivität in IoT-Netzwerken zu Komplikationen bei der Bereitstellung von Bluetooth in diesen Anwendungen führen.

Integrierte Lösung mit Bluetooth

Cypress Semiconductor entwickelte den CYW20719-MCU speziell für die steigende Nachfrage nach batteriebetriebenen Bluetooth-Designs für das IoT, Wearables, personenbezogene Elektronik und andere Anwendungen mit geringer Leistungsaufnahme. Neben seinen energiesparenden Funktionen stellt die Unterstützung von Bluetooth-5-Funktionen wie beispielsweise des adaptiven Frequenzsprungverfahrens einen bedeutenden Vorteil bei den stark ausgelasteten Funkumgebungen im Zusammenhang mit diesen Anwendungen dar.

Ausgestattet ist die Komponente mit einem Bluetooth-Funksubsystem mit geringer Leistungsaufnahme, einer ARM-Cortex-M4-CPU mit Gleitkommaeinheit (FPU, Floating Point Unit) sowie mehrere Peripherieblöcke (Bild 1). Des Weiteren beschleunigt eine im Chip integrierte Sicherheits-Engine die Verschlüsselung mit öffentlichen Schlüsseln und bietet Verschlüsselungsfunktionen, die für sichere Bluetooth-Vorgänge unerlässlich sind. Eine ebenfalls im Chip integrierte Energieverwaltung (PMU, Power Management Unit) schließlich sorgt für einen energieeffizienten Betrieb, den viele Hersteller für Bluetooth-fähige Komponenten in zunehmendem Maße fordern.

Das Funksubsystem des CYW20719 umfasst vollständige 2,5-GHz-HF-Signalpfade zum Senden (Tx) und Empfangen (Rx). Für den Rx-Signalpfad dämpft die Komponente bandexterne Signale. Auf diese Weise erreicht sie eine Rx-Empfindlichkeit von -95,5 dBm und ermöglicht den Entwicklern gegebenenfalls die Verwendung der Komponente ohne zusätzliche Filter. Im Tx-Signalpfad befindet sich ein integrierter Leistungsverstärker (PA, Power Amplifier), den Cypress für konfigurierbare Sendeleistungspegel von -24 dBm bis zu einem Maximum von +4 dBm entwickelte. Neben dem integrierten physischen Layer (PHY) verfügt die Komponente auf dem Chip auch über einen Bluetooth-5-MAC-Layer (Medium-Access-Control). Dank der optimierten Rx- und Tx-Signalpfade nimmt die Komponente lediglich 5,9 mA Rx-Strom und 5,6 mA Tx-Strom auf.

Bild 1: Der CYW20719 von Cypress Semiconductor vereint eine Arm-Cortex-M4-CPU, ein vollständiges Bluetooth-Subsystem und integrierte Softwaredienste und stellt somit eine komplette, Bluetooth-5-fähige Wireless-MCU für energieeffizente Designs dar.

Bild 1: Der CYW20719 von Cypress Semiconductor vereint eine Arm-Cortex-M4-CPU, ein vollständiges Bluetooth-Subsystem und integrierte Softwaredienste und stellt somit eine komplette, Bluetooth-5-fähige Wireless-MCU für energieeffizente Designs dar. Cypress Semiconductor

Um den Stromverbrauch weiter zu minimieren, bietet die Komponente mehrere Stromverbrauchsmodi, die ein integrierter PMU verwaltet. Die PMU versorgt separate HF- und digitale Stromversorgungskreise und umfasst einen integrierten Abwärtsregler, einen Regler mit geringem Spannungseinbruch (LDO-Regler) für digitale Schaltungen und einen separaten LDO-Regler für HF-Schaltungen (Bild 2). Zusätzlich bietet die PMU einen separaten Bypass-LDO-Regler (BYPLDO), der automatisch den Abwärtsregler umgeht und die LDO-Regler für die digitalen und HF-Schaltungen versorgt, falls die Versorgungsspannung VBAT unter 2,1 Volt fällt.

Im Betrieb passt die PMU die Stromversorgungskreise entsprechend dem ausgewählten Modus an. Verfügbare Modi sind der vollständig aktive Modus, der Leerlaufmodus sowie drei verschiedene Ruhemodi. Im Modus mit dem geringsten Stromverbrauch, dem SDS-Modus (Shut-Down-Sleep-Modus), schaltet die PMU alle Komponentenblöcke mit Ausnahme des I/O-Stroms, der Echtzeituhr (RTC, Real-Time-Clock) und einem dedizierten energiesparenden Oszillator (LPO) ab, der für manche Blöcke und den Wakeup-Timer als Quelle zugrunde liegt.

Digi-Key

Bild 2: Die PMU der Cypress CYW20719 verwaltet separate Stromversorgungskreise, die in verschiedenen Energiesparmodi selektiv deaktiviert werden können, um den Stromverbrauch in energiesparenden Designs zu senken. Cypress Semiconductor

Selbst mit diesen minimalen Ressourcen kann der CYW20719 im SDS-Modus eine Verbindung zu einer anderen, zuvor gekoppelten Bluetooth-Komponente aufrechterhalten, wobei er hierfür weniger als 70 Mikroampere (μA) verbraucht. In diesem Modus lässt sich jedoch der Speicher nicht verwenden. Daher ist ein Warmstart der Komponente erforderlich, bevor sie wieder komplexere Vorgänge ausführen kann. In den zwei weiteren Ruhemodi, dem Power-Down-Sleep- (PDS-) und dem Schlafmodus, ist die Komponente etwas aktiver. Unter anderem lässt sich in diesen Modi der Speicher weiterhin verwenden. Dies ist mit einem entsprechenden, schrittweisen Anstieg des Stromverbrauchs verbunden. Selbst dann können Entwickler mit sehr begrenzten Leistungsbudgets den PDS-Modus für die Advertising-Kanäle von Bluetooth Low Energy sowie aktiven Verbindungen nutzen. Durch eine Verwaltung der Stromverbrauchsmodi der Komponente können Entwickler einen überaus energiesparenden Betrieb ermöglichen, ohne dabei Abstriche bei der Funktionalität machen zu müssen.

Systemintegration

Trotz seiner flexiblen Betriebsmodi und dem hohen Funktionsumfang benötigt der CYW20719 einige wenige zusätzliche Komponenten, um die Hardwareintegration in ein Systemdesign abzuschließen. Da wichtige Komponenten bereits auf dem Chip integriert sind, müssen die Entwickler lediglich einige wenige Widerstände, Kopplungskondensatoren, einen 2,2-µH-Induktor wie den Murata LQH2MCN2R2M52L und Ferritperlen wie die Murata BLM15AG601SN1D hinzufügen (Bild 3). Nach wie vor ist es ratsam, einen Bandpassfilter zwischen der CYW20719 und den Anpassungskomponenten für die Antenne zu platzieren, um Oberschwingungen zu verringern.

Digi-Key

Bild 3: Da alle wichtigen Funktionen auf der Cypress CYW20719 bereits integriert sind, können Entwickler die Hardwareintegration mit wenigen zusätzlichen Komponenten wie etwa einem empfohlenen Bandpassfilter zur Verringerung von Oberschwingungen abschließen. Cypress Semiconductor

Auf ähnliche Weise erleichtert die Komponente die Softwareintegration durch ihren On-Chip-Speicher inklusive 1 MB Flash, 512 KB RAM und 2 MB ROM. Während Flash und ROM den Entwicklern Speicherbereiche für ihre Anwendungen bieten, ist der On-Chip-ROM für die Firmware der Komponente sowie Bluetooth-Profile reserviert. Zur Unterstützung erforderlicher Firmware-Updates verfügt die Komponente über einen Patch-RAM. Hierbei handelt es sich um einen Bereich im RAM, der über eine Patch-Steuerlogik verbunden ist. Schließlich verfügt die Komponente noch über einen permanent aktiven Speicherbereich, der selbst in den Energiesparmodi die Speicherung von Daten ermöglicht.

Obwohl die auf dem Chip integrierten RAM- und Flash-Speicher im Vergleich zu anderen modernen Komponenten nicht unbedingt üppig erscheinen, sorgt die umfangreiche, in den ROM integrierte Softwareunterstützung dafür, dass für typische Anwendungen stets genügend Speicher zur Verfügung steht. Cypress konfiguriert den On-Chip-ROM mit einem umfassenden Software-Stack, der vom niedrigsten Hardware Abstraction Layer (HAL) bis hinauf zur Schnittstelle zur Anwendungsprogrammierung (API) für die Wiced-Umgebung (Wireless Internet Connectivity for Embedded Devices) alles abdeckt (Bild 4).

Aufbauend auf dem HAL führt die ROM-Firmware ein integriertes Echtzeit-Betriebssystem aus und übernimmt sämtliche Interaktionen mit der Hardware der CYW20719. Gleichzeitig umfasst die ROM-Firmware eine breite Palette an Bluetooth-Service-Layern, inklusive derjenigen, die das für Bluetooth unentbehrliche Generic Attribute Profile (GATT) sowie das Generic Access Profile (GAP) unterstützen.

Digi-Key

Bild 4: Die 2-MB-ROM-Firmware der Cypress CYW20719 bietet einen vollständigen Software-Stack inklusive Echtzeit-Betriebssystem, wodurch Komplexität und Footprint des Anwendungscodes des Entwicklers verringert werden. Cypress Semiconductor

Bei typischen Anwendungen führt das System den Entwicklercode aus dem RAM heraus aus, wobei das System die Wiced-APIs verwendet, um auf das Echtzeit-Betriebssystem, Peripheriegeräte und weitere Komponentenfunktionen zuzugreifen. Obwohl die RAM-Anforderungen erheblich variieren können, lässt der Großteil des Anwendungscodes für die CYW20719 üblicherweise noch ausreichend freien RAM für Daten- oder Arbeitsspeicher.

Für Anwendungen mit besonders großen Codebasen können Programmierer die Fähigkeit des CYW20719 zur Verarbeitung von Anwendungscode nutzen. In diesem Fall lädt die Wiced-Umgebung den vom Entwickler angegebenen Code und schreibgeschützte Datenbereiche in den On-Chip-Flash und die verbleibenden Abschnitte in den RAM. Dieser Ansatz verringert den RAM-Footprint einer Anwendung, kann sich aber auf die Leistung auswirken. Folglich müssen Entwickler bei der Angabe von XIP-Codebereichen vorsichtig sein und dafür sorgen, dass das System zeitkritische Funktionen in den RAM lädt.

Anwendungsentwicklung

Obwohl der CYW20719 die Designintegration vereinfacht, können sich für Entwickler, die auf sichere, energieeffiziente Bluetooth-Anwendungen setzen, auch weiterhin erhebliche Verzögerungen bei der Fertigstellung des Hardwaredesigns und der Anwendungsentwicklung ergeben. Das Evaluierungskit CYW920719Q40EVB-01 von Cypress nutzt die Wiced-Softwareumgebung, um ein Referenzdesign und eine umfassende Entwicklungsplattform zur Erstellung von Bluetooth-5.0-kompatiblen IoT-Anwendungen bereitzustellen.

Digi-Key

Bild 5: Das Evaluierungskit CYW920719Q40EVB-01 kombiniert einen CYW20719 auf einem Trägermodul mit mehreren Basiskartenkomponenten zur Unterstützung einer typischen IoT-Anwendung. Cypress Semiconductor

Das Evaluierungskit ist um ein Trägermodul herum aufgebaut, das den CYW20719 (Bild 3) sowie einen  XC6119N-Spannungsdetektor von Torex Semiconductorumfasst, der mit dem RST_N-Pin des CYW20719 verbunden ist, um einen Reset durchzuführen. Das Trägermodul ist auf die Basiskarte des Kits aufgelötet, auf der sich ein 9-achsiger Bewegungssensor LSM9DS1TR von ST Microelectronics, ein NTC-Thermistor aus der NCU-Serie von Murata, die GPIO-Ports der CYW20719, ein Debugging-Anschluss, Arduino-kompatible Steckleisten für Erweiterungen sowie Schalter und LEDs als einfache Benutzerschnittstelle befinden (Bild 5).

Die Beispielsoftware von Cypress verwendet den CYW20719 und weitere Komponenten für die umfassende Demonstration von sicherer Bluetooth-Konnektivität in einem repräsentativen IoT-Netzwerk, das mehrere Sensorkomponenten und einen zentralen Hub umfasst (Bild 6). Mit dieser Beispielanwendung können Entwickler verschiedene Sicherheitsstufen für die Kopplung einer Sensorkomponente und dem Hub untersuchen und die Auswirkungen dieser verschiedenen Sicherheitsstufen auf den Datenaustausch evaluieren.

Für die Hardware der Anwendung verwenden die Entwickler ein separates CYW920719Q40EVB-01-Kit, das als sicherer Hub konfiguriert ist, sowie zusätzliche Kits, die als individuelle Sensoren im Netzwerk konfiguriert sind. Ein PC, der über eine serielle Verbindung mit den einzelnen Kits verbunden ist, fungiert als Konsole zum Einstellen von Parametern, zum Anzeigen von Daten, zum Ausdrucken von Debugging-Meldungen sowie für anderweitige Interaktionen mit der Beispielanwendung.

Digi-Key

Bild 2: Die PMU der Cypress CYW20719 verwaltet separate Stromversorgungskreise, die in verschiedenen Energiesparmodi selektiv deaktiviert werden können, um den Stromverbrauch in energiesparenden Designs zu senken. Cypress Semiconductor

Cypress bündelt die Software für diese Beispielanwendung in seinem C-Sprachpaket CYW20917 BLE Secure Hub für seine WICED-Entwicklungsumgebung. In diesem Fall enthält das Paket zwei Projekte für die zwei separaten Rollen in der Beispielanwendung. Ein Projekt, das auf dem als sicherer Hub angegebenen Kit ausgeführt werden soll, ermöglicht dem Hub die Unterstützung mehrerer Bluetooth-Protokollrollen. Insbesondere soll die Hub-Software die Kopplung auf separaten Sicherheitsebenen mit verschiedenen als Slaves ausgeführten Kits ermöglichen. Auf den als Slaves konfigurierten Kits wird das Sensorprojekt ausgeführt, das die Datenerfassung und -kommunikation auf der Sicherheitsebene veranschaulichen soll, die während der Kopplung eingerichtet wurde. Jedes Projekt umfasst mehrere Header- und Codemodule, die die einzelnen funktionalen Rollen unterstützen.

Im Bluetooth-Protokoll definiert eine Lookup-Tabelle, die sogenannte GATT-Datenbank (DB), Art und Funktionen einer Bluetooth-Verbindung über einen Satz definierter Dienste, von denen jeder einzelne einen Satz unterstützter Merkmale umfasst. Die Bluetooth-Spezifikation enthält beispielsweise vordefinierte GATT-Dienste, die von Dienstprogrammfunktionen wie Warnmeldungen und Komponenteninformationen bis hin zu anwendungsspezifischen Funktionen wie Blutdruckmessungen und Pulsoximetern reichen. Das eine grundlegendere Rolle als die GATT-Dienste spielende Bluetooth Generic Access Profile (GAP) einer Komponente definiert, wie sie sich selbst dem Netzwerk gegenüber zu erkennen gibt und wie sie Verbindungen herstellt, sobald sie erkannt wurde.