ほとんどのマイクロコントローラー(AVR、MSP430、PICなど)は、多くの異なるスリープモードをサポートしています。「最も深い」スリープモードは、消費電力が最も少ない(「パワーダウン」、「シャットダウン」など)ものですが、通常、これらのモードではすべてのクロックシステムが停止します。それらからのウェイクアップ」は、外部刺激(ピン変更割り込み、チップリセットなど)を介して行われます。何か不足していますか?MCUの周期的なウェイクアップ信号を生成する驚くほど低電力の方法はありますか?
私の目標は、機能を実行するために定期的に目覚めながら、消費電力を最小限に抑えることです(つまり、可能な限り長く眠り、できるだけ短時間目を覚まします)。このタイプの動作を達成する一般的な方法は何ですか?問題をさらに簡素化するために、関数がステートレスであると仮定しましょう(実行するために過去から何も覚えておく必要はありません)。
MSP430でWDTを使用してこの効果を得ることに成功しました。最後の行でウォッチドッグタイマーを一定期間後に期限切れにし、LPM4.5または「ディープスリープ」モードが呼び出されたときに、メインルーチンを自分の関数にしました。最終的な結果は、機能が実行され、MCUがスリープし、WDTが期限切れになり、チップがリセットされて吐き気がすることです。このタイプの動作を得るための「より良い」、「よりエレガントな」、または「より電力効率の良い」方法があるかどうか疑問に思って、動作しているようです?
私はまだAVRでこのアプローチを試していませんが、WDTはMSP430よりもAVRでより「電力を必要とする」ので、低電力の作業にはあまり魅力的ではないと思います。おそらく、低電力への「普遍的な」アプローチはなく、特定の製品ラインが提供するツールを使用する必要がありますか?新しいpicoPowerラインには、イベントシステムやスリープウォーキングなど、アプリケーションをその構造に適合させることができる場合に、CPUを起動させる必要がほとんどないなど、多くのウィズバン機能があります。
私の放浪については十分です、ここでyaが言うことをしましょう:)
テクニックを示すコンクリートの例を編集するのもいいでしょう!