Bluetooth Low Energyのフレームフォーマットの基本(★)
[BLE(Bluetooth Low Energy)の開発依頼は、フィールドデザインまでお気軽にお問い合わせください。]
フレームフォーマットは下記のようになっています。大きく、主にプライマリーアドバータイズチャネル(37, 38, 39ch)で利用するAdvertising PDUと、汎用チャネル(0-36ch)で利用するData PDU, Isochronous PDU(ver 5.2から追加)にわかれます。
Preambleは、ビット表記で’10101010’か’01010101’です。これは、受信側でビット単位のタイミングを取るためです。
Access Addressは、アドバータイズチャネルの場合は、ビット表記で’10001110100010011011111011010110′(0x8E89BED6)です。これは、受信側で待っているパケットの判別に使うためと、さらに、受信側でバイト単位のタイミングを取るために使われます。なぜ、この数値かと言いますと、この数値は自己相関性(自分自身をビットシフトすると相関が悪くなる特性)が高いのです。
無線通信では、普通にしているとノイズとほしい信号の区別がつきません。そこで、フレームの最初にこのような系列を入れておきます。受信側ではずーっとデータを受信しておいて、この系列とピッタリあったときだけ相関が高くなるので、自分がほしいフレームだとわかるのです。
また、データチャネルのAccess Addressは、接続時に相手から通知されます(半導体ベンダーしだいですが、通常、これも自己相関が高くなるようなものが選ばれます。0や1が6個連続するなとか、いろいろ制約があります。)。Access Addressは、自分用のパケットかを判断する唯一の識別子ですので、非常に重要です。
Advertising PDUは主に下記の用途に使われます。
- アドバータイズ(デバイス情報を報知)
- スキャン要求(デバイス情報を要求)
- スキャン応答(デバイス情報の応答)
- 接続要求
Data PDUは、接続後にやりとりする情報を含んでいます。主に下記の用途に使われます。なお、Ver4.2からData PDUの最大サイズが27Byteから251Byteになりました。
- アプリケーションデータの通信
- 切断通知
- 暗号化要求、応答
- 接続パラメータの交換
Isochronous PDUは、ver5.2から追加されたもので、ストリーミングで利用する情報を含んでいます。LE AudioではこのPDUを利用して、音声データを転送します。
- ストリーミングデータの通信