Z-Waveをほとんど時間をかけずに構成:スマートホームネットワークを可能にする2種類の事前認証済みソリューション

著者 Jim Turley(ジム・ターリー)

DigiKeyの北米担当編集者の提供

使いやすさと相互運用性を重視したZ-Wave®は、民生用と「スマートホーム」用のアプリケーション向けの先進的なワイヤレスネットワーク技術の1つです。しかし、Z-Waveの特長である使い勝手の良さを実際に移すのは、設計者にとって容易ではありません。また、Z-Waveベースのデバイスはすべて、正式に認証を取得してから市場に投入する必要があります。

この課題はアプリケーションのコストと開発時間を増やしますが、製品設計を成功させるにはこの両方を最小限に抑えることが欠かせません。無線周波数(RF)ハードウェアとファームウェアについては、それらの高度な専門知識が社内にない限り、あらかじめ認証済みのコンポーネントと既存のソリューションを選ぶのが設計者にとって賢い方法と言えるでしょう。厳しい開発日程と予算が見込まれる製品設計では、RF設計について学習し、実験を行う余裕はあまりありません。RF伝搬の微妙な違いやそのオンボードと環境の連成効果は、実行するにはあまりに込み入っており、手間がかかりすぎます。

この記事では、ワイヤレスメッシュネットワークの基礎、そして特にZ-Waveを取り上げます。例として、Silicon LabsのZ-Wave互換マイクロコントローラチップファミリの700シリーズ、および関連する開発ツールを取り上げ、新しい民生用デバイスに適した実用的で認証取得が可能なZ-Waveネットワークを迅速に構築する方法について解説します。

Z-Waveとは?

Z-Waveは、家庭用ワイヤレスメッシュネットワーク規格の1つです。他にも競合する同種の規格が多数あり(図1)、Zigbee、Thread、Insteonなどがそうです。元々メッシュ機能を含んだ設計ではなかったWi-FiとBluetoothもメッシュネットワークを含むように改訂され、この分野で競合するようになりましたが、電力レベルとデータ速度が異なります。

各ワイヤレスネットワークにはそれぞれ長所と短所がありますが、Z-Waveは特に低コスト、低消費電力の民生機器向けに設計されており、新たな要件を満たすために絶えず進化しています。

Z-Waveワイヤレスメッシュネットワーク技術の図図1:Z-Waveは家庭用のワイヤレスメッシュネットワーク技術で、新たなアプリケーション要件に適合するように絶えず進化しています。(画像提供:DigiKey、Silicon Labsの素材による)

メッシュネットワークでは、データパケットがネットワーク上で1台のデバイスから別のデバイスに「ホップ」して、最終的にターゲットデバイスに到達します。このため、2台のデバイスが必ずしも互いの無線範囲内にある必要はありません。デバイスがネットワーク上の少なくとも他の1台のデバイスの範囲内にある限り、そのデバイスは無線範囲内にある次のデバイスにデータを転送し、データが宛先に到達するまでそれが続いていきます。ネットワーク上の任意の2台のデバイス間には複数の異なる経路もあり得るので、メッシュプロトコルは最も短く効率的な経路を決定します。ネットワークあたりの接続デバイス数が多いほど、冗長性レベルが高く、より堅牢なネットワークになります。

このネットワーク上のデータホッピングは概念としては簡潔ですが、実用上は実装が困難です。Z-Waveデバイスごと、またはノードごとに、相手ノードのメーカー、機能、使用年数、通信範囲、またはファームウェアのリビジョンレベルを問わず、他のあらゆるノードと通信できる必要があります。メッシュネットワークのメンバーとして、ノードはイニシエータ、ターゲット、または互いに通信範囲外にある他のノード間の仲介物の役割を果たす必要があります。各ノードは、他のあらゆるノードとアプリケーションレベルのデータとコマンドを交換できる必要もあります。消費者はいつノードを追加(または削除)するとも限りませんが、ネットワークはそれでも堅牢性を保ち、シームレスに中断なく動作する必要があります。使いやすさを考慮すると、ノードは、複雑なユーザー設定やDIPスイッチ、SSID(Service Set Identifier)、パスワードのいずれも使わず、さらに場合によってはキーボード、マウス、またはあらゆる種類のユーザーインターフェースなしに、ネットワークと接続(および切断)して動作できる必要があります。

技術面では、Z-Waveは低速で低電力のワイヤレスネットワークです。データレートは100kbps(キロビット/秒)に制限されており、一般的には40kbpsに近い速度です。通常の動作範囲はおよそ30m~40mで、ネットワークのRFコンポーネント、設計レイアウト、アンテナの配置、さらに壁や周囲の干渉などの環境要因により左右されます。Z-Waveはメッシュネットワークであり、Wi-FiやBluetoothのようなポイントツーポイントのネットワークではありません。そのため、Z-Waveデータパケットは1つのノードから別のノードにホップすることが多く、有効な通信範囲がエンドツーエンドで数百メートルに広がり、家庭用アプリケーションに対して十分なカバレッジを実現します。

Z-Waveは、産業用、科学用、および医療用(ISM)帯域(北米では908.42MHz、欧州では868.42MHz)の1GHz(ギガヘルツ)未満の帯域で動作し、Wi-FiまたはBluetoothによる干渉を受けません。ZigbeもISM帯域の同じ部分で動作しますが、通常は世界でより広く受け入れられている一般的な2.4GHz帯域で実装されます。つまり、Z-Waveデバイスは通常このような他のワイヤレスネットワークとは干渉しないということです。

Zen Geckoのご紹介

Silicon Labsは、同社のGeckoファミリで低コスト、低電力のマイクロコントローラを幅広く製造しています。製品系統は、Z-Wave製品開発用のZen Gecko系統など、いくつかのアプリケーション固有の分野に枝分かれしています。

Silicon LabsがZen Geckoファミリで提供するZ-Waveデバイスは2種類あります。1つは「スマートモデム」チップ、もう1つは完全にスタンドアロンのモジュールオンチップです。モデムチップ(品番:EFR32ZG14P231F256GM32-BR)は、ホストプロセッサと組み合わせて使用するように設計されており、モジュール(ZGM130S037HGN1R)は外付け部品をほぼ使わずに単独で使用できます。

どちらのデバイスも39MHzのArm® Cortex®-M4マイクロコントローラコアをベースにしますが、実装方法はそれぞれ異なります。ArmのCortexアーキテクチャは最新のRISCベースのマイクロコントローラ設計で、数百社に及ぶベンダーのソフトウェア/ハードウェア開発ツールで広くサポートされています。

ZG14モデムチップの場合、内蔵Cortex-M4は、Z-Waveプロトコルスタックを使用してあらかじめプログラムされています。プロセッサはユーザーが利用できるものでなく、また基本的には開発者にも見えません。これにより、このモデムチップは複雑なZ-Waveプロトコルを処理する能力を発揮できますが、同時にアプリケーションコード用に何らかのプロセッサを外付けする必要があります。そのためZG14は、別個のマイクロプロセッサないしマイクロコントローラをサポートするスペースと性能要件を有する比較的複雑な製品に適しています。また、ZG14スマートモデムを採用し数本の信号と少数のRFコンポーネントを接続することで、Z-Waveを既存の製品に付け加えやすくなります。

一方、130Sは完全に自己完結型のモジュールで、製品で唯一のマイクロコントローラとしてスタンドアロンで使用できます。内蔵Cortex-M4は開発者に見える仕様で、開発者はそれをアプリケーションコード用に自由に使用できます。130SモジュールはZG14スマートモデムより物理的に大きいだけでなく、A/Dコンバータ(ADC)とD/Aコンバータ(DAC)、アナログコンパレータ、静電容量式センスインターフェース(タッチスクリーン用)、カウンタ、タイマ、ウォッチドッグ、UARTなど、より多くの機能も含んでいます。このモジュールでは、電源、グランド、およびアンテナ接続以外にはほぼ何も必要なく、完全に機能するZ-Waveコントローラを実現できます。

これら2種類のデバイスはいずれも、Silicon Labsの最新のZ-Waveコンポーネントである700シリーズに含まれ、最新のZ-Wave仕様に準拠します。具体的には、これらは改訂されたセキュリティ機能のSecurity-2(S2)と、簡潔なユーザー設定オプションであるSmartStartをサポートします。どちらのデバイスも、3種類のZ-Waveデータレート(9.6、40、100kbps)と、グローバル周波数帯域をすべてサポートします。あらゆるZ-Waveデバイスと同様、この2つのデバイスは以前のZ-Waveデバイスおよびコントローラとすべて下位互換です。

以前、Silicon Labsの8051をベースにするZ-Waveデバイス(500シリーズ)を使用した経験のあるユーザーは、既存のコードの一部または全部を新しいArmベースのデバイスに移植したいと考えるかもしれません。これを支援するため、Silicon Labsでは移行を容易にするためのソフトウェアライブラリと「ビルディングブロック」を用意しています。古い8051コードは新しいArmコードに単純に再コンパイルできない場合もありますが、このコードライブラリは大いに役立つはずです。

FR32ZG14 Z-Waveチップ内部

EFR32ZG14は、スマートモデムシステムオンチップ(SoC)で、概念としてはシンプルです(図2)。外部のホストプロセッサとの間で相互接続する2線式シリアルインターフェース、Z-Waveプロトコルスタックを処理する内蔵Arm Cortex-M4 MCUコア、および物理的な無線に必要なほぼすべてのコンポーネントがある無線セクションを含んでいます。

Silicon LabsのEFR32ZG14 Zen GeckoモデムSoCのブロック図図2:EFR32ZG14 Zen GeckoモデムSoCのブロック図。このチップは、Z-Waveメッシュネットワーク用のスマートモデムとして機能します。外部インターフェースとなるのは、ホストプロセッサと相互接続するUARTおよび無線トランシーバのみです。(画像提供:Silicon Labs)

動作時には、ZG14はシンプルなUARTインターフェースを介して最大115,200ボーでホストプロセッサと通信します。送信と受信用の2本の信号線だけが必要となります。ホストプロセッサがこのUARTインターフェースを介してコマンドとデータを送信し、ZG14が応答します。ZG14をリセットする3番目の信号、RESETnは、ホストプロセッサ上の便利なI/Oピンによって駆動できます。

ホストプロセッサとの間で必要なデジタルラインは3本のみで、そのほかにZG14とシンプルなIPD(集積型パッシブデバイス)間のデジタル信号が4本、水晶振動子、およびシンプルなアナログコンポーネントがいくつかあります(図3)。

設計者は、オプションでアクティブローSUSPEND信号の接続を選択することもできます。これにより、ZG14を低電力状態にしてすべての無線通信を停止できます。目的のアプリケーションに応じて、ZG14はエネルギー節約のために事実上このサスペンド状態で時間の大半を費やすこともできます。

オプションでチップの内蔵フラッシュメモリへの3線式接続もあり、開発者はオンザフライでZG14のファームウェアを再プログラムできます。このようなファームウェアはSilicon Labsによりバイナリ形式で提供されます。前述のように、ZG14のファームウェアはユーザーコード用ではありません。

Silicon LabsのEFR32ZG14 Zen Gecko実装の図図3:一般的なEFR32ZG14 Zen Geckoの実装では、スマートモデムチップは最大20の外付けコンポーネントと、ホストプロセッサへのシンプルな3線式シリアルインターフェースのみを必要とします。(画像提供:Silicon Labs)

図3に示される表面弾性波(SAW)フィルタの使用はオプションです。世界にはSAWフィルタが必要な地域と必要でない地域があるため、それを使用するかどうかは最終製品を展開する地理的な場所によって決まります。また設計者は、SAGフィルタバンクを含めて、ZG14の2本の出力ピンSAW0とSAW1により、そのSAGフィルタバンクをオンザフライで設定することも選択できます。これにより、最終製品があらゆる地域に適応できるようになり、製品の設計、製造、在庫の簡素化につながります。

ZGM130S Z-Waveモジュール内部

130Sモジュールは、ZG14モデムSoCに比べて大幅に複雑で機能的です。Silicon Labsでは、これをシステムインパッケージ(SiP)と呼んでいます。この呼び方が示すように、130Sは基本的に複数のチップを1つにまとめることで、スタンドアロンのマイクロコントローラおよびZ-Waveコントローラになります(図4)。

Silicon LabsのZGM130S SiPモジュールのブロック図(クリックして拡大)図4:ZGM130S SiPモジュールのブロック図。図4:ZGM130S SiPモジュールのブロック図。SiPはスタンドアロンのマイクロコントローラおよびZ-Waveコントローラで、Arm Cortex-M4と豊富なアナログおよびデジタルI/Oを備えており、開発者はこれを利用できます。(画像提供:Silicon Labs)

モジュールの中心となるArm Cortex-M4プロセッサコアは39MHzで動作し、512Kバイトのフラッシュメモリと64KバイトのSRAMを搭載しています。Z-Waveプロトコルスタックは既にモジュールの無線トランシーバブロック(ブロック図左上)に組み込まれているので、ユーザーはメモリの大半を利用できます。このブロックは、実質的にZG14スマートモデムチップと同等です。

130Sは独自のDC/DCレギュレータと水晶振動子を内蔵しているため、外部クロックコンポーネントは不要です。モジュールはアナログおよびデジタルペリフェラルもいくつか搭載しており、ADCおよびDAC、温度センサ、2つのアナログコンパレータ、3つのオペアンプ、静電容量式センスインターフェース、DMAコントローラ、32本の汎用I/Oピンなどが含まれます。130SのLGA64パッケージはピンに制限があるため、ソフトウェア構成によっては、すべてのI/Oピンが常に使用できるわけではありません。

130Sは64ピンパッケージに格納されていますが、外部接続は明らかにシンプルです。図5と図6に示されるように、このデバイスで必要なのは電源/グランド用の単純なバイパスコンデンサとアンテナ用の1つの接続のみです。残りのピンはユーザーI/Oに使用できます。

Silicon LabsのZGM130S SiPモジュールの図図5:ZGM130S SiPモジュールで必要なのは1ペアのバイパスコンデンサのみです。(画像提供:Silicon Labs)

実質的に全無線コンポーネントを含むSilicon LabsのZGM130S SiPモジュールの図図6:ZGM130S SiPモジュールは実質的にすべての無線コンポーネントを含んでおり、アンテナへの単線式インターフェースのみを備えています。(画像提供:Silicon Labs)

始めはスターターキットから

Zen Geckoファミリを使用してZ-Wave製品の開発を始める最も簡単な方法は、Z-Wave 700スターターキットを使うことでしょう。このキットには、最小限の2ノードネットワークに必要なすべてが2つ(2つのメインボード、2つの無線ボード、スイッチとLEDを備えた2つの拡張ボード、2つのフレキシブルアンテナ、そして2本のUSBケーブル)が含まれています。また、PCで使用する場合に備えて2つのUSBドングルが付属しています。1つはZ-WaveのRFスニッファアプリケーション(Zniffer)を搭載しており、もう1つはZ-Waveコントローラ機能を搭載しています。ハードウェアと付属のソフトウェアは、世界中の全地域ですべてのZ-Waveオプションとプロトコルをサポートします。

上面に無線ボードが接続され右側に拡張ボードが接続されている基板の1セットが図7に示されています。メインボードはZGM130S SiPを含んでおらず、そのコンポーネントは無線ボード上に取り付けられています。その代わりメインボードはビットマップLCDを目立つように備えており、デバッギングやGUI開発に役立ちます。

Silicon LabsのSLWSTK6050A Z-Wave 700スターターキットの画像図7:SLWSTK6050A Z-Wave 700スターターキットには、メインボード、無線ボード、および拡張ボードの2つの同一セットが含まれており、小規模のZ-Waveネットワークを構築できます。(画像提供:Silicon Labs)

ソフトウェアのインストール

Simplicity StudioはSilicon Labsのオールインワン統合開発環境(IDE)で、Zen Geckoを含む同社の多くのマイクロコントローラに対応し、Windows、MacOS、およびLinux版があります。

Simplicity Studioのインストールの際に、開発キットのいずれかのメインボード(どちらでもかまいません)が開発システムに接続されていれば、インストールと構成のプロセスが容易になります。Simplicity Studioはそのハードウェアを検出し、それに必要なソフトウェアサポートを自動的にロードします。

ハードウェアがない場合は、以下の説明のようにこの設定を手動で実行できます。

Simplicity Studioが起動したら、右上隅近くの緑色の矢印をクリックします(図8)。

Simplicity Studio IDEメイン画面の画像図8:Simplicity Studio IDEのメイン画面。ダウンロードリンクがハイライトされています。(画像提供:DigiKey)

Simplicity Studioには2つのオプションとして、[Install by Device(デバイスによるインストール)]と[Install by Product Group(製品グループによるインストール)]があります(図9)。どちらも最終的な結果は同じですが、前者のオプションを選択する方が簡単なので、[Install by Device]と書かれた大きい緑色のボタンをクリックします。

Simplicity Studioの2つのオプションの画像図9:Simplicity Studioには、プロジェクト固有のソフトウェアサポートをロードするための方法が2つあります。(画像提供:DigiKey)

開発ボードが設置されていれば、Simplicity Studioはそのハードウェアを自動で検出しますが、設置されていなければ、必要なソフトウェアパッケージを手動で簡単に見つけることができます。検索ボックスに「6050A」(開発キットのフルネームの短縮形)を入力するだけです(図10)。提案されたソフトウェアサポートパッケージをダブルクリックし、[Next(次へ)]をクリックします。

Simplicity Studioの検索ボックスに「6050A」を入力した画像図10:検索ボックスに「6050A」と入力すると、開発ボードに必要なソフトウェアがすぐに見つかります。(画像提供:DigiKey)

次に、このハードウェア構成で利用可能な別のソフトウェアサポートがSimplicity Studioでハイライトされます。場合により、特定のソフトウェアモジュールは、補足的なライセンス契約を締結したユーザー、およびハードウェアを登録したユーザーに制限されます。このため、一部のオプションはグレーで表示され一時的に利用できない場合があります(図11)。

Simplicity Studioのハードウェア購入証明の画面の画像図11:一部のソフトウェアへのアクセスは、ハードウェア購入証明または追加のソフトウェアライセンスがあることが条件となります。(画像提供:DigiKey)

最後に、Simplicity Studioがインストールするソフトウェアオプションの長い一覧表が表示されます。たとえば1つ以上のCコンパイラ、オプションのリアルタイムオペレーティングシステム、プロファイリングツールなどのオプションが含まれます(図12)。一部のオプションは必要に応じて手動で有効または無効に設定できますが、通常は推奨されるソフトウェアのロードを受け入れるのが最善の方法です。準備ができたら、[Next(次へ)]をクリックします。

Simplicity Studioの最終的なソフトウェア一覧の画像図12:Simplicity Studioの最終的なソフトウェア一覧。一部のオプションは必要に応じて手動で有効または無効に設定できますが、通常は推奨されるソフトウェアのロードを受け入れるのが最善の方法です。(画像提供:DigiKey)

最後に、マスターソフトウェアライセンスの同意書がSimplicity Studioに表示されます。このライセンスは、インストールするすべてのソフトウェアコンポーネントを対象にしています。ライセンスを読み、同意して、これが最後となる[Next(次へ)]のクリックを行います。

ソフトウェアのインストールには数分かかります。完了したらSimplicity Studioを閉じて再起動します。これで、いくつかの簡単な設定済みデモ用プログラムや編集可能なサンプルコードなど、Z-Waveメッシュネットワークアプリケーションを作成開始する準備がすべて整い、開発者はこれらを利用してすぐに作業を開始できます。

まとめ

Z-Waveは消費者が使いやすいように設計されていますが、その使いやすさの根底には設計者による数々の開発や認証取得作業があります。しかし、新しいZ-Waveメッシュネットワークデバイスを開発する際に、互換ハードウェアやテスト済みソフトウェアで事前構成されたキットを使用すれば、デバイスを簡単に開発できるようになります。Z-Wave 700シリーズのモデムSoC、SiPモジュール、および関連する開発キットには、2ノードネットワークを迅速に構築するために必要なハードウェアとソフトウェアが含まれており、この複雑ながら非常に効率的なプロトコルとの互換性が保証されます。

DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

著者について

Image of Jim Turley

Jim Turley(ジム・ターリー)

Jim Turley(ジム・ターリー)氏は、マイクロプロセッサ、半導体テクノロジ、組み込みシステムを専門とするテクノロジアナリスト&ライターですが、かつてはハードウェアエンジニアでした。2001年から2018年まで、彼はSilicon Insiderというアナリスト会社を経営していました。それ以前は、マイクロプロセッサIP(知的財産)関連の小さな上場企業の社長兼CEOを務め、さらに別のマイクロプロセッサライセンス企業のマーケティング担当上級副社長を務めました。彼は7冊の著書を持ち、オンライン雑誌MICROPROCESSOR reportとEmbedded Systems Designの編集長を務めたほか、Embedded Systems Conference(ESC、組み込みシステム会議)の議長も務めました。

出版者について

DigiKeyの北米担当編集者