最終更新:2024-03-12 (火) 04:04:30 (62d)
BLE/パケット
概要
- 1種類のパケットフォーマット
- 2種類のパケット
- BLE/アドバタイズパケット
- BLE/データパケット?
構造
- LE Uncoded PHYのアドバタイズパケットの場合
バイト 1~2 プリアンブル LE 1M PHYの場合は1バイト、LE 2M PHYの場合は2バイト 4 アクセスアドレス 物理チャンネルアクセスコード 2~258 PDU BLE/アドバタイジング物理チャンネルPDU 3 CRC
BLE/アドバタイジング物理チャンネルPDU
- ペイロードはADV_INDなどのPDUタイプによる
フィールド バイト 中身 BLE/アドバタイジング物理チャンネルPDUヘッダ 2 ペイロード PDUによる アドバタイザのアドレス(6バイト)+α
BLE/アドバタイジング物理チャンネルPDUヘッダ
- 2バイト
PDUタイプ
0b0000 ADV_IND 0b0001 ADV_DIRECT_IND? 0b0010 ADV_NONCONN_IND 0b0011 SCAN_REQ AUX_SCAN_REQ? 0b0100 SCAN_RSP 0b0101 CONNECT_IND AUX_CONNECT_REQ? 0b0110 ADV_SCAN_IND? ...
パケットフォーマット
種類
- 1種類のパケットフォーマットと2種類のパケットしか存在しない
BLE/アドバタイズパケット
- 共通
フィールド バイト 中身 アドバタイズヘッダ 2 ペイロード PDUによる アドバタイザのアドレス(6バイト)+α
アドバタイズヘッダ
アドバタイズのPDUの種類
ADV_IND
フィールド バイト 中身 アドバタイズヘッダ 2 ペイロード 6+0~31 アドバタイザのアドレス(6バイト)
アドバタイジングデータ(0~31バイト)
ADV_DIRECT_IND?
フィールド バイト 中身 アドバタイズヘッダ 2 ペイロード 6+6 アドバタイザのアドレス(6バイト)
ターゲットアドレス(6バイト)
ADV_NONCONN_IND
ADV_SCAN_IND?
ADV_EXT_IND
AUX_ADV_IND?
AUX_SYNC_IND?
AUX_CHAIN_IND?
送信
- 20ミリ秒~10.24ミリ秒間隔
BLE/データパケット?
ペイロード
- 27バイトあるが上位のプロトコルによって20バイトに制限される事が多い
メモ
- BLE/L2CAPのヘッダが4バイト専有するので上位で使えるのは27-4で23になる
メモ
- コネクション間隔ごとに送れるパケット数はチップ依存
- 1パケット中のユーザーデータは20バイトまで