「グリーン」な技術と電力の有効利用に対する世界的な需要に後押しされ、消費電力を低く抑えた次世代の無線ネットワークが登場しています。産業用と制御用アプリケーションのいずれも、リモートセンサを使用したシステム向けに無線ネットワークが盛んに開発されています。こうした次世代無線ネットワークの登場により、ネットワークケーブルも電源ケーブルも不要な真の無線ソリューションが多くのアプリケーションで利用できます。
監視と制御のためのセンサベースのネットワークは新しい概念ではありません。有線でも独自規格の無線でも実現する技術は複数存在します。有線での実装は、シンプルで低コストである事から広く普及しています。他方、無線は少数のニッチなアプリケーションでの使用に限定されていました。
現在、この種の無線システムを消費電力を低く抑えた設計で開発できます。次世代無線ネットワークはバッテリでの動作時間も長くなり、アプリケーションの耐用年数の間にほとんど保守が不要(もしくは一切不要)なものもあります。将来、環境発電によって必要な電力をまかなえるようになれば、バッテリさえも不要になるかもしれません。
ここでは、次世代組み込みマイクロコントローラ(マイコン)で使える各種の超低消費電力制御機能を取り上げ、これらの機能をどのように使えば無線センサノードのバッテリ寿命を延長できるかについて説明します。
電源管理機能
ところで、「低消費電力」とは何でしょうか。先に進む前に、いくつかの用語を説明しておきましょう。「エネルギー」は実行された仕事の総量であり、「パワー」(単位時間当たりに使用したエネルギー)は仕事を実行する速度で計測します。エレクトロニクスの世界では、「エネルギ=パワー(電力)×時間」であり、「電力=電圧×電流」の関係が成り立ちます。そこで、本稿では特に重要なシステム属性として電圧、電流、時間に着目します。具体的に言うと、アプリケーションが動作する電圧、消費する電流、動作する時間です。
マイコンの観点からこの問題を考えるには、まず最近のマイコンが備える各種パワーモードについて確認する必要があります。
パワーモード
アプリケーションはあらかじめ設定された動作モードをいくつか備えており、それぞれ要求される処理性能が大きく異なります。組み込みマイコンは、多くの周辺モジュールのいずれかを使って周辺環境からの信号をサンプリングできます。周辺モジュールが一定のサンプルを収集するまで、マイコンには何も実行すべき処理がない事もあります。その場合、データサンプリング中マイコンを「スリープ」、すなわち超低消費電力スタンバイモードに移行できます。アプリケーションが十分なデータサンプルを読み込むと、マイコンは復帰して、最大動作速度で稼働する「完全ON」モードに簡単に切り換わります。
各種省電力モードから復帰する際、マイコンは何らかの復帰イベントを受信します。このようなイベントには、I/Oピンのトグルなど外部信号の場合と、タイマによる割り込みイベントなど内部処理の2通りがあります。サポートするパワーモードはマイコンによって異なりますが、共通するパワーモードもいくつかあります。代表的なパワーモードは以下の通りです。
- 「常時ON」モード
- 「スリープ」または「スタンバイ」モード(メモリへの電力供給は継続) *「休止」または「ディープスリープ」モード(メモリへの電力供給も停止し、最大限の省電力効果を得るモード)
「常時ON」モード
「常時ON」モードの組み込みシステムでは、デバイスに常に電力を供給して稼働状態にします。これらのシステムでは、平均消費電力要件はほとんどmA未満のレンジであり、これによりマイコンの最大処理性能が直接制限されます。幸い、次世代の組み込みマイコンには動的にクロック周波数を切り換える機能があり、処理能力が必要ない場合は消費電流を抑える事ができます。
スタンバイモード
「スタンバイ」モードでは、システムはONまたは非アクティブな低消費電力モードのいずれかの状態をとります。これらのシステムでは、アクティブ電流とスタンバイ電流の消費量はいずれも重要です。ほとんどのスタンバイモードのシステムでは、ごくわずかでも電流が供給されているため、組み込みマイコンは内部状態とメモリの内容をすべて保持できます。さらに、マイコンは数μsで復帰できます。スタンバイモードを使用するシステムはほとんどの時間を省電力モードで稼働しますが、外部イベントまたはタイミングが重要なイベントを捕捉できるように、短時間で起動できる事も必要です。メモリへの電力供給が継続されるため、ソフトウェアパラメータとアプリケーションソフトウェアの状態を維持できます。このパワーモードからの起動時間は、通常5~10μs程度です。
ディープスリープ モード
ディープスリープまたは「休止」モードのシステムでは、システムは「完全ON」モードまたはきわめて消費電力の低い「ディープスリープ」モードのいずれかの状態です。このモードが特に注目を集めるのは最大限の省電力を達成するためで、内蔵メモリを含めて組み込みマイコンコアへの電力供給が完全に停止されます。従って、重要な情報はディープスリープモードに入る前に不揮発性メモリに書き出しておく必要があります。このモードでは、マイコンの消費電力を最低限度まで、時には20nAにまで抑えます。ただし、復帰後にすべてのメモリパラメータを初期化し直す必要があるため、その処理にかかる時間が所要復帰時間に追加されます。このモードからの代表的な起動時間は200~300μs程度です。
これらの超低消費電力モードを使用するシステムのバッテリ寿命は、多くの場合回路内の他の部品の消費電流によって決まります。従って、マイコンの消費電流だけでなく基板上の他の部品の消費電流にも注意する必要があります。例えば、リーク電流が大きいタンタルコンデンサをセラミックコンデンサに置き換えると、消費電流を抑える事ができます。アプリケーションが低消費電力状態にある時に、どの回路に電力が供給されているかを確認する事も必要です。
パワーモードの活用
次に、マイコンのパワーモードの選択によって総使用電力が大きく変わるような代表的な状況を考えてみます。簡単なリモート温度センサがあるとします。このセンサは長期間にわたってデータを収集し、複雑なノイズフィルタ処理アルゴリズムを使って収集データを処理した後、次回の計測までマイコンをスタンバイモードに移行させます。また、このアプリケーションは無線RFトランスミッタを使って温度情報を中央の制御コンソールに報告します。
温度のサンプリングにはマイコンの内蔵A/Dコンバータ(ADC)を使いますが、この処理にはそれほど高い処理性能は必要ありません。ノイズフィルタ処理時には、複雑なアルゴリズムを実行して計算結果をなるべく速くメモリに書き込む必要があるため、マイコンは高い処理性能のモードを使います。そうする事で、マイコンの動作時間と総消費電力を低減します。
マイコンは、あらかじめ定義された時間間隔ですべてのサンプル結果を結合し、RFトランシーバデバイスを使って中央の制御コンソールに送信します。無線センサがこの情報をあらかじめ定義されたタイムスロットの割り当てに従って送信するためには、正確なタイミングが必要です。これによって、同じシステム内で複数の無線センサノードが連携して動作できます。
プロセッサが復帰するタイミングをどのように管理すれば良いでしょうか。内蔵の32kHzオシレータ回路とタイマモジュールを組み合わせる事により、マイコンは毎秒1回の非常に正確なタイミングで割り込みを生成し、正確な時間を維持する事ができます。この割り込みイベントによって、マイコンはあらかじめ定義されたスケジュールに従って温度データをサンプリングバッファに格納します。
マイコンは、温度サンプリングバッファにデータを格納すると、より高速なプロセッサモードに移行し、複雑なノイズフィルタ処理アルゴリズムの計算を実行します。計算が完了するとただちにスリープモードに戻り、ON時間を最小限に抑えます。このリアルタイムクロック機能は、マイコンがキャプチャしたデータサンプルを中央制御コンソールに送信するタイミングを判断するためにも使用します。総消費電流を最小化できるようにマイコンの最適なパワーモードを決めるには、各種要因を考慮します。これは次のセクションで説明します。