Warum können in BLE nur 20Byte Daten auf einmal gesendet werden?

Bei der Arbeit an Bluetooth-bezogenen Projekten interessieren sich schätzungsweise viele Leute dafür, warum maximal 20Byte Daten auf einmal gesendet werden.Das obige Bild zuerst und das Bild unten zeigen kurzerhand die Paketstruktur von Bluetooth-Daten Übertragung. Der rote Teil ist die endgültige Paketgröße, die wir gesendet haben (im Benachrichtigungsstatus).

Ohne Titel-1.png

Bevor wir beginnen, lassen Sie mich den Unterschied zwischen Octet und Byte erwähnen, obwohl beide in Bytes übersetzt werden können. Octet ist eine Gruppe von Oktetten. In den frühen Tagen der TCP/IP-Entwicklung betrug das von einigen Systemstrukturen verwendete Byte 10 Bit.

Einführung in Broadcast-Pakete

Broadcast-Paket-Header

Bild.png Kopfteil

  1. Der Kopf hat hauptsächlich 1 Oktett.
  2. PDU-Typ
  3. RFU ist reserviert
  4. TxAdd Sendeadresssegment
  5. RxAdd übernimmt das Adresssegment

Längenteil

  1. Die Länge beträgt hauptsächlich 1 Oktett.
  2. 6 Oktett ist die Länge und der Wert ist 6-37 (das Broadcast-Paket hat am Ende eine 6-Oktett-Geräteadresse, also mindestens 6 Bit).

Für die 37 Bytes hier ist meine Vermutung, ich weiß nicht, ob es richtig ist, um mit den 5-Bit-Daten in der Daten-PUD mit einer Länge von 31 Oktett kompatibel zu sein, plus die Geräteadresse, die hinzugefügt werden muss von 6 Oktett.

Broadcast-Datenabschnitt

Die Daten werden aufgeteilt in gültige Daten und ungültige Daten (mit 0 gefüllt) + 6 Oktett Geräteadresse. Gültige Datenstrukturen sind wie folgt

Bild.png

  1. Der gültige Datenteil besteht aus mehreren AD-Strukturen
  2. 1 AD-Struktur besteht aus 1 Oktett Länge und Daten (Länge)
  3. Daten bestehen aus AD-Typ (n octct) und AD-Daten (Länge - n)

Daten-PDU

Kopf

Bild.png

  1. Die Länge beträgt 5 Ziffern 0-31 Oktett, das Maximum ist 31 Oktett
  2. Subtrahieren Sie den MIC von 4 Oktett 31-4 = 27 Oktett ist die Nutzlastlänge.

Verbindungsschicht L2CAP

Bild.png

27 - 2 - 2 = 23 Oktett

benachrichtigen

Bild.png

23 - 1 - 2 = 20 Oktett.

Ich denke du magst

Origin juejin.im/post/7206577654933651516
Empfohlen
Rangfolge