2011年3月13日日曜日

コンシューマー機器の省エネルギー技術について

先日(2011/03/11)、日本近海で発生した地震による交通機関の麻痺で、情報収集に使っていたPHSの電池が消耗して使えなくなったり、停電により街路照明が無く歩行の安全確保の面で困りました。

結果として、非常時に備えてPHS用の予備電源や、ヘッドランプなどを携行することの重要性を痛感させられましたので、今後の開発テーマにしたいと考えておりますが、今回はコンシューマー機器類の消費電力抑制技術について述べたいと思います。

消費電力の抑制技術

ここでは、ほとんどのコンシューマー機器に搭載されている、LSIの消費電力抑制技術を取り上げたいと思います。

コンシューマー機器に搭載されている、ロジック系LSIはCMOSプロセスを用いている事と思います。

一般にCMOSプロセスのロジック回路は、状態が変化する時に電力を消費しますので、消費電力の抑制にはクロック周波数を下げたり、使用していない回路へのクロック供給を停止する方法や、状態変化の少ない回路として設計するといった方法が採られます。

特に、クロックを止めたり、周波数を下げることについて述べたいと思います。

LSIの場合

工場出荷時に内部回路が確定しているLSIに関しては、それらの開発ツールでデファクトスタンダードの地位を占めるSynopsis社Power Compiler等を使用することで、使用されていない回路へのクロック供給停止機能を自動的に製品へ付加する事ができますが、クロックスピードの低減ということに関しては自動化されておらず半導体製品開発段階から入念に考慮しなければなしません。

また、マイクロプロセッサなどを搭載したLSIでは、ソフトウェア制御によりクロックの制御を行う事が可能なものもあります。当然、クロックを制御するだけでなく例えば変数をグレイコード化するなどして、回路そのものの状態変化を減らすことでも消費電力の抑制が出来ます。

当ブログで取り上げているMSP430についても、待機時の消費電力を抑制するためにクロックの発振を完全に停止させた状態から割り込みによって起動させたり、内部オシレータのクロック周波数制御を行う事が可能です。

リコンフィギュアラブルデバイス

近年、低価格化が進み最終製品への採用も増えてきたFPGAやCPLDではクロック制御が意外と面倒です。

単純にクロックラインにゲートを挿入して、使用しないときにクロック供給を停止させたり、独自に作成したカウンタでクロックを分周した出力を低速クロックとして使うと、そのままでは論理合成ツールや配置配線ツールがそれらのクロック制御回路の出力信号をクロックとして認識してくれません。

また、仮にクロック制御回路の出力信号をクロックとして設定しても、基になるクロックとクロック制御回路の出力クロックの間のタイミング同期がきちんと取られる保障がないため、最悪の場合には回路を修正して論理合成と配置配線をやり直す度に、異なるタイミングで動作する回路が生成されるという酷い結果になることがあります。

そういった問題を回避するために、FPGAやCPLDに内蔵されているクロック制御用専用ゲートやPLLを用いて、クロック系統をきちんと設計し、各クロックの相互関係に応じた回路設計や論理合成・配置配線におけるタイミング制約の指定を行う必要があります。

簡単なまとめ

コンシューマー機器に用いられる半導体の低消費電力化に関しては、おおむね次のように言えるかと思います。

  1. CMOS回路の消費電力抑制には、クロック供給停止やクロック周波数の低減、状態変化の少ない回路方式の採用が有効
  2. 工場出荷段階で回路が固定される、マイコンなどの半導体製品では、設計段階でクロック供給停止機能を自動的に付加する事が可能だが、周波数の低減は自動化されていない
  3. マイコンやマイクロプロセッサを内蔵した半導体製品では、ソフトウェアでクロック制御できる物があり、その機能を用いる事で消費電力を抑制できる。また、回路の状態変化を減らす事によっても消費電力を抑える事ができる。
  4. FPGAやCPLDのようなリコンフィギュアラブルデバイスでは、クロック供給停止や周波数の低減が意外と面倒だが工夫次第で可能である

私の知る限りでは、以上のような方法で機器の性能や機能を活かしたまま、半導体の消費電力を抑制して消費電力を抑えることができます。

釈迦に説法とは思いますが、携帯情報端末のハードだけでなくソフトの開発者の方にも、バッテリ駆動機器の低消費電力化ということを念頭に置いて、製品開発を行って欲しいと思います。


追記(2011/03/21)

Webで検索したところ、このような記事がありました。 マルチクロックドメイン設計の落とし穴(EDN Japan)

LSIの内部で使用するクロック周波数が複数ある場合は、回路設計に細心の注意を払う必要があることを具体例を挙げて示してあり、良い参考資料といえます。

0 件のコメント:

コメントを投稿

フォロワー