Atom Login Admin

Above the clouds

Bluetooth Low Energy(BLE)についての概要 #2

Bluetooth 4.0 Bluetooth Low Energyの紹介 #1

Single Mode vs. Dual Mode

名前の通りBluetooth LEはBluetoothテクノロジーと直接的な関係がある。
BLEは低電力やセンサータイプのアプリケーションに焦点を当てたBluetoothの拡張だと見なされていると思う。Bluetooth 2.0 EDRやBluetooth 3.0 HSで紹介したように、これらは高データレートの機能性を持っていて、Bluetooth 4.0のターゲットは高データスループットやストリーミングデータなどは必要なく、効率的に通信を行うことである。
低電力の要件がBluetooth LEプロトコルとBluetoothの目立つ違いであるが、同時に大きなアドバンテージとなっているのが、RFパートの再利用ができるところが、大きなプロトコルスタックの変更である。Bluetooth 4.0の仕様は効果的に2つのタイプの端末を課している。Dual Modeの端末はBluetooth LEに加えて通常のBluetooth BR/EDRをサポートしている。Single Modeの端末は、Bluetooth LEプロトコルのみをサポートしている。このような分離は非対称のネットワークノードが出来るのと、Single Modeのセンサータイプの端末と携帯電話のような複雑な多機能端末のDual Modeの組み合わせという単純化を促進している。

luetooth BR/EDRのみをサポートしている端末は未だ20億近くの端末存在しているであろう。
デュアルモードのBluetoothへの変更が増分になるので、4.0リリースで、彼らはレガシーデバイスに
なる。主要のチップメーカーであるTIとCSRはBluetooth LEのサーポートを次の世代のプラットフォームで行うと告知している。図3はDualModeとSingleModeのプロトコルスタックの図である。
DualModeスタックは独立した二つのプロトコルと共通のRFブロックを共有している。確かに、DurlModeデバイスはBluetooth BR/EDRのみとしても動作する事が出来るが、今回はBluetoothLEにもにしぼって説明している。

A simplified structure of a communication stack for various types of Bluetooth devices.
図3: A simplified structure of a communication stack for various types of Bluetooth devices.

DualModeデバイスはレガシーのBluetooth BR/EDR仕様とBluetooth4.0の両方をサポートしている。SingleModeデバイスは電力消費とリソースの制約から、BLE仕様のみのサポートとなっている。

Bluetooth LE Stack Partition

歴史的にBluetoothスタックは二つの独立した部分にわけられている。それはControllerとHostである。Controllerパートは必要な物理層のパケットと関連するタイミングなど低いレイヤーで動作する。Controllerパートは通常、統合されたBluetooth無線とともに小さなSoCに実装されている。
Hostは、プロファイルとアプリケーションのAPIを含む高レイヤーのスタックを含んでいる。
Hosは抽象化されたハードウェアとControllerに比べてさらに緩い制約のタイミングを持っている。
このパートのスタックは、通常ユーザーのアプリケーションに従って、アプリケーションの処理上で動作する。ControllerとHostの通信はUART,USB,SDIOなどの物理層のインターフェースを超えてハードウェア制御インターフェースとして標準化されている。
ControllerとHostはいろいろなベンダーで作る事ができ、別々ベンダーで作成されたControllerとHostの実装を混ぜたり合わせたりする事ができる。
代わりにこれらのケースだと、ControllerとHostパートは併置されるだろうが、HCIの実装が必要ない。
このアプローチは、同様に完全なBluetooth SoCはしばしば顧客のアプリケーションで動作することと、チップの提供者はPeriperalsが必要になる。面白い事に、RFチップと完全なBluetoohスタックで動作するHostの組み合わせは珍しい、それは高いタイミングで低パートのBluetoothスタックを求めているからである。
他のISMワイヤレスプロトコルと比べると一度成熟するとしばしばSoCアプローチのみ提供され、最上位のスタックで動作する。
しかし、後のち近いうちに顧客のアプリケーションは大きくなり、SoCが合わなくなり、更に強力なMCUに移動したり新しいスタックに分割したりすることになってしまう。

Bluetooth LE stack for Single Mode devices.
図4 Bluetooth LE stack for Single Mode devices.

低いパートのスタックのControllerは時間の制御を行う機能と物理無線の混合を行うことがある。
HCIはアプリケーションのホストと上位パートのスタックのBluetooth LE Controllerと任意のMCUの標準化されたインターフェースを提供している。センサーSoCのように同じMCUでスタックが制御される場合は、HCIはつかわれない。

Bluetoothが技術として知れ渡った間にいくつかの出版物でスタックの機能性について解説されている。従って、スタックの議論はBluetooth LEのみにする。図4は、シングルモードの端末のコンポーネントの部分と相互作用についての図である。

リンクレイヤーControllerは物理インターフェースを超えた低レベルの通信を担っている。
リンクレイヤーControllerはリンクレイヤープロトコルを用いてデータフローの制御と通信パラメータに対する通信を他のノードと行ったり順次処理と送信タイミングと受信フレームを管理している。
端末がアドバタイズモードかスキャナーモードに入っている間もフレームの受信や送信を制御する。
LLControllerは他の端末へ制限付きの公開や、データ交換の提供を行うゲートキーパーも提供している。LLControllerの"white list"と呼ばれるフィルタリングを設定した場合は、許可していないデバイスのリクエストやデータ交換を無視する事が出来る。
これはセキュリティーに対する事だけでなく電池消費にも一役買っている。
LLControllerは併置されていない場合jは、HCIを用いて上位レイヤーとの通信を行っている。

L2CAP(Logical Link Control and Adaptation Layer Protocol)は、セキュリティーマネージャプロトコルや、アトリビュートプロトコルのような上位レイヤーのプロトコルを提供する。
それは、LLControllerへの小さなパケットにするデータの細分化とプロトコルの多重化、また、他の端の多重化解除や、再組み立て処理を担っている。

L2CAPは他のLE端末と接続を行うリンク管理と、BLEデバイスを発見する関係の一般的な手続きを定義しているGAP(Generic Access Profile)のバックエンドインターフェースである。
GAPはアドバタイズやスキャンの別々のモードの処理を有効にしたり、アプリケーションの設定を行い、初期処理、通信の確立また、他の端末との通信管理を行うインターフェースである。

Security Manager (SM)は、鍵の配布や、端末のペアリングを担っている。
Security Manager Protocolは一方の他の端末とどのように端末のSMと通信を行うかというような定義である。SMは他のコンポーネントのスタックによって使われるであろう追加の暗号化の機能を提供している。

BLEに使用されているSMのアーキテクチャはより強力と仮定されるマスター型端末に仕事をシフトすることによってスレーブ型のデバイスの為のリソースの要件を最小限に抑えるように設計されている。BLEは鍵の配布にAES-128 bit暗号化エンジンとペアリングメカニズムを用いている。SMは暗号化だけでなく、データの認証も提供している。

Bluetooth 4.0はAttribute Protocol(ATT)と呼ばれる新しい通信の方式を採用している。
それは、Bluetooth Low Energyに使われる小さなサイズのパケットに最適化されている。

ATTは、属性のクライアントに対して、属性サーバーは属性のセットやそれらに関連する値を公開することができることである。これらの属性はペアのデバイスが発見や読み書きができる。

GATTはペアーの端末がサービスを発見したり、キャラクタリスチック値への読み書きを行う属性プロトコルを使っているサービスフレームワークの説明するものである。
そのインターフェースはアプリケーションプロファイルを使って適用される。
通信で使われる属性への必要なさまざまな権限や属性の固まりを定義している。

Attribute-based Profiles

Bluetoothの恩恵の一つは端末の相互運用性である。Bluetoothのロゴが端末に記載されている製品は、それぞれ違う製造元の製品が同じプロファイルで理解し合える事を保証するものである。
これを保証するためには、情報のバイトを転送するために標準化された無線プロトコルを使用するのに十分ではないが、データ表現のレベルも同様に共有する必要がある。
言うのであれば、意図した端末の機能性の同じデータの解釈を使う同じデータ方式で送受信を行わなければならない。プロファイルはプロファイルによって定義されたワイヤレスプロトコルのスタックとアプリケーションと端末の機能性との橋渡しを行う。Bluetooth4.0は正規のBluetooth BR / EDRとBLE、ベースのGATが定義されたプロファイルの別のクラスタ内でサポートされる属性のプロトコルを導入している。

BLEはデバイス間でのデータ交換のサイズを最小化しているので平均的な電力消費レートを削減するGATTベースのプロファイルの効率化を利用している。
また、GATTベースのプロファイルはむしろシンプルに最小限の開発コードをサポートするように
意図されている。これは、リソースがなく散在しているシングルモードBLEために特に重要である。

Bluetooth Interest Group(SIG)のBluetoothの標準化やライセンスを監督している本体によれば、いくつかのGATTベースのプロファイルは最終段階の開発フェーズに入り、数年後には仕様として適用されるであろうとされている。
今後のプロファイルは、Bluetooth LEのアプリケーションに最も適しているユースケースをカバーするために対象とされている例えば、近接プロファイルなどは、私のプロファイルを見つけるものである。

最後に、
近年は携帯でバイスなどに既に実装されているBluetooth Low Energyの技術は今後さらに普及され、開発する機会も増えるはずである。