Bluetooth Smart 4.0を使用した低電力ワイヤレスシステムの構築方法

著者 ヨーロッパ人編集者

DigiKeyのヨーロッパ担当編集者の提供


低電力ポータブルワイヤレスデバイスの市場は急成長しており、Bluetooth Low Energy 4.0仕様は、こうしたシステム開発の重要な部分です。 この記事では、CSRなどが提供する開発環境を使用したウェアラブルおよび低電力医療機器の開発において、Laird Wireless、connectBlueおよびBluegigaなどのメーカーが提供する、4.0仕様をサポートするモジュールがいかに使用できるかを考察します。

ウェアラブルコンピューティングにますます重点が置かれている中で、Bluetooth LE 4.0の低エネルギーコネクティビティは、ポータブルフィットネスシステムから、スマートバスケットボールに及ぶ広範なデバイスを実現しています。

腕時計、ブレスレット、手袋や歯ブラシなどの日常品は、Bluetoothワイヤレス技術で更新されつつあり、それらは、データをキャプチャして、スマートフォンまたはタブレットのアプリケーションにデータを送り返すことができます。 スポーツおよびフィットネストラッカーは、2013年に出荷されたウェアラブルデバイスの96%を占めており、ABI Researchは、Bluetooth Smartを備えた3200万個のこうしたデバイスが2014年に出荷されると予想しています。

小さなまたは充電式の電池からデバイスに給電することは、ウェアラブルおよびスポーツ市場にとって重要であり、1つの電池から数年間組み込みリンクを実行できる能力は、Bluetooth Smartの採用を推進しています。これには、ハードウェアとソフトウェアの両方の観点から、設計でのいくつかの主要な考慮事項が必要です。

Bluetooth Smartの要は、既存のスマートフォンまたはタブレットでアプリケーションとともに動作できる能力にあります。 しかし、Bluetooth LEは、以前のClassic Bluetoothと同じ2.4GHzのISM帯域周波数を使用しますが、消費電力を削減するために簡単なガウス周波数偏移プロトコルを使用します。 これはまた、より小さい2MHzチャンネルおよびダイレクトシーケンス拡散スペクトラム(DSSS)変調を使用します。

この組み合わせは、LEとClassic仕様には直接の互換性がないことを意味します。 しかし、Bluetoothとの互換性を認証されたすべてのチップやモジュールは古いデバイス用のClassicやDSSSバージョンのBluetooth Smartのいずれのモードでも実行できるので、これは開発者にとって問題ではありません。 当初、「Bluetooth Smart Ready」は、ハードウェアがClassicとLE Bluetoothの両方のペリフェラルと互換性がある、通常ラップトップまたはスマートフォンのデュアルモードデバイスを示しましたが、「Bluetooth Smart」ラベルは、LEのみのデバイスを示します。

Bluetooth Smartは、2MHzの40チャンネルを使用することで低消費電力の利点を得ることができ、1Mbit/sのリンクビットレートおよび270kbit/sのアプリケーションスループットを可能にします。 Bluetooth Classicの場合、これはより低いですが、アプリケーションでのビットレートは、待ち時間を100msから6msに減らすことで相殺されます。 最大送信電力はまた、10mWに低減され、その範囲を50メートル未満に減らします。これは、短距離のウェアラブルおよびホームアプリケーションには十分以上です。 また、これにより、総リンクバジェットについて心配する必要性が低減されるため、BLE4.0システムを実装しやすくなります。

この複雑性の多くは、Laird Wirelessなどのモジュールメーカーによって隠すことができます。 Laird WirelessのBL600モジュールは、Nordic Semiconductorのトランシーバを、アンテナおよびインターフェースと組み合わせており、これらすべては19mm x 12.5mmの小型フットプリントに収められています。 これらのモジュールは、周辺機器やセンサを接続するためのUART、SPI、I²C、ADC、およびGPIOインターフェースなど、BLEアプリケーションの開発をサポートするために必要なすべてのハードウェアとファームウェアを統合しています。 これらのインターフェースを経由して接続することは、シングル、デュアルまたはマルチワイヤリンクで比較的簡単です。

Laird WirelessのBL600 Bluetooth Smartモジュールの画像

図1:Laird WirelessのBL600 Bluetooth Smartモジュールは、コネクティビティを簡単に既存の設計に追加することを可能にします。

これらの接続からのデータ収集は、血圧(Blood Pressure)、心拍数(Heart Rate)、健康体温計(Health Thermometer)、近接(Proximity)およびファインドミー(Find Me)を含む一連のプロファイルによって処理されます。 これらのプロファイルは、Generic Attribute Profiles(GATT)と呼ばれ、サービスおよび記述子とともに、オペレーティングシステム内でクライアントサーバアプリケーションプログラミングインターフェース(API)を提供します。

サービスは、特定の機能を実行するために一緒に動作する関連特性の集合体です。 健康体温計サービスには、温度測定値、および測定間の時間間隔の特性が含まれます。 記述子は、その単位(例:摂氏)、センサが測定可能な最大および最小値の表示などの、特性に関してより多くの情報を提供します。

サービス、特性および記述子の属性は、まとめてユニバーサル識別子(UUID)によって識別されます。 Bluetooth SIGは、標準的な属性のために(形式xxxxxxxx-0000-1000-8000-00805F9B34FB)のUUIDの範囲を予約し、これらはプロトコルで128ビットの代わりに16ビットまたは32ビットの短い形式値で表現され、コードサイズと複雑さを抑えます。

GATT動作

GATTプロトコルには、クライアントがサーバーに関する情報を発見するためのコマンドが多数用意されています。 これらには、すべての主なサービスのためのUUIDの発見、与えられたUUIDを使用したサービスの検出、そして2次的なサービスだけでなく、特定のサービスのためのすべての特性を見つけることが含まれます。

また、コマンドは、サーバからクライアント(読み取りと呼ばれます)、そしてクライアントからサーバ(書き込みと呼ばれます)に特性に関するデータを転送するために設けられています。 値は、特性のUUIDを指定するか、情報発見コマンドから得られるハンドル値のいずれかによって読み取ることができます。 書き込み操作は常にハンドルによって特性を識別しますが、サーバからの応答が必要かどうかを選択できます。

GATTはまた、ノーティフィケーション(notification)およびインディケーション(indication)を提供します。 クライアントはサーバから特定の特性に対するノーティフィケーションを要求することができ、サーバはそれが利用可能になるとクライアントに値を送信することができます。 たとえば、温度センササーバは、測定を取るたびにクライアントに通知することができます。 これはクライアントがサーバをポーリングする必要性を回避し、通常の無線リンクの必要性を低減します。 インディケーションはメッセージを受信したことの確認として、クライアントからの応答を必要とすることを除いて、ノーティフィケーションと同様です。

Lairdは、イベント駆動型のプログラミング言語を追加し、外部プロセッサを必要とせずにいずれかのインターフェースを介してセンサを結合することができる、モジュールのスタンドアロン動作を可能にします。 簡単なsmartBASICアプリケーションは、センサデータの読み取り、書き込み、および処理の完全なエンドツーエンドのプロセスをカプセル化し、BLEを使用して、スマートフォン、タブレット、ゲートウェイ、またはコンピュータなどの任意のBluetooth v4.0デバイスに転送します。

FCCモジュラー、IC、CEおよびMIC認証を取得していることに加えて、これらのモジュールは、Bluetooth最終製品として完全に認定されています。 これにより、設計者は、さらなるBluetooth認定を取得する必要なく、既存のデバイスにモジュールを統合し、開発速度を劇的に高速化することができます。

BluegigaやconnectBlueなどのその他のモジュールメーカーは、v4.0をサポートするモジュール向けに、Texas InstrumentsのBLEシリコンを使用しています。 BluegigaのBLE112モジュールは、キーフォブからiPhoneアクセサリに至る最小設計に適合するために、標準3Vのコイン電池または2つのAAA電池から直接給電することができます。 最小電力スリープモードで、この製品はわずか500nAの電流しか消費せず、数百マイクロ秒でウェイクアップし、電池寿命を延ばします。 connectBlueのモジュールは、温度センサおよび加速度計を統合しており、単一のコイン電池から最大10年間実行することができます。

connectBlueのOLP425モジュールは、コントローラサブシステムとして認定されており、お客様が開発するBluetooth Low Energyプロファイル、サービスおよび属性をサポートします。 このモジュールは、アプリケーションとBluetooth Low Energyプロトコルスタックの両方を実行する、TIのCC2540システムオンチップをベースにしています。 これには、最新のBLEプロトコルスタックを備えたオブジェクトコードが含まれており、このプロトコルスタックは、ソースコードで広範なプロファイルセットをカバーする複数の接続、サンプルプロジェクトおよびアプリケーションをサポートします。

connectBlueのOLP425サンプルコードパッケージには、チップでの8051コア用IAR Embedded Workbenchを使用して開発した組み込みソフトウェアを使用してLED、温度センサおよび加速度計にアクセスするためのサンプルプロジェクトが含まれています。

トランシーバ

CC2540の設計は、CPU関連モジュール、パワー、テスト、およびクロック分配に関するモジュール、そして無線関連モジュールの3つの主なカテゴリに分割されます(図2)。

Texas Instrumentsが提供するCC2540 Bluetooth Smart 4.0トランシーバの画像

図2:TIが提供するCC2540 Bluetooth Smart 4.0トランシーバのブロック図。

CPUおよびメモリ

開発者の観点から、SoCの中核はシングルサイクル8051互換CPUコアです。 それには、3つの異なるメモリアクセスバス(SFR、DATA、およびCODE/XDATA)、デバッグインターフェース、そして18入力拡張割り込みユニットがあります。

メモリアービタは、SFRバスを通してCPUおよびDMAコントローラを物理メモリやすべてのペリフェラルと接続しているため、システムの中核を成しています。 それは、4つのメモリアクセスポイントを備え、各メモリアクセスポイントは、SRAM、フラッシュメモリ、XREG/SFRレジスタの3つの物理メモリの1つにマッピングすることができ、同じ物理メモリに対して同時メモリアクセス間のアービトレーションおよびシーケンシングを行う責任があります。

図2では、メモリアービタにすべてのハードウェアペリフェラルを接続する共通バスとして、SFRバスを概念的に示しています。 このブロック図でのSFRバスはまた、無線レジスタがXDATAメモリスペースにマッピングされていたとしても、無線レジスタバンクにある無線レジスタへのアクセスを提供します。 8KバイトのSRAMは、DATAメモリスペースに、そしてXDATAメモリスペースの部分にマッピングします。 これは、デジタル部分がパワーオフされている時でも(すなわち、パワーモード2および3の時でも)コンテンツを保持する超低電力SRAMです。 128/256Kバイトのフラッシュブロックは、デバイス用にインサーキットプログラム可能不揮発性プログラムメモリを提供し、CODEおよびXDATAメモリスペースにマッピングします。

ペリフェラル

フラッシュブロックへの書き込みは、一度に1ページの消去および4バイト単位のプログラミングを可能にするフラッシュコントローラを通して行われ、汎用の5チャンネルDMAコントローラは、システム内で利用できます。 これは、XDATAメモリスペースを使用してメモリにアクセスし、したがってすべての物理メモリへのアクセスを有しています。 各チャンネル(トリガ、優先順位、転送モード、アドレッシングモード、ソースおよびデスティネーションポインタ、そして転送カウント)は、メモリ内のどこにでも配置できるDMA記述子で構成されます。 ハードウェアペリフェラル(AESコア、フラッシュコントローラ、USART、タイマ、ADCインターフェースなど)の多くは、シングルSFRまたはXREGアドレスとフラッシュ/SRAM間のデータ転送を実行することで、効率的な動作のためにDMAコントローラと一緒に使用することができます。

各CC2540には、Bluetoothデバイス用のパブリックデバイスアドレスとして使用可能な固有の48ビットIEEEアドレスが含まれます。 設計者は、Bluetooth仕様に記載されているように、このアドレスを自由に使用するか、あるいは自身のアドレスを提供します。

割り込みコントローラサービスは、合計18の割り込みソースをサービスし、これらの割り込みソースは6の割り込みグループに分割され、各グループは4つの割り込み優先順位の1つと関連付けられます。 CC2540がスリープモード(パワーモード1および2)であっても、このデバイスをアクティブモードに戻すことで、I/Oおよびスリープタイマ割り込み要求がサービスされます。

デバッグインターフェースは、インサーキットデバッギング用に使用される専用2線式シリアルインターフェースを実装します。 このデバッグインターフェースを通して、全体のフラッシュメモリの消去またはプログラム、どの発振器がイネーブルされるかの制御、ユーザープログラムの停止および開始実行、8051コアでの命令実行、コードブレークポイントの設定、そしてコード内での命令を通したシングルステップが可能です。 これらのテクニックを使用すれば、インサーキットデバッギングや外部フラッシュプログラミングを巧みに行うことができます。

I/Oコントローラは、すべての汎用I/Oピンに対して責任があります。 CPUは、ペリフェラルモジュールが特定のピンを制御するか、またはペリフェラルモジュールがソフトウェア制御下にあるかどうかを構成することができます。そして、この構成ができる場合、CPUは、入力または出力として各ピンが構成されるか、およびパッド内のプルアップまたはプルダウン抵抗が接続されるかどうかを構成することができます。 I/Oピンに接続する各ペリフェラルは、さまざまなアプリケーションでの柔軟性を確保するために、2つの異なるI/Oピンの場所から選択することができます。

スリープタイマは、外部32.768kHz水晶発振器または内部32.753kHz RC発振器のどちらかを使用できる超低電力タイマです。 このスリープタイマは、パワーモード3を除くすべての動作モードで連続的に実行します。 このタイマの典型的なアプリケーションとして、リアルタイムカウンタ、またはパワーモード1または2から出るためのウェイクアップタイマがあります。

組み込みウォッチドッグタイマにより、CC2540は、ファームウェアのハングの場合に自身をリセットできます。 ソフトウェアによりイネーブルされると、このウォッチドッグタイマは、定期的にクリアされる必要があります。そうでない場合、このウォッチドッグタイマは、タイムアウト時にデバイスをリセットします。

タイマ1は、タイマ/カウンタ/PWM機能を備えた16ビットタイマです。 これは、プログラム可能プリスケーラ、16ビット周期値、およびそれぞれが16ビットのコンペア値を持つ5つの個々にプログラム可能なカウンタ/キャプチャチャンネルを備えています。 各カウンタ/キャプチャチャンネルは、PWM出力として、または入力信号でのエッジのタイミングのキャプチャに使用できます。 これはまた、IR生成モードで構成できます。このIR生成モードでは、CPUインタラクションを最小限に抑えて、被変調コンシューマIR信号を生成するために、タイマ3の出力を使用してタイマ3周期をカウントし、出力がAND演算されます。

タイマ2は、Bluetooth Low Energyスタックにより使用される40ビットタイマです。 これは、発生した周期数の追跡に使用できる、構成可能なタイマ周期を持つ16ビットカウンタおよび24ビットオーバーフローカウンタを備えています。 40ビットのキャプチャレジスタはまた、フレーム開始デリミタが受信される/送信される正確な時間、または送信が終了する正確な時間を記録するのに使用されます。 2つの16ビットタイマコンペアレジスタ、および2つの24ビットオーバーフローコンペアレジスタがあります。これらのレジスタは、無線に対するRXまたはTXの開始、または一般的な割り込みの開始の正確なタイミングを与えるのに使用することができます。

タイマ3およびタイマ4は、タイマ/カウンタ/PWM機能を備えた8ビットタイマです。 それらは、プログラム可能プリスケーラ、8ビット周期値、および8ビットのコンペア値を持つ1つのプログラム可能なカウンタチャンネルを備えています。 各カウンタチャンネルは、PWM出力として使用できます。

USART 0とUSART 1はそれぞれ、SPIマスター/スレーブまたはUARTのどちらかとして構成できます。 それらは、RXおよびTXとハードウェアフロー制御の両方でダブルバッファリングを提供するため、高スループット全二重アプリケーションによく適しています。 各USARTは、自身の高精度ボーレートジェネレータを有しており、したがって他の使用のために通常のタイマを未使用のままにすることができます。 SPIスレーブとして構成されると、USARTは、何らかのオーバーサンプリング方式を使用するのではなく、SCKを使用して入力信号を直接サンプルするため、高データレートによく適しています。

より安全なアプリケーションのために、AES暗号化/復号化コアにより、ユーザーは、128ビットキーを持つAESアルゴリズムを使用して、データの暗号化および暗号化の解除を行うことができます。 AESコアはまた、ECB、CBC、CFB、OFB、CTR、およびCBC-MACや、CCM用のハードウェアサポートをサポートします。

ADCは、それぞれ30kHz~4kHzの対応帯域幅範囲を持つ7~12ビットの分解能をサポートします。 最大8つの入力チャンネル(I/Oコントローラピン)を持つDCおよびオーディオ変換が可能です。 これらの入力は、シングルエンドまたは差動として選択できます。 基準電圧は、内部、AVDD、またはシングルエンドまたは差動外部信号であることが可能です。 このADCはまた、温度センサ入力チャンネルを備えています。 このADCは、チャンネルのシーケンスにわたって定期的なサンプリングまたは変換のプロセスを自動化することができます。

オペアンプは、ADC用にフロントエンドバッファリングおよびゲインを提供するよう意図されています。 両方の入力や出力は、フィードバックネットワークが完全にカスタマイズ可能なように、ピン上で利用できます。 チョッパー安定化モードは、高ゲインで良好な精度を必要とするアプリケーションで利用可能です。

超低電力アナログコンパレータは、アナログ信号に基づいてPM2またはPM3からウェイクアップするためのアプリケーションを実現します。 両方の入力は、ピン上で利用できます。基準電圧は、外部で提供される必要があります。 コンパレータ出力は、I/Oコントローラ割り込みディテクタに接続され、通常のI/Oピン割り込みとしてMCUによって扱われることができます。

BluetoothトランシーバおよびSoCチップのもう1つのメーカーであるCSRはまた、そのuEnergyの周囲にソフトウェア開発、基板設計、および製造テストのための完全なツールセットを提供します。 このチップは、USBプログラミングインターフェース、およびアプリケーション特有のセンサおよびアクチュエータに対してI/Oをブレークアウトするためのインターフェースを備えたリファレンスモジュールに配置されています。 完全にライセンスされたCSR xIDEソフトウェア開発環境には、一般的なBluetooth Smartプロファイル用のサンプルアプリケーション、およびプロジェクトを簡単にするためのiOSとAndroidスマートフォンの両方用のホストアプリケーションが含まれます。 ターゲットボードは通常、ホストUSB接続から電力供給されますが、オンボードコイン型電池でスタンドアロンで実行することもでき、電力測定を行うことを可能にします。

CSRのBluetooth Smart開発システムの画像

図3:CSRのBluetooth Smart開発システム。

これらのデバイスに電力を供給するために、電池を使用する際にはいくつかの主要な選択肢がありますが、設計にモジュールを統合することは比較的簡単です。

BluegigaのBLE112は、コイン電池と一緒に直接使用することができます。 コイン電池の比較的高い内部抵抗により、バッテリと並列に100μFのコンデンサを配置することをお勧めします。 コイン電池の内部抵抗は当初10Ωの範囲にありますが、容量が使用されるにつれて抵抗値が急激に増加します。

コンデンサの値が高ければ高いほど、電池の有効容量とアプリケーション用のより長い寿命が得られます。 コンデンサの最小値は、最終アプリケーションと使用される最大送信電力に依存します。 100μFのコンデンサの漏れ電流は0.5μA~3μAの範囲であり、一般的には、セラミックコンデンサはタンタルやアルミ電解コンデンサよりも低い漏れ電流を持ちます。

BluegigaのBLE112 Bluetooth Smartモジュール

図4:BluegigaのBLE112 Bluetooth Smartモジュール。 電池に平行にコンデンサを使用すると、電池の寿命を延ばすことができます。

もう1つのオプションとして、TX/RXおよびデータ処理段階中の電流消費を低減するためにDC/DCコンバータを使用することがあります。 複数の超低電力DC/DCコンバータがあり、バイパスモードにより、3Vのコイン電池使用時に送信中の電流消費を約20%(公称)低減します。 無線性能を保証するために、電源ラインでの過度なノイズをフィルタするため、フェライトビーズの使用が推奨されます。

結論

全く新しい世代のポータブル、ウェアラブル、および接続済みホーム機器がBluetooth Smart技術を活用しようとしています。 4.0バージョンのBluetooth Low Energyにより、広範な新しいアプリケーション向けのスマートフォンおよびタブレットに接続するために、既存の設計を容易にアップグレードすることができます。 高度に統合されたシリコンデバイスをサポートする、あらかじめ認定されたモジュールおよび開発キットは、開発者がこの能力を迅速かつ容易に追加するのを支援します。

DigiKey logo

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

著者について

ヨーロッパ人編集者

出版者について

DigiKeyのヨーロッパ担当編集者