Das Verständnis des Bluetooth-Protokollstapels und seiner Komponenten für Embedded Engineers

Die Bluetooth-Technologie ist zu einem Eckpfeiler der drahtlosen Kommunikation in eingebetteten Systemen geworden und ermöglicht alles, von drahtlosen Headsets und Smart-Home-Sensoren bis hin zu industriellen Datenverbindungen. Um robuste, energieeffiziente Bluetooth-Produkte zu entwickeln, müssen Embedded-Ingenieure den Protokollstapel navigieren, der die Datenübertragung von der Anwendung zur Funkwelle und zurück regelt. Dieser Stapel ist kein einziger monolithischer Block, sondern eine sorgfältig geschichtete Architektur, in der jede Schicht spezifische Verantwortlichkeiten hat. Das Ergreifen dieser Schichten ist unerlässlich, um Verbindungsprobleme zu beheben, die Lebensdauer der Batterie zu optimieren und die Interoperabilität zwischen Geräten verschiedener Hersteller sicherzustellen.

In den folgenden Abschnitten werden die Bluetooth-Protokollstacks vom physischen Radio über Anwendungsprofile heruntergebrochen und wichtige Aspekte für Embedded-Designer hervorgehoben, darunter Energiemanagement, Sicherheit und die neuesten Verbesserungen, die in Bluetooth 5.0, 5.1, 5.2 und LE Audio eingeführt wurden.

Bluetooth Systemarchitektur: Host und Controller

Moderne Bluetooth-Implementierungen teilen den Protokollstapel in zwei Hauptblöcke: den Controller und den Host Diese Aufteilung wird durch das Host Controller Interface (HCI) formalisiert, das die Kommunikation zwischen ihnen standardisiert. Das Verständnis dieser Aufteilung ist für Embedded-Ingenieure von entscheidender Bedeutung, da sie die Hardware- / Software-Partitionierung bestimmt und die Designentscheidungen beeinflusst.

Der Controller

Der Controller übernimmt die unteren Schichten des Stapels: Radio, Baseband, Link Manager (in Classic Bluetooth) oder Link Layer (in Bluetooth Low Energy). Er wird normalerweise in einem dedizierten Chip implementiert oder in die Funkperipherie eines Mikrocontrollers integriert. Der Controller ist für die Echtzeitaufgaben der Paketübertragung, des Frequenzsprungs, der Verschlüsselung und der Linkwartung verantwortlich. Bei der Gestaltung eines Systems wird der Controller oft wie eine Blackbox behandelt, aber die Ingenieure müssen seine Fähigkeiten und Zeitbeschränkungen kennen, um die HCI-Befehle richtig zu konfigurieren.

Der Gastgeber

Der Host läuft auf der Haupt-CPU des eingebetteten Systems und enthält die höheren Protokolle: L2CAP, SDP, GATT (für LE), RFCOMM (für Classic) und die Anwendungsprofile. Der Host kommuniziert mit dem Controller über HCI-Pakete über UART, SPI, SDIO oder USB. Ingenieure, die Firmware für den Host schreiben, müssen Verbindungsparameter, Datenpufferung und profilspezifische Logik verwalten. Die Trennung ermöglicht die Entwicklung von Host-Code unabhängig von der Controller-Hardware, solange beide die Bluetooth-Spezifikation einhalten.

Schicht 1: Das Radio (Physical Layer)

Die Funkschicht ist die Grundlage von Bluetooth. Sie definiert, wie Bits auf Radiowellen aufmoduliert werden, die verwendeten Frequenzbänder und die Übertragungsleistung.

Frequenzband und -kanäle

Bluetooth arbeitet im 2,4-GHz-ISM-Band (2400-2483,5 MHz). Klassisches Bluetooth verwendet 79 Kanäle im Abstand von 1 MHz, während Bluetooth Low Energy 40 Kanäle (37 Datenkanäle + 3 Werbekanäle) im Abstand von 2 MHz verwendet. Frequenzsprungspreizspektrum (FHSS) wird verwendet, um Interferenzen von Wi-Fi, Zigbee und anderen 2,4-GHz-Quellen zu reduzieren. Klassisches Bluetooth springt bei 1600 Hops pro Sekunde, während LE bei jedem Verbindungsereignis springt.

Die Auswahl der Kanäle und der Sprungsequenz wird von der Basisband-/Link-Schicht verwaltet. Die Embedded-Ingenieure müssen die Frequenzgenauigkeit des Funks sicherstellen (normalerweise innerhalb von ±20 ppm für Classic, ±50 ppm für LE), um eine zuverlässige Verbindung zu gewährleisten. Temperatur und Alterung von Kristalloszillatoren können eine Drift verursachen, die oft automatische Frequenzkalibrierungsroutinen erfordert.

Modulation und Datenraten

Classic Bluetooth verwendet Gaußian Frequency Shift Keying (GFSK) für Basic Rate (BR) mit 1 Mb/s und kann für Enhanced Data Rate (EDR) auf π/4‐DQPSK oder 8DPSK umschalten (bis zu 3 Mb/s). Bluetooth Low Energy verwendet GFSK mit einer Symbolrate von 1 Msym/s, was eine Rohdatenrate von 1 Mb/s (LE 1M PHY) oder optional 2 Mb/s (LE 2M PHY) ergibt. Bluetooth 5.0 führte LE Coded PHY ein, das die Fehlerkorrektur (FEC) vorschaltet, um die Reichweite zu erweitern Kosten der Datenrate (125 Kb/s oder 500 Kb/s).

Bei der Auswahl eines PHY muss der Embedded Designer Durchsatz, Stromverbrauch und Reichweite tauschen. LE 2M PHY kann den Durchsatz verdoppeln, verbraucht jedoch möglicherweise etwas mehr Leistung pro Bit und bietet eine etwas kürzere Reichweite als LE 1M PHY. LE Coded PHY kann bis zu viermal die Reichweite erreichen, wodurch es ideal für Sensornetzwerke mit großer Reichweite ist.

Leistungsklassen und Reichweite

Bluetooth definiert drei Leistungsklassen für Sender:

  • Klasse 1 (100 mW, +20 dBm) – bis zu 100 Meter
  • Klasse 2 (2,5 mW, +4 dBm) – bis zu 10 Meter (am häufigsten in mobilen Geräten)
  • Klasse 3 (1 mW, 0 dBm) – bis zu 1 Meter

Klasse-1-Implementierungen erfordern ein passendes Netzwerk und oft einen externen Leistungsverstärker. Für batteriebetriebene Embedded-Geräte sind Klasse 2 oder Klasse 3 typisch für die Einhaltung von Energiebudgets. Die Ausgangsleistung kann dynamisch über den Link-Manager angepasst werden, um Störungen zu reduzieren und Strom zu sparen.

Die Basisbandschicht (Classic) und die Link Layer (LE) übernehmen das Timing, die Paketformatierung und die Steuerung des Radios und sind das Herzstück des Bluetooth-Protokolls auf niedriger Ebene.

Piconets und Scatternets (klassisch)

In Classic Bluetooth erfolgt die Kommunikation innerhalb eines piconet: ein Master und bis zu sieben aktive Slaves. Der Master legt die Frequenzsprungsequenz und den Abfrageplan fest. Ein Gerät kann an mehreren Piconets teilnehmen und ein Scatternet bilden, obwohl dies in der Praxis aufgrund der Komplexität selten verwendet wird. Die Link Layer in LE unterstützt nur eine einfache Sterntopologie (eine zentrale, mehrere Peripheriegeräte) und implementiert keine Scatternets.

Linktypen und Paketformate

Classic Bluetooth unterstützt zwei Arten von physischen Links:

  • Synchronous Connection-Oriented (SCO) – reservierte Zeitschlitze für isochrone Daten wie Audio (z. B. eSCO für erhöhte Zuverlässigkeit).
  • Asynchrone Verbindungsknappheit (ACL) – paketvermittelte Daten für die meisten Anwendungen.

Bluetooth LE verwendet nur verbindungsorientierte Datenkanäle mit einer Paketstruktur aus Präambel, Zugangsadresse, PDU und CRC. Die Zugangsadresse (32 Bit) identifiziert die Verbindung und reduziert die Wahrscheinlichkeit eines Übersprechens in Co-Location-Szenarien erheblich.

Paket-Timing

In Classic Bluetooth wird die Zeit in 625 μs-Slots unterteilt. Master sendet in geraden Slots; Slave reagiert in ungeraden Slots. In LE wird das Verbindungsintervall ausgehandelt und kann von 7,5 ms bis 4 Sekunden variieren. Ein kürzeres Intervall reduziert die Latenz, erhöht aber den Stromverbrauch. Embedded-Ingenieure müssen Verbindungsparameter auswählen, die den Durchsatz- und Latenzanforderungen entsprechen, während der Arbeitszyklus niedrig gehalten wird.

Über dem Basisband befindet sich der Link Manager (LM) in Classic Bluetooth, der das Link Manager Protocol (LMP) implementiert. In LE sind die Link-Steuerfunktionen in die Link-Schicht selbst integriert, aber es gibt die gleichen Ziele: Linkaufbau, Sicherheit und Power Management.

Die LM verhandelt Verbindungsparameter wie Pakettypen, Power Control-Einstellungen und Multi-Slot-Paketnutzung. Sie übernimmt auch Rollenumschaltung (z.B. Swaping Master/Slave) und den Übergang zwischen Sniff/Subrating und Aktivmodus. Für LE werden die meisten dieser Parameter während des Verbindungsaufbaus über das LL CONNECTION UPDATE REQ-Verfahren eingestellt.

Sicherheitsverfahren

Die Bluetooth-Sicherheit hat sich erheblich weiterentwickelt. Der Link Manager übernimmt die Paarung, Authentifizierung und Verschlüsselungsschlüsselgenerierung. Für Classic Bluetooth umfasst das Sicherheitsmodell PIN-Paarung oder Secure Simple Pairing (SSP). Für LE läuft das Security Manager Protocol (SMP) über der Link-Schicht (im Host). Dennoch stellt die Link-Schicht die Verschlüsselungsmaschine (AES‐CCM für LE) bereit. Ingenieure müssen den Pairing-Modus kennen: Just Works (kein MITM-Schutz), Numeric Comparison, Passkey Entry oder Out‐of‐Band (z. B. NFC). Die Verwendung einer starken Authentifizierung ist für Anwendungen, die sensible Daten verarbeiten, von entscheidender Bedeutung.

Leistungsregelung

Die LM/Link Layer passt die Sendeleistung auf der Grundlage der Empfangssignalstärke (RSSI) an, wobei diese Regelung Strom spart und Störungen reduziert. Einige Chips ermöglichen es der Anwendung, die Leistungssteuerungsrichtlinie durch HCI-Befehle zu beeinflussen, was für die individuelle Bereichsoptimierung nützlich sein kann.

Host Controller Interface (HCI)

Das HCI ist ein standardisiertes serielles Protokoll, das definiert, wie Host und Controller kommunizieren. Es läuft typischerweise über UART (mit H4-Transport), USB oder SDIO. Das HCI transportiert drei Arten von Paketen: Befehl, Ereignis und Daten (ACL und SCO).

HCI zu verstehen ist für Embedded Engineers von wesentlicher Bedeutung, da viele Debugging-Tools (z. B. TIs Packet Sniffer, Nordics nRF Sniffer) den HCI-Datenverkehr erfassen, um zu enthüllen, was der Stack tut. Beim Schreiben von Host-seitigem Code muss der Entwickler HCI-Befehlspakete richtig formatieren, Antwortereignisse analysieren und den Datenfluss verwalten. Pufferung und Flusssteuerung (mit Hardware RTS / CTS oder Software XON / XOFF) sind entscheidend, um Überschreitungen zu vermeiden.

Höhere Schichtprotokolle (Host)

Die Host-Schicht enthält Protokolle, die strukturierte Kommunikationskanäle für Anwendungen bereitstellen.

L2CAP multiplext mehrere logische Kanäle über eine einzelne ACL-Verbindung. Es bietet Paketsegmentierung und Wiederzusammenbau sowie Quality of Service (QoS) -Parameter. In Classic Bluetooth unterstützt L2CAP auch verbindungsorientierte Kanäle (mit kreditbasierter Flusssteuerung) und verbindungslose Kanäle (für Broadcasts). In LE wird L2CAP hauptsächlich für die Signalisierung (Verbindungsparameteraktualisierung, MTU-Austausch) und für das Tragen von ATT-Paketen verwendet. Die Verhandlung der Maximum Transmission Unit (MTU) ist ein wichtiger Schritt, der beeinflusst, wie groß GATT-Pakete sein können - eine größere MTU verbessert den Durchsatz.

Attributprotokoll und generisches Attributprofil (ATT/GATT)

Für Bluetooth LE definiert GATT eine strukturierte Art und Weise, Datendienste und -merkmale freizulegen. Das Attribut Protocol (ATT) stellt den Client-Server-Mechanismus bereit: Ein GATT-Server speichert Attribute (Dienste, Merkmale, Deskriptoren), und ein GATT-Client liest/schreibt sie. Diese Architektur ist für LE-Anwendungen wie Herzfrequenzmonitore, Umgebungssensoren und Proximity Beacons von grundlegender Bedeutung.

Embedded-Ingenieure, die einen GATT-Server entwerfen, müssen die Attributtabelle in Firmware definieren, Lese-/Schreibanforderungen bearbeiten und Benachrichtigungen oder Hinweise an den Client senden. Bei batteriebetriebenen Geräten werden serverinitiierte Updates (Benachrichtigungen) gegenüber Umfragen bevorzugt, um Funkereignisse zu reduzieren.

Service Discovery Protocol (SDP) und Generic Access Profile (GAP)

Classic Bluetooth verwendet SDP, um verfügbare Dienste auf einem entfernten Gerät zu finden. LE verwendet GAP, um Geräteerkennung (Werbung und Scannen) und Verbindungsaufbau zu handhaben. GAP definiert Rollen wie Broadcaster, Observer, Peripheral und Central. Die Werbenutzlast (31 Bytes in LE 4.0-4,2, erweitert auf bis zu 1650 Bytes in Bluetooth 5.0 ADI) enthält Flags, Gerätename und Dienst-UUIDs. Effizientes Packen von Werbedaten reduziert die Zeit, die das Radio eingeschaltet sein muss.

RFCOMM und OBEX (klassisch)

RFCOMM emuliert seriell RS‐232 Ports über L2CAP und ermöglicht damit die serielle Kommunikation mit Altgeräten. OBEX bietet Objektaustausch (z. B. Dateiübertragungen) Diese Protokolle werden immer noch häufig für ältere eingebettete Geräte wie Bluetooth‐fähige Barcodescanner oder Diagnosetools verwendet.

Bluetooth-Profile

Profile definieren, wie Protokolle kombiniert werden, um einen spezifischen Anwendungsfall zu realisieren. Sie sind für die Interoperabilität unerlässlich. Einige gängige Profile sind:

  • Hands‐Free Profile (HFP) – für die Sprachkommunikation in Headsets und Auto-Kits.
  • Human Interface Device (HID) – für Tastaturen, Mäuse, Game Controller.
  • Audio/Video Remote Control Profile (AVRCP) – zur Steuerung von Audio/Video-Playern.
  • Health Device Profile (HDP) – für medizinische Sensoren.
  • Environmental Sensing Service (ESS) – ein GATT-Service für Temperatur, Feuchtigkeit, Druck.
  • Blutdruckprofil (BPP) – Standard für Blutdruckmessgeräte.

Bei der Auswahl eines Profils sollten Ingenieure Profile bevorzugen, die dem Standard entsprechen, um eine benutzerdefinierte Entwicklung zu vermeiden und eine einfache Kopplung mit Telefonen oder Computern zu gewährleisten. Für LE werden die GATT-basierten Profile, die durch die Bluetooth-SIG (oder benutzerdefinierte Profile) definiert werden, typischerweise mit einem Stack implementiert, der eine GATT-API bereitstellt.

Bluetooth 5.x Erweiterungen

Die Bluetooth Core Specification 5.0, 5.1, 5.2 und 5.3 haben mehrere Funktionen eingeführt, die das Embedded-Systemdesign erheblich beeinflussen.

LE Werbeverlängerungen

Bluetooth 5.0 erweiterte Werbung durch größere Nutzlasten (bis zu 1650 Bytes) und zusätzliche Werbekanäle durch periodische Werbung. Dies ermöglicht robustere Beaconing und verbindungslose Datenübertragung (z. B. BLE-Mesh- und Standortdienste). Das Konzept der Werbesatzkennungen (ADI) und sekundären Werbekanäle erfordert eine sorgfältige Planung in der Link-Schicht, um Kollisionen zu vermeiden.

LE Coded PHY und 2M PHY

Wie bereits erwähnt, vervierfacht die Coded PHY den Bereich, indem sie jedes Bit mit mehreren Symbolen codiert (S=2 oder S=8) und FEC hinzufügt. Die 2M PHY verdoppelt den Durchsatz. Beide erfordern die zugrunde liegende Hardwareunterstützung; nicht alle Chips implementieren sie. Bei der Entwicklung eines Produkts ist es entscheidend, dass der ausgewählte Controller die gewünschte PHY unterstützt.

Anreisewinkel/Abfahrtwinkel (AoA/AoD)

Bluetooth 5.1 zusätzliche Richtungsfindung durch die Nutzung von Antennenarrays und IQ-Sampling. Dies ermöglicht Echtzeit-Ortungssysteme (RTLS) mit Submeter-Genauigkeit. Die Link Layer fügt eine spezielle konstante Tonerweiterung (CTE) nach der Paketnutzlast ein und der Empfänger zeichnet IQ-Samples für die Winkelberechnung auf. Embedded-Ingenieure, die an der Asset-Tracking arbeiten, müssen sicherstellen, dass die Hardware mehrere Antennenschalter hat und dass die Firmware IQ-Sampling mit der CTE-Sequenz synchronisieren kann.

LE Isochrone Kanäle und LE Audio

Bluetooth 5.2 führte LE Isochronous Channels für zuverlässiges Streaming mit niedriger Latenz ein. Dies ist die Grundlage der neuen LE Audio Architektur. Der LC3 Codec bietet eine überlegene Audioqualität bei niedrigeren Bitraten als SBC. LE Audio ermöglicht Broadcast Audio (z. B. für öffentliche Sprechanlagen), Multistream Audio und Hörgeräteunterstützung. Für Embedded Engineers bedeutet dies den Übergang von Classic Bluetooth für Audioanwendungen, was eine komplexere Zustandsmaschine für isochrone Gruppen (CIS und BIS) erfordert.

Bluetooth Mesh

Für große Gerätenetzwerke (z.B. Lichtsteuerung, Gebäudeautomation) nutzt Bluetooth Mesh Flood oder Managed Flooding über BLE Werbeträger. Mesh-Knoten übermitteln Nachrichten mit einem Publish-Subscribe-Modell mit definierten Modellen (z.B. Generic OnOff, Light Lightness) Der Stack umfasst eine Trägerschicht (PB‐ADV, PB‐GATT), eine Transportschicht (Segmentierung, Reassembly, Acknowledgedments) und eine Netzwerkschicht (Relay, Proxy, Friend, Low-Power Node Support).

Die Implementierung eines Bluetooth-Mesh-Knotens erfordert einen erheblichen Speicher zum Speichern von Abonnementlisten, Sequenznummern und Retransmissionspuffern. Embedded-Ingenieure müssen einen mesh-fähigen Stack (z. B. Zephyr's, TI's, Nordic's) auswählen, der die Bereitstellung über GATT (PB-GATT) für Smartphones oder über Werbung (PB-ADV) für die netzwerkbasierte Bereitstellung unterstützt. Power-Überlegungen sind kritisch: Low-Power Nodes (LPN) verlassen sich auf Friend Nodes, um Nachrichten zu puffern, so dass das LPN lange Zeit schlafen kann Intervalle.

Designüberlegungen für Embedded Engineers

Stromsparfunktionen

Die Lebensdauer der Batterie steht oft an erster Stelle. Der Bluetooth-Stack bietet mehrere Low-Power-Mechanismen:

  • Schlafmodi: Controller-Idle-State (z.B. Sniff-Modus für Classic, Tiefschlaf für LE) reduzieren den Strom auf Mikroampere.
  • Verbindungsintervalle: Längere Intervalle reduzieren den Arbeitszyklus, erhöhen aber die Latenz. Für periodische Sensordaten sind 100 ms bis 1 Sekunde üblich.
  • Werbeintervall: Schnelle Werbung (20 ms) entleert die Batterie; langsame Werbung (1+ Sekunde) erhöht die Entdeckungszeit.
  • TX Power Optimization: Verwenden Sie die niedrigste Ausgangsleistung, die eine zuverlässige Verbindung bietet.

Ingenieure sollten auch fahrradspezifische Peripheriegeräte (z. B. Aufwärmzeit des Sensors) und die Verwendung einer Hardware-Flusssteuerung berücksichtigen, um das Leerlaufhören von SPI / UART zu reduzieren.

Koexistenz und Einmischung

Bluetooth teilt sich das 2,4-GHz-Band mit Wi‐Fi, Zigbee und vielen anderen Geräten.

  • Verwendung von adaptivem Frequenzsprung (AFH), der Kanäle mit hoher Interferenz auf eine schwarze Liste setzt.
  • Verwendung von PA/LNA mit Filterung, um Out-of-Band-Blocker abzulehnen.
  • Koordination mit Wi‐Fi über einen gemeinsamen Antennenschalter oder mit eingebauter WCI‐2-Koexistenzsignalisierung bei einigen Chipsätzen.

Antennendesign

Eine schlechte Antenne kann alle anderen Optimierungen zunichte machen. Bei kompakten eingebetteten Designs sind planare invertierte F-Antennen (PIFA), Chipantennen oder mäanderförmige Monopole üblich. Kritische Parameter sind Impedanzanpassung (50 Ω Ziel), Bodenabfertigung und Abstimmung auf 2,44 GHz. Ingenieure sollten den Rückflussverlust (S11) und die Strahlungseffizienz simulieren oder messen. Für Richtungsfindungsanwendungen wird das Antennenarray-Design zu einer komplexen Disziplin, die eine sorgfältige Gestaltung und Kalibrierung erfordert.

Debugging und Testen

Bluetooth-Debugging kann eine Herausforderung sein, weil das Radio unsichtbar ist.

  • Protokollanalysatoren (z.B. Ellisys, Teledyne LeCroy oder Open-Source-Lösungen wie nRF Sniffer mit Wireshark) zur Erfassung von HCI- und Over-the-Air-Paketen.
  • Spektralanalysatoren für In-Band-Interferenz und Transmittermasken-Compliance.
  • Konformitätstester für die Bluetooth SIG Qualifizierung (RF‐PHY, LL, L2CAP, GATT Profile).
  • Software protokolliert mit Zeitstempeln, um Stack-Ereignisse zu korrelieren.

Viele eingebettete Stacks (z. B. Zephyr, FreeRTOS + BLE) bieten Debug-Level, die für die Produktion deaktiviert werden können. Durch die Aktivierung einer ausführlichen Protokollierung während der Entwicklung können Probleme wie fehlende Verbindungsaktualisierungen, Out-of-Sync-Attribute oder HCI-Timeout-Fehler isoliert werden.

Sicherheitsdurchführung

Sicherheit ist nicht optional.

  • Verwenden Sie den Modus Nur sichere Verbindungen für LE (Funktionen ECDH-Schlüsselaustausch und AES-128-Verschlüsselung).
  • Aktivieren Sie OOB-Paarung, wenn das Gerät einen alternativen sicheren Kanal hat.
  • Verwenden Sie zufällige statische Adressen oder auflösbare private Adressen (RPA), um das Tracking zu verhindern.
  • Validieren Sie eingehende GATT-Schreibwerte, um Pufferüberläufe zu vermeiden.
  • Speichern Sie Bonding Keys in einem sicheren Element oder einem manipulationssicheren Speicher, wenn möglich.

Schlussfolgerung

Der Bluetooth-Protokollstack ist eine reichhaltige, mehrschichtige Architektur, die Leistung, Leistung und Kompatibilität ausbalanciert. Für Embedded-Ingenieure ist ein solides Verständnis jeder Schicht - vom Frequenzsprung des Radios bis zur GATT-Attributtabelle - unerlässlich, um zuverlässige drahtlose Produkte zu erstellen. Die Entwicklung von Classic Bluetooth zu BLE 4.0, Bluetooth 5.x, LE Audio und Mesh eröffnet weiterhin neue Möglichkeiten, erfordert aber auch ein tieferes Verständnis von Timing, Sicherheit und Koexistenz. Durch die Beherrschung der Stackkomponenten und der Design-Kompromisse, die sie präsentieren, können Ingenieure Geräte bauen, die nicht nur nahtlos verbinden, sondern auch Strom sparen, Störungen widerstehen und sicher im überfüllten 2,4-GHz-Spektrum arbeiten.