ディープスリープモードからの復帰


13

ほとんどのマイクロコントローラー(AVR、MSP430、PICなど)は、多くの異なるスリープモードをサポートしています。「最も深い」スリープモードは、消費電力が最も少ない(「パワーダウン」、「シャットダウン」など)ものですが、通常、これらのモードではすべてのクロックシステムが停止します。それらからのウェイクアップ」は、外部刺激(ピン変更割り込み、チップリセットなど)を介して行われます。何か不足していますか?MCUの周期的なウェイクアップ信号を生成する驚くほど低電力の方法はありますか?

私の目標は、機能を実行するために定期的に目覚めながら、消費電力を最小限に抑えることです(つまり、可能な限り長く眠り、できるだけ短時間目を覚まします)。このタイプの動作を達成する一般的な方法は何ですか?問題をさらに簡素化するために、関数がステートレスであると仮定しましょう(実行するために過去から何も覚えておく必要はありません)。

MSP430でWDTを使用してこの効果を得ることに成功しました。最後の行でウォッチドッグタイマーを一定期間後に期限切れにし、LPM4.5または「ディープスリープ」モードが呼び出されたときに、メインルーチンを自分の関数にしました。最終的な結果は、機能が実行され、MCUがスリープし、WDTが期限切れになり、チップがリセットされて吐き気がすることです。このタイプの動作を得るための「より良い」、「よりエレガントな」、または「より電力効率の良い」方法があるかどうか疑問に思って、動作しているようです?

私はまだAVRでこのアプローチを試していませんが、WDTはMSP430よりもAVRでより「電力を必要とする」ので、低電力の作業にはあまり魅力的ではないと思います。おそらく、低電力への「普遍的な」アプローチはなく、特定の製品ラインが提供するツールを使用する必要がありますか?新しいpicoPowerラインには、イベントシステムやスリープウォーキングなど、アプリケーションをその構造に適合させることができる場合に、CPUを起動させる必要がほとんどないなど、多くのウィズバン機能があります。

私の放浪については十分です、ここでyaが言うことをしましょう:)

テクニックを示すコンクリートの例を編集するのもいいでしょう!


2
focus.ti.com/lit/wp/slay015/slay015.pdfを見ましたか?絶対睡眠パワーの数値の横にある興味深い点。
XTL

回答:


15

ほとんどのマイクロは、何らかのプリスケーラとタイマー割り込みを備えた低電力32.768 kHz時計水晶発振器をサポートしています。プリスケーラを設定して、タイマーのカウントが遅くなり、希望する周​​期で割り込みが発生するようにします。

正確なタイミングが重要でない場合、一部のマイクロは低電力RCタイマーも内蔵しています。

低電力マイクロのデータシートには、32.768オシレーター(およびそれ以外)が実行されている場合の電力がリストされます。ほぼゼロに近いです。これが許容できるかどうかを計算し、ウォッチドッグによって引き出される電流と比較できます。

たとえば、msp430f2013では、データシートでパワーを見てみましょう。

0.5μAはほぼゼロですが、真のOFFモードの5倍です。

詳細については、データシートをご覧ください。
LPM4(すべてオフ)からLPM3(オシレーターの実行)に進むと、0.5μAと1μAの差が生じます。

バッテリーの容量が225 mAhのCR2032であるとします。その後、LPM4のスタンバイは約50年、LPM3のスタンバイは約25年です。25年は、多くのアプリケーションにとって十分な長さです。なぜなら、オン電流(測定中)が消費を支配しているからです。

代替テキスト


具体的な例を自由に選んでください... :)
vicatcu

msp430f2013およびcr2032セル用。
10

32768のACLKでの作業では、Cr2032を使用し、2秒ごとに起動します。90秒ごとにトランシーバーを使用します。10秒ごとに一時測定を行います。新しいCR2032を使用すると、4年以上継続できます。
-Kortuk

3

一部のデバイスには、ウェイクアップ用のかなり低電力のオシレーター(数uA)があり、一部のPICには、ピンの非常にゆっくりと上昇する電圧がウェイクアップできるようにするハードウェアもあります。必要なウェイク期間。


3

RTCを備えたPICでは、RTCをアラーム状態に設定できるため、外部の32.768kHzクリスタルを使用して、所定の時間にMCUをウェイクアップします。RTC +スリープモードでは約450nAのIIRCを消費しますが、RTCがオフの場合はわずか20nAです。


3

AVRウォッチドッグタイマーは、あなたが考えているほど悪くはありません。ATTiny13Aデータシートによると、@ 3Vのパワーダウンモードでの消費電流は、WDTが有効になっていない場合は2μA、有効になっている場合は4μAです。確かに、それはさらに2倍ですが、電流自体は約6.2年間の動作に十分小さいため、バッテリーが自然に劣化するのとほぼ同じ時間です(ソース:賞味期限)。

さらに、μCの周りに実際に接続するものは、さらに多くを引き寄せます。実際、このような低電力回路の設計で最も難しいのは、スリープ期間中に回路図の残りの部分の電流をすべて遮断することです。

メモリが機能する場合、ウェイクアップ遅延も12msから8秒まで適切に設定できます。短い割り込みルーチンが使用されている場合、実際の周波数は目立った違いはありません:ADCをオンにし、1Kポットをサンプリングし、結果からいくつかのものを計算し、全体の消費に顕著な変化なしでスリープ状態に戻ります(私のマルチメーターの遅延を補うために大きなコンデンサで平滑化されています)。

WDTは正確な計時ツールではないため、外部RTCを接続することをお勧めします。それらは単なるナノアンペアを消費する可能性があるため、適切なペアリングにする必要があります。実際、問題のRTCが規則的なパルスを生成できる場合、WDTの代わりにそれをウェイクアップソースとして使用できますが、ピンを使い果たします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.