- マイクロコントローラーのクロック周波数を変更する理由
- 複数の周波数を選択するとパフォーマンスにどのような影響がありますか?
- 低周波数または高周波数、どちらを選択しますか?
- クロック周波数スイッチング技術
- クロック管理動作モードの選択
- 不揮発性メモリまたはRAMからのソフトウェア実行
- 内部発振器を使用する
- 結論
開発者は常に、バッテリー寿命を最大化すると同時に、高レベルの機能とパフォーマンスを提供することに挑戦しています。また、電子製品の場合、最も重要な機能はバッテリーの消費量です。デバイスの動作時間を長くすることは、可能な限り短くする必要があります。電力管理は、ポータブルおよびバッテリ駆動のアプリケーションでは非常に重要です。マイクロアンペアの消費量の違いは、数か月または数年の動作寿命につながる可能性があり、市場での製品の人気とブランドを増減させる可能性があります。製品の増加により、バッテリー使用のより効率的な最適化が求められています。今日、ユーザーはコンパクトなサイズの製品でより長いバッテリーバックアップを要求しているため、メーカーは、疑わしい作業である超長バッテリー寿命を備えたより小さなバッテリーサイズに焦点を合わせています。だが、開発者は、バッテリーの寿命に影響を与える多くの要因と重要なパラメーターを検討した後、省電力テクノロジーを考案しました。
使用するマイクロコントローラー、動作電圧、消費電流、周囲温度、環境条件、使用する周辺機器、充電-再充電サイクルなど、バッテリーの使用量に影響を与える多くのパラメーターがあります。スマート製品の市場に登場する傾向に伴い、それは非常に重要です。最初に使用するMCUに焦点を合わせ、バッテリ寿命を最適化します。小型製品の節電に関しては、MCUが重要な役割を果たします。したがって、最初にMCUから開始することをお勧めします。現在、MCUにはさまざまな省電力技術が付属しています。マイクロコントローラー(MCU)の消費電力を最小限に抑える方法について詳しくは、前の記事を参照してください。この記事では、主にマイクロコントローラーの消費電力を削減するための重要なパラメーターの1つ、つまりクロック周波数の変更に焦点を当てています。低電力アプリケーションにMCUを使用する場合は注意が必要です。
マイクロコントローラーのクロック周波数を変更する理由
上記の多くのパラメータのうち、クロック周波数の選択は電力を節約する上で非常に重要な役割を果たします。この調査では、マイクロコントローラーの動作周波数を誤って選択すると、バッテリー電力が大幅に(%)失われる可能性があることが示されています。この損失を回避するために、開発者はマイクロコントローラーを実行するための適切な周波数選択に注意を払う必要があります。これで、マイクロコントローラーのセットアップ中に周波数を最初に選択できる必要はありませんが、プログラミングの合間に選択することもできます。希望の動作周波数を選択するためのビット選択が付属している多くのマイクロコントローラがあります。また、マイクロコントローラーは複数の周波数で実行できるため、開発者はアプリケーションに応じて適切な周波数を選択できます。
複数の周波数を選択するとパフォーマンスにどのような影響がありますか?
さまざまな周波数を選択すると、マイクロコントローラのパフォーマンスに影響を与えることは間違いありません。マイクロコントローラに関しては、周波数と性能が比例することは非常によく知られています。つまり、頻度が高いほどコードの実行時間が短くなり、プログラムの実行速度が速くなります。したがって、周波数を変更するとパフォーマンスも変化することは明らかです。ただし、マイクロコントローラーのパフォーマンスを向上させるためだけに、開発者が1つの周波数に固執する必要はありません。
低周波数または高周波数、どちらを選択しますか?
マイクロコントローラーが高性能を提供する必要がある場合は必ずしもそうではありません。マイクロコントローラーの適度なパフォーマンスを必要とするアプリケーションがいくつかあります。これらのタイプのアプリケーションでは、開発者は動作周波数をGHzからMHzに、さらにはマイクロコントローラーを実行します。 FIFOバッファなしで外部フラッシュADCを駆動する場合や、ビデオ処理やその他の多くのアプリケーションなど、最適なパフォーマンスが必要な場合や実行時間が重要な場合もありますが、これらの領域では、開発者はマイクロコントローラの最適な周波数を使用できます。このような環境で使用する場合でも、開発者は適切な命令を選択することで、スマートにコーディングしてコード長を短縮できます。
例: 「for」 ループがより多くの命令を取り、 for ループを使用せずにタスクを実行するために使用するメモリが少ない数行の命令を使用できる場合、開発者は 「for」 ループの使用を避けて数行の命令を実行でき ます。
マイクロコントローラに適切な周波数の選択は、タスクの要件によって異なります。周波数が高いほど、消費電力は大きくなりますが、計算能力も高くなります。したがって、本質的に周波数の選択は、消費電力と必要な計算能力の間のトレードオフです。
また、低周波数で動作する主な利点は、RFI(無線周波数干渉)が低いことに加えて、供給電流が少ないことです。
供給電流(I)=静止電流(I q)+(K x周波数)
第2項が支配的です。マイクロコントローラのRFIエネルギーは非常に小さいため、フィルタリングが非常に簡単です。
したがって、アプリケーションが高速を必要とする場合でも、高速で実行することを心配する必要はありません。ただし、消費電力が懸念される場合は、アプリケーションが許す限り遅く実行してください。
クロック周波数スイッチング技術
PLL(Phases Lock Loop)ユニットは、常に高速で動作する高性能MCUに存在します。より高い周波数にPLLブースト入力周波数8メガヘルツから32メガヘルツに、例えば、。アプリケーションに適切な動作周波数を選択するのは開発者のオプションです。一部のアプリケーションは高速で実行する必要はありません。その場合、開発者はタスクを実行するためにMCUのクロック周波数をできるだけ低く保つ必要があります。ただし、PLLユニットを含まない低コストの8ビットMCUなどの固定周波数プラットフォームでは、処理エネルギーを削減するために命令コードを改善する必要があります。。また、PLLユニットを搭載したMCUは、データ処理期間中は高周波で動作し、データ送信期間中は低周波動作に戻る周波数スイッチング技術のメリットを活用できません。
この図は、周波数スイッチング技術におけるPLLユニットの使用を説明しています。
クロック管理動作モードの選択
一部の高速マイクロコントローラは、停止モード、電源管理モード(PMM)、アイドルモードなどのさまざまなクロック管理モードをサポートしています。これらのモードを切り替えることができるため、ユーザーは消費電力を抑えながらデバイスの速度を最適化できます。
選択可能なクロックソース
水晶発振器は、特に低電力動作中、マイクロコントローラの電力を大量に消費します。停止モードからのクイックスタートに使用されるリングオシレータは、通常の動作中に約3〜4MHzのクロックソースを提供するためにも使用できます。電源投入時には水晶発振器が必要ですが、水晶が安定すると、デバイスの動作をリングオシレータに切り替えることができ、最大25mAの省電力を実現します。
クロック速度制御
マイクロコントローラの動作周波数は、消費電力を決定する最大の要因です。マイクロコントローラの高速マイクロコントローラファミリは、内部クロックを遅くしたり停止したりすることで電力を節約するさまざまなクロック速度管理モードをサポートしています。これらのモードにより、システム開発者はパフォーマンスへの影響を最小限に抑えながら電力を最大限に節約できます。
不揮発性メモリまたはRAMからのソフトウェア実行
開発者は、消費電流を見積もる際に、ソフトウェアが不揮発性メモリから実行されるのかRAMから実行されるのかを慎重に検討する必要があります。RAMから実行すると、アクティブ電流の仕様が低くなる可能性があります。ただし、多くのアプリケーションはRAMだけから実行するには十分に小さくなく、プログラムを不揮発性メモリから実行する必要があります。
バスクロックを有効または無効にする
ほとんどのマイクロコントローラアプリケーションは、ソフトウェアの実行中にメモリと周辺機器にアクセスする必要があります。これにはバスクロックを有効にする必要があり、アクティブな電流推定で考慮する必要があります。
内部発振器を使用する
内部発振器を使用し、外部発振器を回避すると、大幅なエネルギーを節約できます。外部発振器がより多くの電流を引き出すと、より多くの電力使用量になります。また、アプリケーションがより多くのクロック周波数を必要とする場合は外部発振器を使用することをお勧めするため、内部発振器を使用する必要があることもハードカバーではありません。
結論
低電力製品の製造はMCUの選択から始まり、市場でさまざまなオプションが利用できる場合は非常に困難です。周波数の変更は、電力使用量に大きな影響を与える可能性があり、また、良好な電力消費結果をもたらす可能性があります。周波数を変更することの追加の利点は、追加のハードウェアコストがなく、ソフトウェアに簡単に実装できることです。この手法は、低コストのMCUのエネルギー効率を向上させるために使用できます。さらに、エネルギー節約の量は、動作周波数、データ処理時間、およびMCUのアーキテクチャの違いによって異なります。通常の動作と比較して、周波数切り替え技術を使用すると、最大66.9%の省エネを実現できます。
結局のところ、開発者にとって、製品のバッテリ寿命を延ばしながら、システム機能とパフォーマンス目標の向上のニーズを満たすことは重要な課題です。可能な限り長いバッテリ寿命を実現する製品を効果的に開発するには、またはバッテリなしで動作するためには、システム要件とマイクロコントローラの現在の仕様の両方を深く理解する必要があります。これは、MCUがアクティブなときに消費する電流を単純に見積もるよりもはるかに複雑です。開発中のアプリケーションによっては、周波数の変更、スタンバイ電流、周辺電流が、MCUの電力よりもバッテリ寿命に大きな影響を与える可能性があります。
この記事は、開発者がMCUが周波数の観点から電力を消費する方法を理解し、周波数を変更して最適化できるようにするために作成されました。