1 概要
このドキュメントでは、主に、ハードウェア仕様、設計・製造等における必要事項などの技術要件や制約などを説明しています。
1.1 はじめに#
本ZigBee®3.0互換モジュールは、周波数2.4GHz帯のZigBee®シリアル通信プロトコルのワイヤレスモジュールです。工場出荷時にはすぐに使用できる自己組織化ネットワークファームウェアが付属しており、さまざまなアプリケーションシナリオ (特にスマートホーム) に適しています。本モジュールを図 1に示します。Z240-CP13はU.FL / I-PEX(MHF1)インタフェースおよび端面スルーホール端子から外部アンテナ接続が可能です。
図 1 Z240-CP13モジュール
本Z240-CP13モジュールは、Silicon Labs社 EFR32MG1シリーズのシステムオンチップ(SoC)を採用しており、ARM Cortex-M4コアとワイヤレストランシーバーが統合されています。工場出荷時のファームウェアは、ZigBee®3.0プロトコルに基づくシリアルデータ伝送を実装し、ZigBee®3.0プロトコルのさまざまなコマンドに対応しており、市販のZigBee®製品との通信互換性があります。
1.2 ZigBee®製品のロゴ認証#
ZigBee®はConnectivity Standards Alliance(CSA)※の登録商標で、本モジュールを使用して開発した製品にZigBee®のロゴ認証を取得するためには、CSA認定のテストプロバイダで「プラットフォーム認証テスト」と「製品認証テスト」を同時に受ける必要があります。「プラットフォーム認証テスト」はスタックプロファイルが仕様に準拠しているかを確認するためのテストで、「製品認証テスト」は製品がZigBee®の仕様に適合しているかどうかに加え、他のZigBee®製品との相互接続性を保証するための、最終製品を対象としたテストです。
※2021年5月に「ZigBee Alliance」から名称変更されています。
ZigBee®製品認証取得の流れ
CSAメンバーに加入してIDを取得する。
ZigBee®機器を設計する。
CSA認定のテストプロバイダに必要な文書、アプリケーションおよび製品を提出する。
製品の認証テストを行い、テストレポートを発行してもらう。申請書とテストレポートをCSAに提出し、ZigBee®機器認証を取得する。
参考
CSAホームページ https://csa-iot.org/ja/
Z240-MP4 (CT/EA)モジュールの搭載チップについて
本モジュールはCSAより認証を受けている、Silicon Labs社のEFR32MG1(EmberZNet 6.10)システムオンチップ(SoC)を搭載しています。
参考
CSAホームページ(認証製品リスト)
https://csa-iot.org/ja/csa_product/z-%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF-2/
注:記載情報は本文書作成時点のものです。申請時には最新情報をご確認ください。
1.3 ZigBee®の概説#
ZigBee®ネットワークはIEEE802.15.4に準拠したパケット通信をサポートし、パケット伝達の方法にマルチホップ方式を採用しています。通信したい2つのデバイス間の直接的な接続が不可能な場合、ネットワーク内の中継機能を持つ他のデバイスを中継点として使用し、データをホップさせながら目的地まで転送することができます。この特性により、ZigBee®は広範囲をカバーする柔軟なネットワークトポロジーを構築することが可能になります。ZigBee®ネットワークには、通信を行う役割として、コーディネータ、ルータ、エンドデバイスの3つのデバイスタイプがあり、ネットワーク形成機能を持つコーディネータと、複数のルータおよびエンドデバイスのノードで構成されます。
デバイスタイプ
コーディネータ:
コーディネータは、ZigBee®ネットワークにひとつのみ存在し、ネットワーク形成機能は持つデバイスです。ネットワークを作成する機能を持ち、既存のネットワークに参加することはできません。ネットワークを作成するために、コーディネータノードは周囲の電波環境をスキャンして既存のネットワークを探し、チャンネルとPAN ID※を選択して、ネットワークの作成を開始します。また、このデバイスはネットワークのセキュリティを管理する責任があり、ネットワーク内の他の種類のデバイスへセキュリティキーを配布し、作成したネットワークにデバイスを参加させることができます。ネットワーク形成が完了すると、コーディネータは次に述べるルータのように動作します。ZigBee®ネットワークの分散管理による動作の特徴により、ネットワーク形成完了後のネットワークのパケット通信などの動作はコーディネータに依存しません。一般的に、コーディネータは常にアクティブであることが期待されるため、商用電源等の安定した外部電源から給電する必要があります。
※IEEE 802.15.4規格では同じ周波数チャンネルを、さらにPersonal Area Network(PAN)という概念で複数のグループに分けて使用します。PANのグループの番号をPAN IDと呼びます。IEEE 802.15.4規格の通信ノードは、自分に設定されているPAN IDと同じPAN IDが設定されている通信ノードとのみ通信ができます。
ルータ:
ルータは、他のデバイスがネットワークに参加を希望する際、そのデバイスに(コーディネータが発行した)セキュリティキーを再配布し、アドレスを割り当てます。これにより、コーディネータだけでなくルータを経由してもネットワークを拡張することができます。また、ルータはマルチホップルーティング機能を提供します。ZigBee®ネットワークはメッシュトポロジーを基本としており、ルータはパケットを中継して直接通信できない遠距離にあるデバイス間の通信経路を確立します。さらに、低消費電力モードで動作するエンドデバイスに対して、ルータはスリープ状態のエンドデバイス宛てのメッセージをバッファリングします。エンドデバイスがスリープからウェイクアップした際のデータリクエストに応答し、メッセージを送信します。一般的に、ルータは常にアクティブであることが期待されるため、商用電源等の安定した外部電源から給電する必要があります。
エンドデバイス:
エンドデバイスは、主に、センサーやアクチュエータの機能のみを実装するための小規模なデバイスです。ネットワークインフラを維持するための特別な責任を持たず、自由にスリープおよびウェイクアップができるデバイスであり、比較的容易にバッテリー駆動などにすることができます。また、一般的に、メモリ要件(特にRAMの容量)はエンドデバイスの方が低いです。
ZCL(ZigBee Cluster Library)
ZCLはZigBee®ネットワーク内でデバイス間の通信を標準化したライブラリです。ZCLとZigBee®モジュールの関係として、ZCLはZigBee®プロトコルスタックの一部であり、ZigBee®モジュールはこのプロトコルスタック(ZCLを含む)を実装したハードウェアデバイスです。ZCLは、ZigBee®デバイスの機能を「クラスタ」という単位でモジュール化する仕組みを提供しています。このZCLアーキテクチャによって、ZigBee®デバイスの高い互換性を維持し、ハードウェアに依存しない開発をサポートします。
本モジュールは、EmberZNet SDK(ZigBee®3.0プロトコルスタックの実装)に基づいているため、ユーザは以下の簡単な手順で機器を制御できます。
必要なクラスタIDを指定する
(例:照明制御には「On/Offクラスタ」(ID: 0x0006)を指定)操作したい属性IDを指定する
(例:照明をオンにするには「On/Off属性」(ID: 0x0000)を指定)適切な属性値を入力する
(例:オンにするには値「1」、オフにするには値「0」を入力)
上記の手順により、本モジュールが自動的に適切なZigBee®メッセージを生成し、ネットワーク上の対象デバイスに送信します。ユーザが指定するクラスタID、属性IDおよび属性値については、ZigBee Cluster Library仕様書※を参照してください。
※https://zigbeealliance.org/wp-content/uploads/2021/10/07-5123-08-Zigbee-Cluster-Library.pdf
本Z240-CP13モジュールは大規模なネットワーク構築をするためのコーディネータおよびルータとしての利用を主目的としていますが、エンドデバイスとしても使用することが可能です。ただし、Z240-CP13をエンドデバイスとして使用する場合は本モジュールとコーディネータや他のノードとの間の通信処理の大部分をユーザが外部MCUに実装する必要があります。例として、デバイス種別や入出力クラスタ等のデバイス詳細情報をコーディネータへ送信する場合には、本モジュールがネットワークへの参加後に、外部MCUからシリアルポートコマンド(※ソフトウェアドキュメントを参照)を実行して、ZCLに基づくフレームを送信する処理が必要になります。
本モジュールのファームウェアは、EFR32MG1シリーズのチップに最適なEmberZNet SDKに基づき多くの最適化を行い、システムの長期に渡る安定した動作を可能にしています。
1.4 機能#
本モジュールの代表的な機能を列挙し、その概略を示します。一般的な同種のモジュールに搭載されている機能の他、本モジュール固有の機能も含みます。各機能の詳細については、ソフトウェアドキュメントの詳細記述を確認してください。
役割の切り替え
シリアル通信でのコマンドを使用して、デバイスの役割をコーディネータ、ルータ、およびエンドデバイスの3 種類に切り替えることができます。
ネットワークの自己修復
ネットワークの中間ノード(コーディネータおよびルータ)が停電によって稼働を停止した場合、その中間ノードによってルーティングされていたノードが孤立することになりますが、この場合でも孤立したノードが自律的に別の中間ノードと通信を試み、成功すると通信を継続します。中間ノードが停電により稼働停止した場合でも、コーディネータにより形成されたネットワーク情報は各ノードのモジュール内(ROMなど)に保持されており、再稼働した際は、再びそのネットワーク情報に基づき通信を行います。
超低消費電力
デバイスがエンドデバイス状態にある場合は低消費電力モードに設定可能で、ユーザの使用時間に応じてエンドデバイスのスリープ時間を変更できます。低消費電力モードでは、スタンバイ消費電力は7μA程度です。
データ保持時間の設定
デバイスがコーディネータまたはルータに設定された状態にある場合、ユーザは中継データの保持時間をモジュールに設定できます。スリープ状態のエンドデバイスと連携してそのデバイスのデータを保持し、エンドデバイスがスリープからウェイクアップした際のデータリクエストに応答し、メッセージを送信します。本モジュールでは、各デバイスは最大4つのデータを一時的に保持可能で、それを超えると最初のデータから自動的に消去されます。また、ユーザが設定したデータ保存時間が経過すると、保存時間を超過したデータが自動的に消去されます。
自動再送信
オンデマンド(一般的にユニキャストと呼ばれる方式)モードでは、デバイスが次のノードへデータを送信する際、送信に失敗するとそのデバイスは自動的に再送信を行います。各メッセージの再送信は最大2回行われます。
自動ルーティング
本モジュールはパケットルーティング機能をサポートしています。ルータとコーディネータはパケットルーティング機能を持ち、マルチホップ通信を行うことができます。
暗号化プロトコル
本モジュールはIEEE 802.15.4規格に基づいたAES 128ビット暗号化機能を採用しており、ネットワークの暗号化と盗聴防止が可能です。ユーザは自分で各ネットワークの暗号キーを変更することができ、同じ暗号キーを持つデバイスのみネットワーク内で正しく通信できます。
シリアルポート構成
本モジュールはシリアルポートからのコマンドをサポートしています。シリアルポートからのコマンドを使用して、本モジュールのパラメータと機能を構成・表示できます。
マルチタイプデータ通信
本モジュールはネットワーク全体へのブロードキャスト、マルチキャストおよびオンデマンド(ユニキャスト)機能に対応しています。ブロードキャスト、マルチキャストおよびオンデマンド(ユニキャスト)モードでは3つの伝送モード(HEXコマンドモード、透過伝送モードおよびATコマンドモード)が使用可能です。
チャンネル変更
2.4GHz帯の特定小電力無線規格に対応した本モジュールは、11から26 まで16チャンネルの選択 (2405-2480MHz) が可能で、各チャンネルはそれぞれ異なる周波数帯域に対応しています。
PAN ID変更
ネットワークに参加する際に必要となるPAN IDは任意のID番号を設定可能で、ユーザが任意に指定することも、自動選択をさせることもできます。
シリアルポートボーレート変更
ボーレートはユーザによる変更が可能で9,600bps~115,200bpsの範囲で設定できます。デフォルトのボーレートは115,200bps、データビット長は8ビット、ストップビットは1ビット、パリティビットはなしです。
ショートアドレス検索
ネットワークに参加している本モジュールのMAC(Media Access Control)アドレス (製造時にモジュールごとに決められているユニークかつ固定されたアドレス) から、ユーザはそのモジュールのショートアドレス(稼働時に割り振られる16bitの短いアドレス)を見つけることができます。
PWM制御
3つのPWM出力ポートからPWM制御することができます。
ボーレートリセット
ユーザがボーレートを忘れた場合やボーレートがわからない場合は、この機能を使用してデフォルトのボーレート115,200bpsにリセットできます。
シリアルポート受信ウェイクアップ
本モジュールがスリープ状態にある場合に、任意のバイトデータをシリアルポートから受信するとウェイクアップします。このデータはモジュールをウェイクアップするために使用され、コマンドとして扱われません。
透過伝送モードをサポート
本モジュールは、HEXコマンドモード(バイナリ形式での入力)、およびATコマンドモード(非サポート、ASCII形式での入力)でモジュールパラメータを制御し、透過伝送モードへ切り替えることで、ユーザは簡単にシリアル通信を行うモードの利用ができます。
モジュールのリセット
ユーザはシリアルポートコマンドを使用して、本モジュールをリセットすることができます。
工場出荷時の設定の復元
シリアルポートからのコマンドを使用して、本モジュールを工場出荷時の設定に復元することができます。
1.5 アプリケーション#
ZigBee®は産業用、商用、家庭用のM2M(Machine to Machine)ネットワークとして、さまざまな分野で活用されています。ZigBee®では、異なるメーカーのデバイス同士でも相互運用ができるように、アプリケーションレベルの通信仕様を標準化したプロファイルを定義しています。本モジュールがEmberZNet 6.10 SDKとしてサポートしているプロファイル※の例を以下に列挙します。
※詳細はZigbee Application Framework Developer’s Guideを参照してください。
https://www.silabs.com/documents/public/user-guides/ug391-zigbee-app-framework-dev-guide.pdf
Home Automation (ZHA)
家庭内での照明制御、セキュリティ、エネルギー管理など、住宅用オートメーションデバイス向けのプロファイル
Light Link (ZLL)
電球、照明器具、スイッチなど、照明製品向けに設計されたプロファイル
Smart Energy (ZSE)
電力消費の監視・管理やスマートメータなど、エネルギー関連アプリケーション向けのプロファイル
Building Automation (ZBA)
空調や照明、防災、防犯など、オフィスビル、商業施設、学校など大規模施設向けの自動化プロファイル
Health Care (ZHC)
健康モニタリングデバイス、医療機器、介護支援システムなど、ヘルスケア関連アプリケーション向けのプロファイル
Retail Services
在庫管理や価格表示など、小売環境向けのプロファイル