STM32

低消費電力モードの使い方

電源ドメイン構成

電源ドメイン電源端子用途
VDDAVDDA,VSSAADC,温度センサ,リセット,PLL
VDDVDD,VSSI/O,STANDBY回路(WKUP,IWDG,RCC,CSR),電圧レギュレータ
V18VDDから生成コア,メモリ,デジタルペリフェラル
BKUPVDD or VBATLSE 32K OSC,BKP,RCC BDCR,RTC

低消費電力モード

モード名エントリ方法ウェイクアップ1.8Vドメインへの影響VDDドメインへの影響レギュレータ
SLEEPWFI割り込みCPU CLKのみOFFなしON
SLEEPWEIウェイクアップイベントCPU CLKのみOFFなしON
STOPPDDS
LPDSビット+SLEEPDEEPビット+WFIかWFE
EXTIライン
EXTIレジスタ内で指定
全ての1.8VドメインCLKはOFFHSI,HSE OSCはOFFON / 低消費電力モード
STANDBYPDDS
LPDSビット+SLEEPDEEPビット+WFIかWFE
WKUPピン↑エッジ
RTCアラーム
NRSTピン内の外部リセット
IWDGリセット
全ての1.8VドメインCLKはOFFHSI,HSE OSCはOFFON / 低消費電力モード

GPIOピンの設定

AN2629 のサンプルコードでは、GPIO設定時にまず以下のようにしてから、必要なピンの設定をしている。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | 
RCC_APB2Periph_AFIO, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_Init(GPIOE, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB| 
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | 
RCC_APB2Periph_AFIO, DISABLE);

一度全てのポートをアナログInputに設定している。GPIO_Mode_IN_FLOATING (リセット時のデフォルト)で、ピンを浮かしておくと、電流を食うため。

LDOの自己消費電流**

STM32に電源を供給しているLDOの自己消費電流が馬鹿にならない(5mA)ので、低消費電力モードを使う場合は、LDOの付け替えを検討する必要があります。極限的にはコンデンサの漏れ電流も現れてくる事があります。

メーカ型番自己消費最大出力
UTCLP2950L100uA100mA
STLD1117(STBee標準)5mA800mA

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-06-02 (土) 15:20:38