IEEE802.15.4パケット構造
以下に IEEE 802.15.4 のデータフレームで規定されたパケット構造を記載します。
PHYヘッダ(SHR, PHR) | PHYペイロード(PSDU) 最大127バイト | |||||||
---|---|---|---|---|---|---|---|---|
OCTET | 4 | 1 | 1 | 2 | 1 | 4~20 | n | 2 |
内容 | プリアンブル・シーケンス | フレームデリミタ開始位置 | フレーム長 | フレームコントロール | シーケンス番号 | アドレス情報 | MACペイロード | FCS |
- OCTET(オクテット) はデータ量を表す単位で 1 OCTET = 8bit と定義されています。
- 現在は一般的ではありませんが1バイト = 8bit でない処理系が存在するため、バイトという単位は曖昧です。通信の定義では 8bit と定義された OCTET が使用されます。
- IEEE802.15.4 MAC API を用いてプログラミングする際、意識する領域は、フレームコントロール・アドレス情報・データとなります。
- シーケンス番号は MAC 層が自動で割り当てるため、ユーザが取得したり値を設定したりすることはできません。
- LQI (Link Qualiry Indicator) 情報はパケット情報には含まれません。パケット受信時の受信回路から得られる情報です。
- 最大パケット長は 127 OCTET (PHYペイロード: PSDU)です。
- 一般的な通信ではアドレス情報が8 OCTETの場合(送信元、送信先ともに16bitショートアドレス)、データ領域(=MACペイロード)は最大 127 - 2(フレームコントロール) - 1(シーケンス番号) - 8(アドレス) - 2(FCS) = 114 OCTET の送信が可能です。
- ZigBee PRO などのスタックでは、スタックが使用するヘッダもあるためユーザが使用出来るデータ領域はより小さくなります。
- 最大パケット時の通信時間は約4.3mSです。
- アドレス情報について。
- 構成は以下の組み合わせとなります。
- Src(送信元) の PAN ID (2 OCTET)
- Src(送信元) の アドレス (0: アドレス無し, 2: ショートアドレス, 8: 拡張 アドレス)
- Dst(送信先) の PAN ID (2 OCTET)
- Dst(送信先) の アドレス (0: アドレスなし, 2: ショートアドレス, 8: 拡張アドレス)
- 通常は Src PAN ID, Src ショートアドレス, Dst PAN ID, Dst ショートアドレスの8 OCTETの構成です。
- Src のアドレスだけ MAC アドレスにするような送信も可能です。この場合は、Src PAN ID, Src MACアドレス, Dst PAN ID, Dst ショートアドレスの合計14 OCTETとなります。
アドレッシングモード | アドレス領域 | 最大データ領域 |
---|---|---|
送信元、送信先アドレス無し(PAN IDのみ) | 4 | 118 |
送信元、送信先16ビットショートアドレス使用 | 8 | 114 |
送信元、送信先64ビット拡張アドレス使用 | 20 | 102 |
注:アドレッシングモードは上記以外の組み合わせも可能です。