Bluetooth Low Energy(BLE)はClassic Bluetoothと同じ1Mbps*で
2.4GHz帯GFSK周波数変調の無線通信を使いますが、
もし送信電力を同じにすれば動作時の消費電力はあまり変わらないはずです。
では、なぜBLEは低消費電力が実現できているのでしょうか?
*Bluetooth 5では伝送速度は最大2Mbpsになります。
今回は幾つかの低消費電力の仕組みを紹介します。
■送信電力の抑制
BLEでは送信距離を犠牲にして、最大送信電力をClassic Bluetoothの100mW(20dBm)から
10mW(10dBm)に抑えており、送信に必要な電力を抑えています。
市販のBluetooth製品はおそらくそれよりもさらに小さい1mW(0dBm)~2.5mW(4dBm)が
実装されているものが多いです。
■パケットの軽量化
BLEは通信パケットのヘッダを軽量化しています。
これによって送受信時間が短縮され、消費電力が節約できています。
最大パケットサイズも1021バイトから47バイトに大幅に制限されていますので、
同様に必要な送受信時間も大幅に減少されています。
更に送受信時間の短縮はヒーター効果*が出る前に通信が終わるので、
温度補正回路を実装しなくても良くなっており、それにかかる実装コストと消費電力も
節約できます。
*ヒーター効果…長時間の連続動作で温度上昇し、発振回路の周波数がずれること
■発見用チャンネルの絞り込み
Classic Bluetoothは32chを発見用においていますが、
BLEは3本のアドバタイズチャンネルにしぼっており、
これによりネットワークの発見・参加に必要な電力が小さくなっています。
3本で大丈夫か?という心配もありますが、
無線LANの干渉信号が最も少ない周波数帯域にアドバタイズチャンネルが採用されているので
成功率は高くなっています。
■パッシブスキャン
Classic Bluetoothはアクティブスキャン方式を採用しており、
新規ノードは親ノードが出すビーコン要求パケットを補足して、
自分の存在を知らせるビーコンパケットを周辺に発信していました。
新規ノードは問い合わせパケットの来るタイミングが事前にわからないため、
より長い時間受信状態にとどまって、その間電力を消費していました。
一方BLEが採用したパッシブスキャン方式では、上記の逆で
新規ノードがアドバタイズメントパケットを定期的に発信し、
自分の動作タイミングでコントロールしているため、
(アドバタイズメントパケット送信間はスリープ状態になります)
消費電力は抑えることが出来ます。
■低頻度の時刻同期
BLEの周波数ホッピング周期はClassic Bluetoothのタイムスロットより
長いイベントになります。
狭いタイムスロットの場合は、要求された時刻同期の精度がより厳しくなるため、
高い時刻同期精度を維持するためには、頻繁に同期を行わなければいけません。
BLEはより長いタイムスパンを1つのイベントに定義するため、
マスタとスレイブの対話は1つのイベントに収められます。
その為、対話途中にチェンネルホッピングは行わず、
Classic Bluetoothと比べて時刻同期の精度要求が緩和され頻度を下げられます。
■専用パケット不要の送信確認ACK
通常は受信側がACKパケットを送信側に返信することで、通信が成功したことがわかります。
BLEでは送信パケットのヘッダに前回の受信状態を表すNESNとSNの2ビットの情報が含まれるため
専用ACKパケットは必要にならないため、その分消費電力が節約になります。
■その他
BLEではネットワーク接続せずに一定の情報を周辺にブロードキャストする
アドバタイジング通信方式もサポートしています。
アドバタイジング・ブロードキャスト通信は時刻同期がいらないので、
消費電力は非常に小さく済みます。
この通信方式はセキュリティ機能の実装が出来ませんが、
近距離範囲で機密性が要求されない情報などのアプリケーションに適用できます。
他に、認証・暗号化のペアリングがオプション機能となっています。
それはペアリングせずにネットワーク接続のみで双方向のデータ通信を行うことになるので、
ペアリング確立に必要な電力も節約できます。