XBeeモジュールの使い方(SC:Scan Channelsパラメータの設定)


 XBee3が使用する2.4[GHz]帯(2400[MHz]〜2483.5[MHz])の無線通信は,IEEE 802.15.4規格で定められた周波数帯域を利用しています.IEEE 802.15.4では,Wi-Fiとの干渉を回避しながら共存できるよう,1チャネルあたり2[MHz]の帯域幅を使用しています.

XBee3のチャンネル構成(CH)は,チャネル番号11番から26番までの計16チャネルで構成され,各チャネルが5[MHz]間隔で以下の中心周波数に配置されています.

中心周波数=2405 + 5(n-11) [MHz]

ネットワーク構成に使用できるCHパラメータは,上記のチャネル11~26に対応する0x0B~0x1Aの16チャネルで,デフォルト設定では0x0Cが指定されています.

 一方、XBee3にはスペクトラムアナライザーの機能があり、無線通信で使用するIEEE 802.15.4 規格で定義されている周波数帯域のノイズのエネルギーレベルを計測することができます。

 XCTUの設定画面のToolsの中から、Spectrum Analyzerを選択するとスペアナのダイアログが開きます。左上のモジュールを選択し、右下の計測開始ボタンをクリックすると計測が始まります。

 802.15.4ファームウェアを使用している場合は、この解析結果に基づき、最もノイズレベルの低いチャネルを選定します。そして、XCTUの設定画面でCH(Channel)パラメータにそのチャネルを設定してネットワークを構築していきます。

・SCパラメータの役割

 XCTUの設定パラメータの中のSC(Scan Channels)について解説します。

このパラメータはXBee3がどの無線チャネルをスキャンするかを指定するパラメータです。

以下の図のように、SCパラメータはアクティブスキャンまたはエネルギー検出中に使用されるチャネルのリストをビットフィールドとして定義します。

ビット0 – チャネル11 (0x0B)

ビット2 – チャネル12 (0x0C)

ビット15 – チャネル26 (0x1A)

デフォルトではSC = 0xFFFFと設定されており、全16チャネルがアクティブに設定されています。

XBee3(802.15.4ファームウェア)は、ネットワークに参加するときや周囲の電波状況を調べるときにどのチャネルをスキャンするかを、SCにより決定しています。

 スキャンが実行されるタイミングはASコマンドまたはEDコマンド、およびエンドデバイスアソシエーション(EDA)とコーディネータの起動時に開始時になされるため、SCの設定により、起動時や参加時の挙動が変わります。

 スペアナの解析結果に基づき、使用するチャネルが確定したら、SCパラメータにより使用するチャネルのみビットフィールドでアクティブ(1)に定義することにより、起動時や参加時に使用するチャネルのみスキャンするため、スキャン時間が短縮されて起動時の負荷低減が実現できます。

 ちなみに、このSCパラメータはスペクトラムアナライザーのスキャンチャネルにも反映されます。以下の図はCH8~CH15をSCパラメータのビットフィールドで0に設定した場合を示しています。

【まとめ】

 XBeeでチャネル(CH)を設定する際は、まず、スペアナの解析結果に基づき、使用するチャネルが確定させます。さらに、SCパラメータにより使用するチャネルのみビットフィールドでアクティブ(1)に定義することにより、XBeeの起動時や参加時に使用するチャネルのみスキャンするため、スキャン時間が短縮されて起動時の負荷低減が実現できます。