過去数年間、スマートメーター、ワイヤレスセンサー、ウェアラブル、ホームオートメーションデバイス、警報システムなどの製品により、モノのインターネット (IoT) アプリケーションが爆発的に増加しました。ワイヤレス接続はIoTの中核であり、多数のワイヤレス規格が連携して、あらゆるアプリケーションをカバーします。
特に、Bluetooth Smartとも呼ばれるBluetooth Low Energy (BLE) は、フィットネス、ヘルスケア、セキュリティ、ホーム エンターテイメント、地理ベースの小売マーケティング (ビーコン) などのアプリケーション向けに設計されています。Bluetooth Smartは、クラシックBluetoothと比較して、消費電力が少なく、コストが低く、接続時間が速く、信頼性とセキュリティのレベルも高いという特長があります。
Silicon LabのWireless Gecko SoCファミリーの最新メンバーであるBlue Geckoを使用すると、開発者は包括的なキット、ツール、デモ ソフトウェアを使用して、わずか90分で新しいアイデアのプロトタイプを作成したり、シンプルなBLEアプリケーションを開発したりできます。
Silicon LabsワイヤレスGeckoファミリー
Silicon Labsは、ワイヤレスGeckoファミリ (EFR32) により、高度に統合され、堅牢で信頼性が高く、使いやすいワイヤレスおよびRFシリコン オン チップ (SoC) ソリューションを提供します。ワイヤレスGeckoデバイスは、最大40MHzで動作するARM Cortex-M4 32ビット コアと浮動小数点ユニットをベースとし、最大256kBのフラッシュ プログラム メモリと32kBのRAMデータ メモリを備えています。 デバイスに応じて、周辺機器にはアナログ-デジタル コンバーター、コンパレーター、PWMチャネル、AES、ECCおよびSHA暗号化、I2C通信などが含まれます。
Blue GeckoはBluetooth Smartに最適化されており、他のSoCにはZigBee用のMighty Geckoがある。® およびThreadプロトコル、および2.4 GHz独自アプリケーション用のFlex Geckoです。
ブルーゲッコーの概要
Blue Gecko SoCファミリ (EFR32BG) は、Bluetooth Smartアプリケーションにスケーラビリティ、エネルギー効率、セキュリティ、設計のシンプルさを提供します。Blue Geckoポートフォリオには、ワイヤレスSoCに加えて、事前認定済みのワイヤレス モジュール、Bluetooth Smartソフトウェア スタック、使いやすいC言語ソフトウェア開発キット (SDK) が含まれています。
Blue Geckoハードウェア: SoCかモジュールか?
図1: Blue Gecko BGM113モジュールとSoCリファレンス デザインの比較 (出典: Silicon Labs)
ハードウェアに関しては、主に2つのオプションがあります。
1) SoCを搭載したあらかじめ設計された無線モジュールを使用する
2) ワイヤレス システム オン チップ (SoC) を使用して、カスタム プリント回路基板 (PCB) に統合します。
このモジュールには、RF最適化とアンテナ レイアウト、シールド、タイミング コンポーネント、外部部品表 (BOM) を含む、完全に特性評価されたPCB設計が付属しています。モジュールは初期コストが高く、カスタムSoC設計よりも多くのスペースを消費する可能性があります。Silicon Labs Blue Geckoモジュールには規制承認と標準認証が含まれているため、開発サイクルの後半で時間とコストを節約できます。
SoCはワイヤレス モジュールよりも小型で安価であり、総BOMコストも低くなる可能性があります。しかし、事前の設計には、慎重に検討する必要がある隠れたコストが伴います。SoCベースの設計の隠れたコストには次のようなものがあります。
- RFエンジニアと設計Bluetooth設計には専門的な設計スキルが必要です。PCB絶縁材、トレース形状、ネジの配置など、多くの要因がパフォーマンスに影響する可能性があります。 RFエンジニアの年間コストは最大20万ドルになる場合があります。
- ラボEquipmentと施設無響室の費用は20,000ドル以上かかる場合があり、さらに機器代として30,000 ~ 50,000ドルかかります。RFテスト施設では1日あたり数千ドルかかる場合があります。
- PCBレイアウトとアンテナの選択SoCメーカーは通常、詳細なリファレンス デザインとレイアウト ガイドラインを提供しますが、RF開発が計画どおりに進むことはほとんどありません。数回のクイックターンPCBスピンにより、コストが大幅に増加する可能性があります。
- 規制承認および認証: Bluetooth Smart製品は、FCC、EU、またはその他の規制当局の規制要件を満たしている必要があります。また、Bluetooth SIGによる認証も必要です。事前に認証されたモジュールを使用すると、最終製品で多くのテストを省略できる可能性があります。
- TTMの遅延による製品収益の減少開発サイクルがますます短縮される今日のマーケティング環境では、わずかな遅延でも収益の損失につながる可能性があります。
- 供給管理と保証: 少量生産の場合、モジュールにより供給リスクを軽減できます。単一のモジュールを調達することは、SoCをボード上に配置するためのすべてのコンポーネントを調達するよりもはるかに簡単です。
設計はそれぞれ異なりますが、携帯電話の大量生産メーカーの中にはモジュール ソリューションを選択しているところもあります。 SoCとモジュールの設計選択の詳細な分析については、こちらをご覧ください。
Bluetoothスマートワイヤレススターターキット
どちらの方法を選択する場合でも、Bluetooth Smart Wireless Starter Kit (WSTK) を使用すると、Blue Geckoハードウェアを迅速かつ簡単に評価し、ソフトウェア開発を開始できます。メインボード、プラグイン無線ボード、オプションの拡張ボードで構成されています。
メインボードには、イーサネットおよびUSB接続、Si7021温度および湿度センサー、128 x 128ピクセルのディスプレイ、コイン型電池ホルダー、およびその他の周辺機器が含まれています。
図2: BGM111 Blue Geckoワイヤレス モジュールと拡張ボードを備えたワイヤレス スターター キット (WSTK)。(出典: Silicon Labs)
Blue Gecko開発には、さまざまな無線ボードを選択できます。モジュールには、仕様が異なるBG111とBG113の2つのバージョンがあり、SoC作業にはEFR32BG無線ボードも利用できます。拡張ボードには、加速度計、ジョイスティック、LED、2つのプッシュボタンなどの追加機能が備わっています。
Blue Geckoソフトウェア開発オプション
Blue Gecko SoCまたはモジュールを使用したBluetooth Smartコード開発では、WSTKで使用する2つの柔軟な開発環境を選択できます。
標準機能を備えたシンプルなアプリケーションの場合、または最小限の労力でアイデアのプロトタイプを作成する場合は、BGScriptの使用を検討してください。 これは、迅速かつ簡単なソフトウェア開発環境を提供するBASICスタイルのスクリプト言語です。BGScriptは、BGM111またはBGM113で実行されるシンプルなBluetooth Smartアプリケーションを作成します。
より複雑な要件がある場合や、カスタム ハードウェアを設計している場合は、EclipseベースのIDEと包括的な最適化ツール スイートを備えたSimplicity Studioを使用して、組み込みCでアプリケーションをゼロから開発できます。 コンパイルされたコードは、Blue Gecko Bluetooth Smart SoC上でネイティブに実行されます。
Blue Geckoコードを簡単に評価するには、Bluetooth 4.0以降を搭載したスマートフォンまたはタブレットでBlue Geckoアプリを実行します。 これには、健康用温度計、小売ビーコン、キーフォブ検出、BLEスタックとプロファイル テストの4つのサンプル アプリケーションが含まれています。
BGScriptによるソフトウェア開発
BGScriptは、Bluetoothプロトコル、組み込みハードウェア、スケジューリング、メモリ管理などの複雑さを気にすることなく、すぐにコーディングを開始するために必要なすべての機能へのアクセスを提供します。アプリケーションを使用して、接続の開始、GPIO割り込みのリッスン、UART、SPI、I2C、またはGPIOインターフェイス経由のデータの読み取りと書き込みなど、一般的なBluetooth Smart機能を自動化できます。
図3: BGScriptプログラミング モデル 出典 (Silicon Labs)
BGScriptアプリケーションは、利用可能なBGScript算術演算、ビット演算、バッファ演算、およびデータ比較演算を使用して、単純なデータ処理タスクを実行することもできます。
BGScriptは、Bluetooth Smartソフトウェア スタックのBGAPIレイヤーの上に構築され、BGM111またはBGM113ワイヤレス モジュール上で直接実行されます。
これはイベント駆動型のプログラミング言語です。システムの起動、Bluetooth接続、I/O割り込みなどのイベントによって、そのイベントに関連付けられたアプリケーション コードの実行がトリガーされます。スクリプト コードは、ファームウェアの一部として含まれるBGScriptインタープリタによって実行時に解釈されます。
外部ホスト コントローラなしで完全なアプリケーションを実装できるため、BOMコストが削減され、ボード サイズが最小限に抑えられます。
90分でソフトウェア開発
図4: ブート イベント リスナーとBGAPIの呼び出しを示すBGScriptコードのサンプル (出典: Silicon Labs)
BGScriptアプリケーション プログラムは主にBGAPIの呼び出しで構成されているため、アプリケーションを非常に迅速に組み立てることができます。図4は、Blue Gecko SDKに含まれる4つのサンプル アプリケーションの1つであるHealth Thermometerアプリケーションのブート イベント リスナーのサンプル コードを示しています。ブート イベント アプリケーション コードは、BGAPIへの複数の呼び出しで構成されています。
-- GPIOピンをハイに設定して、評価ボード上のLEDの制御を有効にします。
-- アドバタイズメント パラメータを100ミリ秒間隔に設定します。
-- 接続可能なアドバタイズメント パケットのブロードキャストを開始して、リモートBLEデバイスがスキャンして接続できるようにします。
-- 温度の読み取りをスケジュールするために1秒の繰り返しタイマーを設定します。
このアプリケーションの詳細な説明については、こちらをご覧ください。 Blue Gecko BGScript開発に関する2つの便利なドキュメントは、言語機能、構文、組み込み演算子について説明した BGScript開発ガイド と、スタックで使用可能なすべてのAPIメソッドを詳しく説明したBGM111またはBGM113の APIリファレンス ガイド です。
BGScriptの利点と制限
インタープリタ型言語として、BGScriptには長所と短所があります。
いくつかの利点は次のとおりです。
- モジュール上で直接実行されるスタンドアロンアプリケーションを作成します
- シンプルな構文を使用し、最小限のプログラミング経験しか必要としません
- 標準的なプログラミング言語の機能と操作を使用する
- 複雑なタスクを簡素化し、一般的なBGAPI機能にアクセスする機能が含まれています
- カスタムCプログラミングやコンパイラライセンスは不要
いくつかの制限は次のとおりです:
- BGScriptはインタープリタ言語であり、実行には追加のオーバーヘッドが必要なため、外部API制御と比較してパフォーマンスが制限されます。BGScriptは1秒あたり数千のコマンドを実行できます。BGScriptはモジュールとSoCの両方で実行されますが、そのSDKでは基盤となるハードウェア周辺機器への完全なアクセスは許可されません。
Simplicity StudioとBluetooth Smart C-SDKを使用したCベースのソフトウェア開発

図5: Simplicity StudioはEclipse IDE上に構築された強力なソフトウェア開発フレームワークです (出典: Silicon Labs)
BGScriptは多くの標準操作を処理し、Bluetooth Smartスタックの抽象化レイヤーを提供しますが、BGScript APIでは基盤となるハードウェアへの無制限のアクセスが許可されないため、より単純なアプリケーションに最適です。
高速タイマーや割り込みを備えた複雑なアプリケーションがある場合、またはアプリケーションがUARTを介してマイクロコントローラなどの外部デバイスと通信する必要がある場合は、EclipseベースのIDE上に構築された完全な開発環境であるSimplicity Studioが必要です。 IDEは、IARのEmbedded Workbench ARMコンパイラをサポートすることで、開発者に柔軟性を提供します。また、次のような最適化ツールとのシームレスな統合も提供します。
- の アプリビルダー、アプリケーションを実装するためにSilicon Labsが提供するコードモジュールを構成するための対話型ツール
- の プロファイラー消費電力を測定することで、リアルタイムでコードの電力プロファイリングが可能になります。
- の ネットワークアナライザーワイヤレスネットワークアクティビティの痕跡をキャプチャする
- の ハードウェアコンフィギュレータハードウェア周辺機器とポートI/Oのコードを自動的に生成します。
- の BluetoothスマートC-SDKこれにより、単一のマイクロコントローラ上でC言語でシステムオンチップ (SoC) ソフトウェア アプリケーションを開発できるようになります。
図6: Simplicity Studioを使用したBluetooth Smart開発 (出典: Silicon Labs)
図6は、Simplicity Studioを使用したBT Smart開発のモデルを示しています。BGScriptバージョンとは対照的に、アプリケーションはBGAPIと直接対話します。
Blue Gecko開発に必要なSimplicity Studioコンポーネントは次のとおりです。
- EFR32BGサポート パッケージを備えたSimplicity Studioフレームワーク
- BluetoothスマートC-SDK
- ARM 7.3以降用のIAR Embedded Workbench (IARシステム) - Simplicity Studio環境でコンパイラとして使用されます。
Simplicity Studioの利点と制限
Simplicity Studioはフル機能の開発システムです。他の同様のシステムと同様に、多くのBluetooth Smart開発ツールに慣れるには時間がかかります。
利点は次のとおりです。
- コンパイルされたCコードにより、解釈されたBGScriptソリューションよりも高速に動作します。
- Bluetooth Smart C-SDKにより、より基盤となるハードウェア ペリフェラルにアクセスでき、顧客アプリケーションの開発における柔軟性が向上します。
- ハードウェア コンフィギュレータにより、SoCペリフェラルにアクセスでき、OEM PCB上のSoCペリフェラルをカスタム構成できます。
- Energy Profilerにより、消費電力をネイティブに測定することで、リアルタイムでコードの電力最適化が可能になります (追加の測定機器やハードウェア プロービングは不要)。
欠点は次のとおりです。
- 開発時間が長くなります。
- Cに関する詳細な知識が必要です。
- ARM 7.3以降のIAR Embedded Workbench (IARシステム) のライセンスを購入する必要があります。
結論
Blue Geckoは、事前認定モジュールを使用する場合でも、カスタムSoCベースのソリューションをゼロから開発する場合でも、BLE開発者が最短時間で市場に投入できるようにする完璧な機能の組み合わせを提供します。
業界標準のARM Cortex-M4コアをベースに構築されたBlue Geckoは、両方の長所を兼ね備えています。新しいアイデアや標準的なアプリケーションを迅速にテストするために、BGScriptベースの開発環境では、アプリケーションをほぼ即座に稼働させることができます。ゼロからの開発では、Simplicity Studioを使用すると、開発者は幅広い最適化ツールと事前に記述されたコード モジュールを使用して、設計のあらゆる側面をカスタマイズできます。
どのソフトウェア プラットフォームが使用されているかに関係なく、Blue Gecko SoCとモジュール ソリューションの間には完全なソフトウェア互換性があるため、開発者は要件の変化に応じてモジュールからSoCに迅速に移行できます。