低電力製品の設計経験がある友人は、製品の消費電力がハードウェアの消費電力だけでなく、実際、ソフトウェアも製品全体の消費電力に影響を与える重要な要素であることを知っておく必要があります。
以前にもいくつかのバッテリー駆動の製品を開発しました。デバッグするときは面倒です。ソフトウェアとハードウェアの要素を考慮する必要があります。
ソフトウェアに問題がないと確信できる場合は、ハードウェアのどこかに漏れ電流がある可能性があります。ここでは「痛み」については説明しません。
今日は、STM32が低電力状態にあるときのIOピンの従来の構成内容について少し説明します。
埋め込みカラム
1
未使用のGPIO入力をアナログ入力として構成する
GPIOには常に入力チャネルがあり、デジタルチャネルまたはアナログチャネルにすることができます。
GPIOデータを読み取る必要がない場合は、最初にアナログ入力として構成します。これにより、入力シュミットトリガーの消費が節約されます。
STM32CubeMX構成には、このようなオプションがあります。未使用のピンをアナログ状態として構成します。
埋め込みカラム
2
GPIO速度を調整する
立ち上がり時間、立ち下がり時間、および最大周波数は、GPIOx_OSPEEDR構成レジスタを使用して構成できます。
この調整は、ピークスイッチング電流が高いため、EMI(電磁干渉)とSSO(同時スイッチング出力)に影響を与えます。したがって、GPIOのパフォーマンスとノイズのバランスをとる必要があります。
各GPIO信号の立ち上がり時間と立ち下がり時間は、関連する信号周波数と回路基板の容量性負荷と互換性のある最小値に調整する必要があります。
埋め込みカラム
3
使用しないときはGPIOレジスタクロックを無効にする
GPIOグループを長期間使用する必要がない場合は、そのクロックを無効にします。
たとえば、標準のペリフェラルライブラリでは、GPIOAクロックを無効にします。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, DISABLE);
HALライブラリ、GPIOAクロックを無効にします。
__HAL_RCC_GPIOA_CLK_DISABLE();
埋め込みカラム
4
低電力モードに入るときにGPIOを構成する
低電力モードに入るときは、すべてのピン信号をVDDまたはグランドに接続する必要があります。
GPIOが外部レシーバー(外部コンポーネント入力)に接続されている場合は、PPまたはPU / PDを使用してGPIO信号値を強制する必要があります。
GPIOがドライバー(外部コンポーネント出力またはバス)に接続されている場合、ドライバーは有効なレベル(VDDまたはグラウンド)を提供する必要があります。ドライバーレベルが定義されていない場合は、PU / PDを使用してGPIOに信号を強制する必要があります。
実用上の理由から、GPIOが実行モードの入力(アナログまたはデジタル)である場合、低電力モードで入力PU / PDを使用する方が簡単な場合があります。GPIOが実行モードの出力である場合、出力PPを使用します。これにより、停止モードを開始または終了するときの変更の管理が回避されます。
埋め込みカラム
5
シャットダウンモードを終了します
シャットダウン(シャットダウン)モードを終了すると、電源投入時のリセット時にGPIOがデフォルト値に再構成されます。
これには、正しい値に再プログラミングする前に、追加のシステム消費が必要になります。
これがアプリケーションの問題である場合は、シャットダウンモードではなくスタンバイモードを使用する必要があります。
(STM32L4シリーズおよびSTM32L4 +シリーズのみ)
(コンテンツの一部はアプリケーションノート:AN4899からのものです)
1.国産の代替品は無形ですか?Zhaoyiイノベーションライブクラスに戻ってきてください!
2.オープンソースのRISC-Vは、中国の「コア不足」に対する解毒剤になることができますか?
3. Raspberry Pi Pico:たった4ドルのMCU
4. MCUがAI機能をサポートする理由はたくさんあります〜
5. 2020年に、私が学んだ20のソフトウェアエンジニアリングの原則〜
免責事項:この記事はオンラインで複製されており、著作権は原作者に帰属します。著作権の問題が発生した場合は、お問い合わせください。提供された著作権認証資料に基づいて著作権を確認し、作者の報酬を支払うか、コンテンツを削除します。