PaketformateDie Bluetooth-Spezifikation legt fest, dass Pakete mit dem kleinsten Bit zuerst gesendet werden. Das Standardformat eines Pakets ist:
Pakete können nur aus dem (verkürzten) Zugriffscode bestehen, aus dem Zugriffscode plus Header oder aus allen drei Teilen. Der Zugriffscode besteht aus einer Preamble und einem Trailer von jeweils 4 Bits Länge sowie einem SYNC-Word, welches die Adresse kodiert. Der Header umfasst eine Verbindungskontrolle (LC) und besteht aus sechs Feldern:
Der Header besteht aus 18 Bits, welche nach einem Fehlderkorrekturverfahren (1/3 FEC) jedes Bit dreimal sendet, so dass insgesamt 54 Bits gesendet werden müssen. Da Datenblöcke nicht gezählt werden, handelt es sich um ein nicht kontinuierliches ARQ-Verfahren mit alternierender Paketnummer. Der Empfänger kann also mehrfach gesendete CRC-Blöcke unterscheiden; der Sender muss aber warten, ehe er eine weiteres Paket senden kann. Vier der 16 Typfelder gelten für SCO- und ACL-Verbindungen. Das NULL- und das POLL-Paket dienen für die Übertragung von Zustandsinformation wie Quittung (ARQN) oder Flusskontrolle. Das ID-Paket dient der Anfrage oder für Antworten. Das FHS-Paket ist eine spezielles Kontrollpaket, welches beispielsweise die Bluetooth-Geräteadresse oder die Clock des Senders überträgt. SCO-Pakete besitzen kein CRC, da sie niemals wiederholt werden. Sie eigenen sich also insbesondere für zeitkritische Dienste wie Sprachübertragung, bei denen einzelne Fehler hingenommen werden können. Die einzelnen Pakettypen unterscheiden insbesondere die Datenrate. ACL-Pakete besitzen meistens ein CRC-Feld, da sie wertekritische Daten übertragen sollen. Zusätzlich können verschiedene FEC (Forward Error Correction) definiert werden, so dass die Daten sehr sicher übertragen werden können. Bleibt eine positive Quittung für ein ACL-Paket mit CRC-Feld aus, so wird dieses noch einmal gesendet.
|