より効率的なスマートデバイスの構築:第1部 – MCUとPMICの低電力設計

Digi-Keyの北米担当編集者 の提供

編集者メモ:この3部構成シリーズでは、より効率的なスマートデバイスの構築について説明します。第1部(本記事)では、電力と性能のバランスを保つための低電力設計技術について説明します。第2部では、透過型ユーザーセキュリティの課題への対処について取り上げます。第3部では、設計目標を達成するために求められるMCUの仕様を確認します。

ワイヤレスIoTやウェアラブルなエレクトロニクス製品のバッテリ寿命の長さは、低電力設計にかかっています。にもかかわらず、厳しいパワーバジェットは、開発者がユーザーにとって扱いにくい大型のバッテリを採用したり再充電を前提条件とするしかないような、より高度な機能性を求められています。処理と電源の両方の管理にもっと万全なアプローチを提供するソリューションが必要です。

このようなソリューションで、ますます厳しくなるユーザーの期待に応えられるよう、設計者を支援しなければなりません。たとえば、ユーザーはスマート製品が従来のバージョンと同じように信頼性があり信用できるものであることを期待します。スマートロックの電源が切れて、「ドアが開けっ放し」になることなど、ほとんどのユーザーは想定していません。ユーザーはまた、スマート製品の外観が先行製品と同様であることも期待しています。たとえば、既存のリスト用ウェアラブルよりも著しく大きかったり、かさばったりするスマートウォッチには目も向けないでしょう。

重要なことは、ユーザーは自分のスマートデバイスを購入し、設定して使用するに値する一定の価値を受け取れると期待しているということです。究極的には、ユーザーは、スマート製品が自分にとって有益なサービスを提供する一種の目に見えないインテリジェンスをもたらし、なおかつ、代替対象の従来製品と同等の操作性と外観を維持していることを期待しているのです。

このような期待はすべて、製品の機能性、フォームファクタ、電力消費への圧力となります。そうした機能要件のため、パワーバジェットに最も悪影響を及ぼすのが、MCUと補助電源管理機能である、ということがしばしば起こります。

しかしながら、先進的なMCUとPMICを使用することで、開発者は設計のサイズやユーザビリティを妥協することなく、さらに要求の厳しい電力と性能の要件を満たすことができます。

設計の課題

エンジニアにとって、目に見えないインテリジェンスをもつスマートデザインの作成は、電力要件と電源供給能力との間にある相反関係に焦点を当てることになります。競争力のある製品を提供するため、エンジニアは、より機能に富んだ組み込みシステムを構築し、より多くのセンサを統合し、より複雑なアルゴリズムを実行せざるを得なくなっています。同時に、このようなシステムは、最小のフットプリントを維持しつつ、バッテリ電源に依存せざるを得ません。IoTデバイスやウェアラブルで一般に使用されるコイン電池バッテリは、数十ないし数百ミリアンペアアワーに容量が限られており、しかもIoTデバイスやウェアラブル本体を物理的に圧迫することはできません。それでも、ユーザーは従来の製品と変わりのない設計で、充電間隔が数日はもつ性能を期待します。

このような多様な要件を満たすには、機能的な能力に妥協することなく、電力消費を最小化するデバイスの使用が必要になります。事実、スマート製品設計の電力と性能の特性は、これらの設計の中心にあるMCUの性能を反映したものになります。にもかかわらず、ある特定のMCUの適合性を数枚のデータシートの仕様で推し量ることはできません。長年にわたり、この業界の注目は電流消費に集中していましたが、μA/MHzで表されるMCUの電流仕様で明らかになるのは全体像の一部だけです。実際の電力消費が最も有効なパラメータであるため、低いμA/MHzと供給電圧の組み合わせが、現実のアプリケーションでは重要な基準になります。

突き詰めていうならば、MCU仕様をどれだけ注意深く確認しても、各アプリケーションの固有の要求にかなうものはありません。たとえば、センサ測定の断続的な更新のみを必要とするアプリケーションでは、MCUデューティサイクルは低くなり、有効電力は最も重要な仕様ではないかもしれません。完全にアクティブなモードで連続して実行するのとは異なり、低いデューティサイクルでは、MCUが低電力のスリープ状態にある時間が増えることになります。その結果、スリープ状態の電力消費、ウェークアップ時間、SRAM電源保持が重要なパラメータとなってきます。大規模メモリアレイなどのMCUの機能や、これらのMCUに統合される複数の周辺機器も、同様に考慮する対象です。

より大きくなった統合メモリが、増大を続けるソフトウェア基盤をサポートするだけでなく、外部デバイスへのオフチップアクセスにかかわる電力消費と性能の遅延の低減に実際に寄与しています。同時に、開発者は、MCUの電源管理機能とデータ保持機能を利用して、電力を最適化し、プロセッサコア自体がスリープ状態の間も状態を保持できます。

先進的なMCUの電源管理機能は、周辺機器オプションの節電で大きな利点を発揮します。これらのMCUに組み込まれた洗練された電力マネージャは、周辺機器を選択的に有効または無効にすることができ、さらに「スリープ状態で実行」ができるMCUでの周辺機器の連続動作も可能です。ここでは、MCUが節電のスリープ状態であっても、周辺機器にかかわる動作は続行されます。

これまで開発者は、電力消費と機能性を支えるさまざまな要因の間でトレードオフを強いられることがよくありました。これに対して、Maxim Integrated Darwin MCUファミリは、ウェアラブルやその他の低電力設計の増え続ける課題に対応するために必要な機能を提供します。

電力と性能のバランス

IoT設計要件を満たすように特別に設計されたDarwin MCUファミリには、Maxim MAX32620MAX32625MAX32630などの各種デバイスがあります。浮動小数点演算ユニットを備えたArm® Cortex®-M4を中心に構成されるDarwin MCUは、多様な周辺機器、クロック、リアルタイムクロック(RTC)、ウォッチドックタイマなどを組み合わせたハードウェア基盤を共通してもっています。

Darwin MCUの各種デバイスで、オンチップフラッシュおよびSRAMに対してさまざまなオプションを提供します。MAX32620およびMAX32630は2MBのフラッシュを統合し、MAX32625は512KBのフラッシュを提供します。また、MAX32630は512KB、MAX32620は256KB、MAX32625は160KBのオンチップSRAMをサポートしています。

それらのデバイスでは、完全なアクティブモードで102マイクロアンペア(µA)/MHz(MAX32620)、106µA/MHz(MAX32625)、106µA/MHz(MAX32630)の最小電流を消費する機能も共通してもっています。先述のとおり、電力は重要な仕様であり、これらのデバイスの低電圧動作は、コアの場合は1.2ボルト、I/Oの場合は1.8~3.3ボルトです。結果として、完全なアクティブモードにおいても電力消費は非常に低く抑えられます。低電圧動作は、アプリケーションに応じて低電力消費を開発者が最適化できる複数のメカニズムによってサポートされています。

電力消費を最小化する機能は、バッテリ駆動デバイスの長時間動作にとってはもちろん重要な機能です。ほとんどのアプリケーションで、これは応答時間を犠牲にすることなく、デューティサイクルを最小化することを意味します。開発者にとっては、これらの相反する要件は、Darwin MCUの低電力モードが解決策となります。

MCUの最も低い電力状態であるLP0は、デバイスを、電源シーケンサ、パワーオンリセット、電圧供給モニタ、RTC(有効な場合)、データ保持レジスタに関連する回路を除き、すべてのデバイス回路を無効にする静的な状態にします。LP1は、SRAMとレジスタへの電源供給を維持しながら、CPUをスリープモードのままにする非常に低電力なスタンバイモードを提供します。LP0とLP1はどちらも、割り込みによって電源がオンになるまでは、CPUコア自体を静的な状態で静止させます。

3つ目の電力モードのLP2は、コアをスリープ状態で保持しますが、以降で説明するような、MCU周辺機器を動作させる重要なメカニズムを提供します。最後に、LP3は、プロセッサと周辺機器に電源が入っていて、選択したクロックレートで動作している通常の実行状態です。

LP3と比べて、LP2は大幅な節電(図1)を実現します。公称96MHzから4MHzにクロックレートを下げることで、設計者はさらに大幅な節電を達成できます(図1の右を参照)。何よりもよいことは、詳細について以降で説明する重要な周辺機器の機能を損なわずに、このように節電できることです。

Maxim Darwin MCU電力エコシステムのグラフ

図1:Darwin MCU電力エコシステムでは、完全なアクティブのLP3モードからLP2モードに移行すると、大幅に節電でき、クロックレートを公称96MHz(左)から4MHz(右)に下げることで、さらに節減が可能です。(画像提供:Maxim Integrated)

Darwin MCUの各種電力モードは、内部的には複雑な一連の機能要素を使用しています。たとえば、LP0およびLP1の間は、電力シーケンスが実質的にMCUを制御しています。同時に、オンチップタイマ、デバイス周辺機器、GPIOピンからの割り込みや、デバイス内蔵の供給電圧モニタでさえも、システムの再起動(供給電圧の障害の場合はデバイスのリセット)をトリガできます。しかし、このような複雑な基盤をもちながらも、開発者にはシンプルな電力モードの動作モデルとして見えています。

開発者は、よくあるアプリケーションで、RTCタイムアウトまたは割り込みが発生するまで、プログラムでMCUを低電力モードにすることができます(図2)。

Maxim LP2の周辺機器管理ユニット(PMU)の図

図2:LP2の周辺機器管理ユニット(PMU)は、他の機能の中でも、周辺機器とメモリとの間でのデータ移動中にMCUをスリープ状態にすることで節電します。(画像提供:Maxim Integrated)

開発者は最も低い電力状態を実現するためにLP0やLP1モードを使用することはできますが、LP2は、CPUコアがスリープモードにしたままで、周辺機器の機能のサポートで優れた柔軟性を発揮します。この機能の重要な点は、デバイスの周辺機器管理ユニット(PMU)にあります。

周辺機器管理

Darwin MCU PMUは、それ自体がインテリジェントな制御サブシステムです。このダイレクトメモリアクセス(DMA)ベースのユニットは、独立した6チャンネル間でラウンドロビンスケジューリングを提供し、複数の周辺機器がCPUから独立して動作することを可能にします。PMUは、そのDMAの機能を使用して、周辺機器とメモリとの間でデータを移動したり、パルス列信号、アナログ測定、その他のイベントを同期したりすることもできます。LP2は、PMUモードとも呼ばれ、コアをスリープ状態にしたままで周辺機器の動作をサポートするように、LP2の状態のマシンを使用して、PMUが実質的にデバイスを制御します。

適切なレジスタ設定によって、開発者は、機能性と電力消費とのバランスをさらに精緻に制御することができます。実際、開発者は、LP3でも周辺機器の動作に対して同じ制御を実行できます。PMUはLP2で使用すると低電力動作を可能にするいっぽうで、LP3で使用した場合は、プロセッサへの追加の負荷となったであろう動作を周辺機器で処理できるようにすることで、プロセッサの負荷を軽減します。どちらの場合でも、デバイス上の個々のブロックを開発者がプログラムで有効または無効にすることができます(図3)。

デバイス上の個々のブロックを有効または無効にするために使用できるPMUの画像

図3:PMUを使用して、動作中にデバイス上の個々のブロックを有効または無効にして節電できます。(画像提供:Maxim Integrated)

開発者は、32ビットレジスタ、CLKMAN_CLK_GATE_CTRLn(n=0、1、2)を3つ使用してブロックのアクティベーションをプログラムすることができます。この抵抗器によって、個々の機能ブロックに対する制御を微調整し、全体的な電力消費を制御できます。実際には、開発者はこの制御を自分で実装することも、MCUの動的クロックゲーティング回路に依存して、自動的に周辺機器を有効または無効にすることもできます。

たとえば、Darwin MCUアーキテクチャは、インプレース実行(XIP)動作中は特に外部フラッシュとCPUとの間のインターフェースとして動作するように、SPIマスターに特化しています。SPI XIP(SPIX)動作がインアクティブであるときは常に、MCUの動的クロックゲーティングメカニズムで自動的にSPIX周辺機器が無効になります。開発者はCLKMAN_CLK_GATE_CTRL0レジスタのビット21:20を使用してこの動作を制御できます。ビット21を「1」に設定すると、SPIXクロックを強制的に常時アクティブにし、ビット20を「1」に設定すると、動的クロックゲーティングを有効にします。また、両方のビットを「0」に設定すると、SPIXクロック全体を強制的に無効にします。

オンチップのアナログ-デジタル変換回路(ADC)などのモジュールの場合、開発者は明示的に周辺機器への電源供給を制御することもできます。たとえば、ADCを使用するには、最初にCLKMAN_CLK_GATE_CTRL2のビット12を「1」に設定してADCへのクロックゲーティングを有効にし、インターフェースを有効にするビットを設定してから、ADC_CTRLレジスタのビット1を設定してADCの電源を入れます。ADCを独立して動作させるこの機能は、LP2(PMUモード)で特に有効です。プロセッサコアはLP2ではスリープモードであるため、ノイズフロアは最も低いレベルであり、開発者は感度の高いアナログ信号の取得を実行できます。

開発者がCPUのデューティサイクルを最小に抑えることができる別のADC機能もあります。開発者は、ADCサンプルの上限と下限をプログラムで設定し、サンプルが目的のウィンドウ値を外れたときだけCPUをウェイクさせる割り込みを生成できます。定期的にCPUをウェイクして、測定対象サンプルの明らかな変化に対してセンサをポーリングするのではなく、この機能を使用して、サンプリングされるセンサデータに明らかな変化が生じるまではCPUを節電のスリープモードのままにすることができます。

データ収集では、ADCは内部の10ビットシグマ-デルタ変換回路に多重化される、4つの外部アナログ入力をサポートします。入力チャンネルの中の2つのチャンネルに、電圧デバイダを使用して、入力信号を5分の1まで減衰できます。

それでも、開発者にとって、アナログ信号を増幅したり、単にバッファしたりするための外部信号の条件付けが必要なケースがよくあります。この場合は、設計者は低電力アナログデバイスのMaxim IntegratedのnanoPowerファミリの製品を使用することで低電力動作を維持できます。たとえば、Maxim MAX40007 nanoPowerのオペアンプは700ナノアンペア(nA)(代表値)を消費するだけですが、110dBの大信号電圧ゲイン(3ボルトVDD)を実現します。このオペアンプは、最大20ピコファラッド(pF)の容量性負荷を駆動する能力があります。比較として、Darwin ADCの対アース容量はほんの1pFであり、動的に切り替わるその容量は250ナノファラッド(nF)です。

MAX40007などのNanoPowerデバイスは、Darwin MCUを基盤とする設計に特に有効です。開発者はMCUへの電源供給に使用するのと同じ1.8ボルトまたは3.3ボルトの電源レールで電源を供給できます。ただし、これまでは複数の電源レールをサポートすることが、低電力消費とコンパクトな設計フットプリントのための要件を満たす能力の妨げとなっていました。複数出力のPMICを利用することで、設計者は、全体的な要件を妥協することなく、複数のレールデバイスを簡単にサポートできます。

電源管理

バッテリ駆動の設計の場合、供給電圧を提供する従来の技術では不十分です。たとえば、さまざまな電圧レールの装備によく使用されるリニアレギュレータは、1セルリチウムイオンバッテリの公称3.6ボルト出力を、現在の低電圧MCUに必要な低いレベルに変換する際にかなり多くの電力を無駄にします。個別に複数の供給レベルをサポートするニーズは、電力消費、部品点数、複雑さへの影響を悪化させるだけです。これに対して、Maxim IntegratedのMAX77650は、複数レールによるバッテリ駆動の設計に対する完全な電源管理ソリューションを提供します。

MAX77650の電源管理アーキテクチャは、単一インダクタ複数出力(SIMO)の昇降圧レギュレータと、低ドロップアウト(LDO)レギュレータを組み合わせます(図4)。Maxim Integratedには、複数のGPIOだけでなく、特殊なポータブル設計で使用される赤外線LEDなどのデバイスをサポートするため、250~425ミリアンペア(mA)でプログラム可能な電流シンクドライバを使用して、このアーキテクチャを拡張するオプションがあります。

Maxim MAX77650で使用されるSIMO昇降圧レギュレータの図

図4:MAX77650で使用される単一インダクタ複数出力(SIMO)昇降圧レギュレータには、単一インダクタのみを必要とし、個別の出力ピンへの出力をゲーティングし(上)、シーケンスの次の出力のインダクタ充電を強化します(下)。(画像提供:Maxim Integrated)

このPMICアーキテクチャの中心にあるSIMOレギュレータは、Darwin MCUやその他のデバイスに必要な複数の供給レールを提供するために、外部インダクタを1つだけ必要とするゲーティングメカニズムを実装します。SIMOレギュレータの制御回路は、別々にゲーティングされた出力を通して単一インダクタを放電します(図4、上)。動作中、SIMOレギュレータは各出力シーケンスでインダクタへの充電を強化し(図4、下)、各出力の制御をプログラムできるようにします。

バッテリチャージの推定

目に見えないインテリジェンスをバッテリ駆動製品に構築するための設計のパズルを埋める最後のピースには、バッテリ自体が関係しています。このような設計では、バッテリ残量の正確な推定が、予期せぬ電源停止を回避するために不可欠です。予期せぬ電源停止の発生は、他に優れたところがあっても、製品全体に対するユーザーの期待を直接的に裏切ることになるからです。

MAX77650などのPMICは充電についても処理しますが、スマート製品では、バッテリの充電や交換が必要なときにユーザーに通知するための、信頼できる推定値が必要です。従来型の残量ゲージデバイスがこの役割を長く担ってきましたが、精度が低く、電力消費が高いため、期待に応えられないことがよくありました。

Maxim Integrated MAX17048MAX17055などのより先進的な残量ゲージICによって、開発者はバッテリの充電状態(SOC)を正確に推測することに妥協せず、電力と複雑さに関する設計目標を達成する際に優れた柔軟性を生かせます。

これまで、SOCを測定する一般的な方法は、開回路電圧(OCV)測定またはクーロンカウントに依存していました。どの方法も、個別に使用すると、それぞれに相応のトレードオフが生じます。OCV測定はバッテリ電流によって受ける影響が大きく、クーロンカウントでは、短期間では適切な精度を提供しますが、時間の経過とともに精度が落ちていきます。また、それぞれのアプローチには設計レベルでさまざまな妥協が生じます。OCV測定には、補償テーブルを構成するためのバッテリ容量の特性評価が必要です。クーロンカウントには、バッテリを流入出する電流を測定する追加の抵抗器が必要です。

Maximの残量ゲージICは、どちらのアプローチにおいても改善をもたらします。MAX17048は、OCV技術を推定方法で拡張するMaximのModelGaugeアルゴリズムを実装します。OCVを基にするその他の方法と同様に、MAX17048では追加の電流検知抵抗器は必要としません。このデバイスにはプリロードされたバッテリモデルが含まれていますが、最善の精度を実現するため、開発者はバッテリ特性評価を実行する必要がある場合があります。それでも、このデバイスは、非常に厳しいパワーバジェットでの設計に特によく適しています。正常動作中、このデバイスは低電力の「冬眠」モードでたった3μAしか消費しません。このモードでは、正確なSOC推定値を継続的に提供しますが、更新レートはアクティブモードでの250ミリ秒(ms)ごとに対して、45秒ごとと遅くなります。

OCVを基にする他の方法と同様、SOCの推定値は負荷の過渡状態とその他の要因の影響を受けやすいままです。MAX17055により、Maxim IntegratedはModelGauge m5アルゴリズムを提供します。これは、OCV法を使用して、クーロンカウントでの長期間のドリフトを補正するものです(図5)。

Maxim MAX17055の先進的な残量ゲージICの図

図5:Maxim MAX17055などの先進的な残量ゲージICは、開回路電圧(OCV)とクーロンカウントの両方の方法を組み合わせて、バッテリのライフサイクル全体にわたって非常に正確な結果をもたらします。(画像提供:Maxim Integrated)

MAX17055はこの方法を使用し、外部Rsense抵抗器1個とコンデンサ数個によって、非常に正確な残量ゲージを提供します(図6)。MAX17048と同様に、このデバイスは、機能を削ることなく、電力消費を7μAに削減する冬眠モードを提供します。この場合、冬眠モードでは、完全なアクティブモードでの175.8msごとではなく、5.625秒ごとに更新を実行します。

Maxim MAX17055の図

図6:開発者は、Maxim MAX17055、外部検出抵抗器、数個のコンデンサを使用して、非常に正確なバッテリ残量ゲージ機能を実装できます。(画像提供:Maxim Integrated)

もう1つのModelGauge m5の残量ゲージオプションは、Rsense抵抗器が統合されています。類似の9ピンウェーハレベルパッケージ(WLP)のMAX17055の2.115mm2と比べ、2.132mm2と、フットプリントへの影響はほぼありません。Rsenseの統合オプションは、同じ5.6秒の更新レートを提供しながら、冬眠動作モードでの電流消費をわずか5.2μAまで下げます。

外部Rsenseコンポーネントを必要とするにもかかわらず、MAX77650 PMICとその単一インダクタをMAX17055の残量ゲージICと組み合わせて使用することで、スペース効率の高い設計を実現します(図7)。Maxim Integratedは、MAX32620ベースのMAX32620FTHR開発ボードの電力サブシステム設計としてこの組み合わせを使用します。

Maxim MAX77650 PMICとMAX17055残量ゲージICの図

図7:Maxim MAX77650 PMICとMAX17055残量ゲージICの組み合わせを使用して、PMICの単一インダクタ(L1)、残量ゲージRsense抵抗器(R14)、Murata Electronics NCP15XH103F03RC NTCサーミスタ、抵抗器、コンデンサだけのシンプルな設計で、洗練された電力サブシステムを提供します。(画像提供:Maxim Integrated)

MCU、PMIC、残量ゲージデバイスの他、基板には、PMICの単一インダクタ(L1)、残量ゲージRsense抵抗器(R14)、Murata Electronics NCP15XH103F03RC NTCサーミスタ、抵抗器、コンデンサのみが必要です。わずか0.9インチx2.0インチのフットプリントに、2個の12ピンソケットコネクタ、2個のRGB LED、2個の押ボタンを配置します。開発者は、マイクロUSBコネクタを通して、または2mmコネクタでバッテリを接続して、基板に電源を供給できます。

結論

スマート製品に対するユーザーの期待に応えるため、バッテリ駆動デバイスは、外観とユーザビリティの点で、多くの従来製品に匹敵するものである必要があります。設計者にとって、このような制約への対応は、よりインテリジェントな製品の作成に必要とする性能を犠牲にすることなく、電力消費と設計フットプリントを最小化することを意味します。

開発者は、Maxim Integrated Darwin MCU、SIMO PMIC、先進的な残量ゲージICを使用して、ユーザーにとって身近な形と機能で、洗練された能力を提供する設計とはしばしば相反する要件を満足させることができます。

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

出版者について

Digi-Keyの北米担当編集者