Verwendung von Bluetooth-5.1-fähigen Plattformen für präzise Bestandsüberwachung und die Positionsbestimmung in Innenräumen – Teil 2
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2019-08-14
Anmerkung des Herausgebers: Teil 1 dieser zweiteiligen Serie beschreibt die Fähigkeiten von Bluetooth 5.1 Direction Finding, einem Zusatz zur Bluetooth-Low-Energy-Firmware. Entwickler erhalten damit die Möglichkeit, Anwendungen für die Standortbestimmung auf Basis des Einfallswinkels (Angle of Arrival, AoA) und des Austrittswinkels (Angle of Departure, AoD) zu entwickeln, beispielsweise für Systeme zur Bestandsüberwachung und Systeme zur Positionsbestimmung in Innenräumen (IPS, Indoor Positioning System). Dieser zweite und letzte Teil betrachtet geeignete Entwicklungsplattformen und SoCs, auf denen Anwendungen auf Basis von Bluetooth 5.1 Direction Finding entwickelt und konfiguriert werden können.
Die aktuelle Version der Bluetooth Core Specification, Version 5.1, erleichtert Entwicklern die Implementierung von Bestandsüberwachung und IPS-Systemen. Insbesondere fügt die Spezifikation eine Dauertonerweiterung (Continuous Tone Extension, CTE) zu einem Bluetooth-Paket hinzu, damit ein Empfänger „IQ“-Daten (die gleichphasigen und quadraturphasigen Datensignale, die zur Berechnung der Position eines Transceivers benötigt werden) ohne Modulationsstörungen aus dem HF-Signal extrahieren kann. Des Weiteren können Entwicklern jetzt erheblich leichter das Protokoll für die Durchführung der IQ-Abtastung konfigurieren, indem sie die Host-Controller-Schnittstelle (HCI, Host Controller Interface) zur Konfiguration des Controllers für eine derartige Abtastung verwenden.
Das Extrahieren von IQ-Daten ist jedoch nach wie vor kein einfaches Unterfangen, da hierfür ein optimal ausgeführtes Antennenarray in Kombination mit einem drahtlosen Mikroprozessor benötigt wird. Und selbst wenn IQ-Daten zur Verfügung gestellt werden, müssen diese Daten noch verarbeitet werden, um Faktoren wie Mehrwegempfang, Signalpolarisierung, Laufzeitverzögerungen sowie Rauschen und Jitter zu berücksichtigen, bevor der Standort des Senders berechnet werden kann.
Dieser Artikel beschreibt, was für eine praktische Lösung benötigt wird. Anschließend stellt er geeignete Entwicklungsplattformen und -module von Dialog Semiconductor, Silicon Labs und Nordic Semiconductor vor, die zur Erstellung von Anwendungen auf Basis von Bluetooth 5.1 Direction Finding verwendet werden können. Abschließend geht der Artikel auf die ersten Schritte für die Prototyperstellung, das Testen und die Überprüfung von Designs auf diesen Plattformen ein.
Architektur des Bluetooth-5.1-Pakets
Bluetooth-5.1-Pakete enthalten eine CTE aus digitalen Einsen, um dafür zu sorgen, dass die Antenne für diesen Teil des Signals eine konstante Frequenz empfängt (anstelle der modulierten Frequenz, die normalerweise zur Übertragung von Bluetooth-Daten verwendet wird). Außerdem wird dieser Datenstring nicht „geweißt“ (d. h. entkorreliert). Ein entsprechend konfigurierter BLE-Empfänger, der ein Paket mit einem CTE-Signal empfängt, ermittelt während der CTE-Periode IQ-Abtastwerte. Ein einzelner IQ-Abtastwert besteht aus Amplitude und Phasenwinkel des Signals, die in einem kartesischen Koordinatensystem dargestellt werden (Abbildung 1).
Abbildung 1: Bei der Funkpeilung ermittelt als Erstes die empfangende BLE-Komponente während der CTE-Periode eines Bluetooth-Pakets für jede Antenne in einem Array IQ-Abtastwerte zu Phasenwinkel und Amplitude. Diese Abtastwerte werden in einem kartesischen Koordinatensystem mit (I,Q) angegeben. (Bildquelle: Bluetooth SIG)
Die Bluetooth Core Specification (Version 5.1) beschreibt Änderungen am BLE-Controller, die für AoA- und AoD-Methoden entweder die Verwendung einer verbindungsbehafteten („gekoppelten“) oder einer verbindungslosen Kommunikation ermöglicht. Allerdings wird die AoA-Methode üblicherweise für verbindungsbehaftete Anwendungen wie etwa die Bestandsüberwachung verwendet, wohingegen die AoD-Methode für verbindungslose Anwendungen wie beispielsweise IPS-Systeme verwendet wird.
Bei der verbindungsbehafteten Funkpeilung werden standardmäßige Bluetooth-5.1-Pakete verwendet, an deren Ende die CTE angehängt ist. Im Gegensatz dazu wird bei der verbindungslosen Funkpeilung eine CTE zu periodischen Bluetooth-Advertising-Paketen hinzugefügt (Abbildung 2).
Abbildung 2: Diese Abbildung zeigt die Bluetooth-5.1-Paketstruktur mit Position und Dauer der CTE. Verbindungsbehaftete Anwendungen hängen die CTE an Standardpakete an, wohingegen verbindungslose Anwendungen ein Advertising-Paket verwenden. (Bildquelle: Bluetooth SIG)
In verbindungsbehafteten wie auch in verbindungslosen Szenarien müssen vom Entwickler einige Einrichtungs- und Konfigurationsschritte vorgenommen werden, um am Sender CTEs und am Empfänger eine IQ-Abtastung zu initiieren. Die Auswahl von AoA- oder AoD-basierten Anwendungen bestimmt den exakten Prozess.
Entwicklung einer Funkpeilungslösung
AoA eignet sich für Anwendungen wie die Bestandsüberwachung, bei denen der Sender ein mobiles Objekt wie beispielsweise ein kostengünstiges Tag ist, wohingegen die Empfänger (oder Positionierer) feste Referenzpunkte sind. Der Vorteil bei dieser Implementierung ist, dass das Tag lediglich die Bluetooth-5.1-Protokollpakete über eine einzelne Antenne (statt über ein Array) übertragen muss. Es muss nicht die rechenintensiven Algorithmen ausführen, die letztendlich die Senderposition ermitteln (siehe Teil 1).
Obwohl das Design eines Tags in einem System zur Bestandsüberwachung relativ einfachen HF-Designprinzipien folgt, erfordert das Tag einen Bluetooth-5.1-Transceiver, damit die Pakete mit CTEs konfiguriert werden können. Bei der Auswahl eines Transceivers ist darauf zu achten, dass die CTE nicht über eine Bluetooth LE Coded PHY (die zur Implementierung der großen Reichweite der Bluetooth-5-Technologie verwendet wird) übertragen werden kann. Stattdessen muss eine Uncoded PHY verwendet werden.
Am Markt sind einige kommerzielle Bluetooth-5.1-Produkte erhältlich, unter anderem das Bluetooth 5 LE-SoC DA14691 von Dialog Semiconductors für Standortserviceanwendungen. Der Chip wird von einem Arm® Cortex®-M33-Mikroprozessor angesteuert und bietet 512 KB RAM. Dialog hat für das DA14691 einen Bluetooth-5.1-Stack bereitgestellt. Silicon Labs hat ebenfalls einen Bluetooth-5.1-Stack für sein BLE-SoC EFR32BG13 herausgegeben. Der Chip nutzt einen Arm Cortex-M4-Mikroprozessor mit 64 KB RAM und 512 KB Flash. Nordic Semiconductor ist sogar noch einen Schritt weiter gegangen und hat mit dem nRF52811 eine neue Hardware- und Softwarelösung für die Funkpeilung auf den Markt gebracht. Dieses BLE-SoC ist kompatibel mit Bluetooth 5.1 und kombiniert einen Arm Cortex-M4-Mikroprozessor mit dem Multiprotokoll-Funkbaustein des Highend-Moduls nRF52840 von Nordic. Der Chip verfügt über 192 KB Flash und 24 KB RAM.
Diese Komponenten eignen sich für Sender und Empfänger in Anwendungen mit Bluetooth-Funkpeilung. Jede Komponente unterstützt die CTE-Übertragung und kann IQ-Abtastwerte ermitteln, und zwar mithilfe von Informationen auf Profilebene, die das Antennenlayout des Senders angeben. Theoretisch können diese Komponenten auch die komplexen Berechnungen durchführen, die erforderlich sind, um den Einfallswinkel des ankommenden Funksignals und daraus die Position des Transceivers zu ermitteln. Doch obwohl die Arm Cortex-M33- und Cortex-M4-Prozessoren in diesen SoCs relativ leistungsstark sind, könnte die Leistung der Anwendung verringert werden, wenn sie neben der Überwachung des Drahtlosprotokolls gleichzeitig komplexe Algorithmen zur Funkpeilung ausführen.
Abhängig von den Leistungs- und Latenzanforderungen der Anwendung könnte ein Entwickler speziell für die Anwendungssoftware einen Companion-Prozessor – für zusätzlichen RAM und Flash – in Betracht ziehen. Das nRF52811 von Nordic beispielsweise kann über I2C- und SPI-Schnittstellen mit einem Companion-Prozessor verbunden werden.
Eine weitere Herausforderung beim Design besteht darin, dass BLE-SoCs aus Kostengründen üblicherweise weder über mehrere Antennenanschlüsse noch über die nötige Schaltfähigkeit verfügen, um die einzelnen Antennen im Array systematisch abzuarbeiten. Folglich wird ein HF-Schalter benötigt, um den Einzelantennenanschluss des BLE-SoC mit den Antennen des Array zu verbinden und zwischen den Antennen umzuschalten, um von jeder einzelnen IQ-Daten zu sammeln (Abbildung 3).
Abbildung 3: In einem System zur Bestandsüberwachung mit AoA-Methode zur Funkpeilung verwendet das Tag eine Einzelantenne und ein herkömmliches BLE-SoC, um Bluetooth-5.1-Pakete mit CTE zu senden. Der Großteil der Berechnungen findet auf der Positioniererseite des Systems mit mehreren Antennen statt. Dort werden die vom Positionierer gesammelten Signaldaten in eine Ortungs-Engine eingespeist, die die Algorithmen für die Funkpeilung ausführt. (Bildquelle: Bluetooth SIG)
Der Empfänger (oder Positionierer) erfordert ein Antennenarray, um – über die IQ-Daten – die Phasendifferenz des Signals zu ermitteln, die aufgrund der unterschiedlichen Entfernungen der einzelnen Antennen im Array von der sendenden Einzelantenne auftritt. Die Differenz zwischen dem Phasenwinkel an jeder Antenne bestimmt den AoA oder den AoD.
Beim Antennenarray handelt es sich üblicherweise um ein einheitlich lineares Array (ULA), ein einheitlich rechteckiges Array (URA) oder ein einheitlich rundes Array (UCA). Das Design des Antennenarrays erfordert viel Erfahrung und häufig ist es für den Entwickler am effizientesten, die Konfiguration des optimalen Arrays sowie die Bereitstellung einer Stückliste für seine Massenfertigung einem Spezialisten zu überlassen (siehe Teil 1 dieses Artikels).
Das Antennenarray, die Companion-Prozessoren, der zusätzliche Speicher und das Antennenmanagement erhöhen die Komplexität am Positioniererende der Lösung zur Bestandsüberwachung sowie die Kosten und den Stromverbrauch. Positiv ist, dass sich die Positionierer üblicherweise an einem festen Standort befinden und somit über das Stromnetz betrieben werden können. Für die meisten Lösungen werden im Vergleich zur Anzahl der Tags relativ wenige der Komponenten benötigt.
AoD-Implementierungen gestalten sich da schon etwas komplexer. In diesem Szenario befindet sich das Antennenarray im Sender. Der Empfänger führt die IQ-Abtastung durch, indem er Messungen mit seiner Einzelantenne vornimmt und Details zum Design des Antennenarrays im entfernten Sender verwendet, um die Messungen bestimmten Antennen zuzuordnen.
In der AoD-Implementierung erfordern feste Positions-Beacons einen Bluetooth-5.1-Transceiver, einen HF-Schalter sowie mehrere Antennen, um das Beacon-Signal zu übertragen. Der zusätzliche Prozessor und Speicher von AoA-Implementierungen werden jedoch nicht benötigt, weil auf dieser Seite der Verbindung keine Signalanalyse durchgeführt wird. Allerdings benötigt der mobile Empfänger trotz nur einer Einzelantenne die Hardware und Software, um die Berechnungen für die Funkpeilung durchzuführen (Abbildung 4). In IPS-Anwendungen beispielsweise handelt es sich beim Empfänger vermutlich um ein Bluetooth-5.1-kompatibles Smartphone, das über ausreichend Prozessor- und Speicherressourcen für diese Aufgabe verfügt.
Abbildung 4: In einem IPS-System mit AoD-Methode zur Funkpeilung verwenden die festen Beacons Antennenarrays, um Bluetooth-5.1-Pakete mit CTE zu senden. Der Großteil der Berechnungen findet auf dem Mobilgerät statt, beispielsweise auf einem Smartphone. (Bildquelle: Bluetooth SIG)
Prototyperstellung mit Bluetooth 5.1
Dialog Semiconductor, Silicon Labs und Nordic Semiconductor konzentrieren sich bei ihren Lösungen derzeit auf den Teil von AoA- und AoD-Anwendungen, der die CTE sendet, solche Pakete empfängt und die IQ-Abtastung durchführt. Dem Entwickler obliegt dann die Entscheidung, welche Ressourcen (d. h. Hardware und Firmware für die Ortungs-Engine) benötigt werden, um die eigentlichen Berechnungen für die Funkpeilung durchzuführen. Allerdings wird sich das in naher Zukunft vermutlich ändern, wenn die Anbieter verbesserte Lösungen zur Funkpeilung auf den Markt bringen.
So bietet beispielsweise jedes der Unternehmen Entwicklungstools an, die die Prototyperstellung eines Tags in einer Anwendung zur Bestandsüberwachung mit AoA-Methode unterstützen. Der Entwicklungsprozess entspricht im Allgemeinen dem für eine herkömmliche Wireless-Komponente mit geringem Stromverbrauch. Ein Beispiel: Ein Entwicklungskit, das einen werksseitig eingebauten, voll funktionsfähigen Transceiver umfasst, der auf der Bluetooth-5.1-Zielkomponente und ihren Peripheriebausteinen basiert, wird mit einem PC oder Mac verbunden, auf dem eine geeignete integrierte Entwicklungsumgebung (IDE) und die Softwarewerkzeuge des Chipherstellers installiert sind, um die Anwendungsentwicklung zu ermöglichen.
Im Fall von Dialog rät das Unternehmen, für die Bluetooth-5.1-Entwicklung das Entwicklungskit DA14695-00HQDEVKT-P-ND zu verwenden. Das Kit beinhaltet ein Motherboard, eine Tochterplatine, die auf dem Bluetooth-5.1-SoC DA14695 basiert, und Kabel zur Verbindung mit einem PC. Das Entwicklungskit unterstützt außerdem mikroBUS-Shields für Arduino und MikroElektronika sowie Leistungsmessungen.
Silicon Labs hat das Wireless-Startkit Gecko SLWSTK6006A im Angebot. Dieses Entwicklungskit bietet nicht weniger als sechs Tochterplatinen auf Basis des Bluetooth-5.1-SoC EFR32BG21 und ermöglicht dadurch die Prototyperstellung eines Systems zur Bestandsüberwachung mit mehreren Tags. Das Entwicklungskit wurde zur Verwendung mit der Software Simplicity Studio des Unternehmens konzipiert, die die Softwareentwicklungswerkzeuge von Flex SDK für Anwendungen und die Konfiguration unterstützt.
Nordic hat die Evaluierungskarte nRF52840-DK im Angebot, die auf dem SoC nRF52840 des Unternehmens basiert, das vollständig mit dem Bluetooth-5.1-SoC nRF52811 kompatibel ist. Anwendungsentwicklung und Systemkonfiguration erfolgen über das nRF5-SDK, ein Softwareentwicklungswerkzeug des Unternehmens, das von verschiedenen gängigen IDEs unterstützt wird. (Weitere Informationen zur Entwicklung von Bluetooth-Low-Energy-Anwendungen finden Sie im DigiKey-Artikel „Bluetooth 4.1, 4.2 and 5 Compatible Bluetooth Low Energy SoCs and Tools Meet IoT Challenges“ („Mit Bluetooth 4.1, 4.2 und 5 kompatible Bluetooth-Low-Energy-SoCs und -Tools stellen sich den Herausforderungen des IoT“).)
Standardmäßig überträgt Bluetooth 5.1 keine Pakete mit CTE und führt auch keine IQ-Abtastungen durch. Der Entwickler muss das System so konfigurieren, dass diese Funktionen mithilfe der Entwicklungswerkzeuge des Anbieters hinzugefügt werden. Die Werkzeuge ermöglichen den Zugriff auf die Host-Controller-Schnittstelle (HCI), die dann vom Host verwendet wird, um den Controller für die CTE-Erzeugung und IQ-Abtastung zu konfigurieren.
In verbindungslosen Szenarien (die üblicherweise von der AoD-Methode verwendet werden) führt der Host die folgenden Initialisierungsschritte für den Controller durch (Abbildung 5):
- Konfigurieren des erweiterten Advertising
- Konfigurieren des periodischen Advertising
- Konfigurieren der CTE-Übertragung
- Aktivieren des CTE-Advertising
- Aktivieren des periodischen Advertising
- Aktivieren des erweiterten Advertising
- Festlegen der Advertising-Daten
Abbildung 5: Diese Abbildung zeigt die vom Host durchgeführten Initialisierungsschritte für den Controller in verbindungslosen Szenarien (die üblicherweise von der AoD-Methode verwendet werden). (Bildquelle: Bluetooth SIG)
Scanner, die entwickelt wurden, um CTE-Daten zu empfangen und vom Advertiser übertragene IQ-Abtastwerte zu erfassen, müssen folgendermaßen konfiguriert werden:
- Konfigurieren des erweiterten Scan-Vorgangs
- Starten des erweiterten Scan-Vorgangs
- Synchronisieren mit den empfangenen periodischen Advertising-Synchronisierungspaketen
- Aktivieren der verbindungslosen IQ-Abtastung
In verbindungsbehafteten Szenarien, wie sie üblicherweise von der AoA-Methode verwendet werden, fordert entweder die Master- oder die Slave-Komponente von der jeweils andere Komponente Pakete mit CTEs an. Diese Anforderungen erfolgen durch Senden eines CTE-Anforderungspakets über die Verbindungsschicht (Link Layer, LL), das verschiedene Parameter zur Konfiguration der CTE-Erstellung enthält. Falls das entfernte Gerät CTE nicht unterstützt, weist es das lokale Gerät auf diesen Umstand hin, das daraufhin keine weiteren CTE-Anforderungen mehr über die aktuelle Verbindung senden wird.
Der genaue Prozess gestaltet sich wie folgt: Das anfordernde Gerät führt folgende Schritte durch:
- Konfigurieren der CTE-Empfangsparameter im Controller
- Aktivieren der CTE-Anforderungen im Controller
- Empfangen und Verarbeiten der IQ-Berichte
- Deaktivieren der CTE-Anforderungsübertragung, sobald sie nicht mehr erforderlich ist
Das antwortende Gerät führt folgende Schritte durch:
- Konfigurieren der CTE-Übertragungsparameter im Controller
- Aktivieren der CTE-Antworten im Controller
- Empfangen von und antworten auf CTE-Anforderungen von einem anderen Gerät über die LL
In der Bluetooth-5.1-Spezifikation bietet die HCI den neuen Befehl „LE Read Antenna Information“ an, über den der Host Informationen über die von seinem Controller unterstützten Antennen abrufen kann. Das Verfahren zum Abrufen von Informationen zum Antennenarray in einem entfernten Gerät muss erst noch definiert werden.
Bei der IQ-Abtastung mit einem Antennenarray muss jeder der erfassten Abtastwerte einer bestimmten Antenne zugeordnet werden, wobei die Abtastung systematisch durchzuführen ist. Diese systematische Vorgehensweise wird durch die Verwendung eines in den HCI-Konfigurationsbefehlen angegebenen Musters und durch die Einhaltung strenger Timing-Regeln erleichtert. Wie diese Regeln angewendet werden und für welches Gerät welche Regeln gelten, hängt davon ab, ob die Anwendung die AoA- oder die AoD-Methode verwendet und ob das Gerät ein Sender oder ein Empfänger ist. Beispielsweise sendet ein Sender mit Einzelantenne kontinuierliche Pakete mit CTE. Die IQ-Abtastung wird jedoch immer vom Empfänger durchgeführt, unabhängig von der Anzahl seiner Antennen.
Der für die CTE-Verarbeitung vorgesehene Zeitraum umfasst eine Schutzphase von 4 Mikrosekunden (μs), eine Referenzphase von 8 μs und im Anschluss daran eine Abfolge von entweder Schaltvorgängen, Abtastvorgängen oder Paaren von Schalt- und Abtastvorgängen (Abbildung 6).
Abbildung 6: Diese Abbildung veranschaulicht die Schalt- und Abtastvorgänge für ein Timing von 1 µs und 2 µs für eine AoA-Anwendung. Der Sender mit Einzelantenne überträgt kontinuierlich Pakete mit CTE, während die IQ-Abtastung vom Empfänger entsprechend einer Schalt- und Abtastsequenz durchgeführt wird. (Bildquelle: Bluetooth SIG)
Während der Referenzphase findet keine Antennenumschaltung statt und acht IQ-Abtastwerte werden erfasst. Eventuell kann der Host aus diesen Abtastwerten die Frequenz des Signals schätzen und die Wellenlänge ableiten, wodurch die Genauigkeit der Winkelberechnungen verbessert wird.[1]
Fazit
Erweiterungen der Bluetooth Core Specification in Version 5.1 erzeugen die Rohdaten, die zur Funkpeilung mithilfe von CTE und IQ-Abtastung benötigt werden. Die Spezifikation nutzt bewährte technische Verfahren zur Ermittlung der Signalrichtung und standardisiert die Schnittstellen, Konfigurationen und Interaktionen. Ein weiterer Vorteil ist, dass die exakte Funkpeilung nunmehr für alle Chiphersteller, die Bluetooth-Lösungen anbieten, interoperabel ist.
Chiphersteller haben innerhalb kurzer Zeit Hardwarelösungen, Software, Entwicklungskits und SDKs auf den Markt gebracht, die es Entwicklern ermöglichen, sich rasch mit der Konfiguration von Systemen vertraut zu machen, die Bluetooth Direction Finding nutzen. Kommerzielle Bestandsüberwachung und IPS-Anwendungen erfordern weiterhin ein hohes Maß an Entwicklungserfahrung, insbesondere hinsichtlich des Designs von Antennenarrays und der Firmware für die Ortungs-Engine. Künftige Bluetooth-Direction-Finding-Profile werden diese Herausforderung jedoch weiter vereinfachen.
Literatur
1: Bluetooth Direction Finding: A Technical Overview, Martin Wooley, Bluetooth SIG, März 2019.

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.