• 検索結果がありません。

SLEEPDEEP

ドキュメント内 Cortex-M3 Technical Reference Manual (ページ 153-161)

7.2 シス テム電力管理

7.2.2 SLEEPDEEP

低電力状態において SLEEPDEEP を使用 し て ク ロ ッ ク コ ン ト ロ ー ラ を停止す る こ と で、 消費電力を低減す る 方法を、 図 7-2 に示 し ます。 低電力状態を抜 け る と き 、 LOCK シ グナルは、 PLL が安定 し ていて、 Cortex-M3 ク ロ ッ ク を 有効に し て も 安全であ る こ と を示 し ます。 こ れに よ り 、 ク ロ ッ ク が安定す る ま で、 プ ロ セ ッ サが再起動 し ない こ と が保証 さ れ ます。

図 7-2 SLEEPDEEP 電力制御の例

WIC が無効にな っ てい る 場合、 プ ロ セ ッ サは、 割 り 込みを検出す る ために、

低電力状態で フ リ ー ラ ン FCLK を受信す る 必要があ り ます。 SLEEPDEEP が アサー ト さ れてい る 間は、 FCLK の周波数を下げ る こ と がで き ます。

7.2.3 ス リ ープの延長

SLEEPHOLDREQn 信号 と SLEEPHOLDACKn 信号を使用すれば、 ス リ ープ状 態を延長す る こ と がで き ます。 SLEEPING 信号が HIGH で コ アが ス リ ープ状 態であれば、 SLEEPHOLDREQn を アサー ト す る こ と がで き ます。 その次のサ イ ク ルで、 SLEEPHOLDACKn がアサー ト さ れ、 延長要求が確定 さ れ ます。

ウ ェ ー ク ア ッ プ イ ベン ト が発生す る と 、 通常どお り 、 SLEEPING はデアサー ト さ れ ますが、 SLEEPHOLDACKn はデアサー ト さ れないため、 コ アは ス リ ー プ状態の ま ま にな り ます。 コ ア を ウ ェ ー ク ア ッ プす る には、

SLEEPHOLDREQn をデアサー ト す る 必要があ り ます。 SLEEPING の場合 と 同 様に、 SLEEPHOLDREQn がアサー ト さ れてい る か ど う かに関係な く 、 コ アの ホール ト に よ っ て SLEEPHOLDACKn がデアサー ト さ れ、 ス リ ープモー ド が 解除 さ れ ます。

SLEEPING が HIGH 以外の と き に SLEEPHOLDREQn がアサー ト さ れた場合、

コ アは応答を返 さ ず、 ス リ ープ イ ベン ト が発生 し た場合にのみス リ ープモー ド に入 り ます。

ス リ ープ イ ベン ト の実行中に割 り 込みがアサー ト さ れた場合の よ う に、

SLEEPING が非常に短い期間だけ アサー ト さ れ る こ と があ り ます。 こ の場合 は、 SLEEPHOLDREQn が応答前にデアサー ト さ れ、 ス リ ープモー ド が正常に

Cortex M3 プロセッサ SLEEPDEEP

HCLK

FCLK

EN

PLLCLKIN クロック

コントローラ LOCK

延長 さ れない可能性があ り ます。 ご使用の実装では、 こ の よ う な ケース を想 定 し て、 ス リ ープモー ド が応答な し で解除 さ れた場合に SLEEPHOLDREQn がデアサー ト さ れ る こ と を保証す る 必要があ り ます。

図 7-1 p. 7-4 に示す よ う に、 ス リ ープモー ド を使用 し て HCLK 信号を ク ロ ッ ク ゲー ト す る 場合は、 SLEEPHOLDACKn を反転 し て SLEEPING と 論理和を取 り 、 ク ロ ッ ク ゲー ト の イ ネーブル期間を生成す る 必要があ り ます。 デバ ッ ガ を使用す る 場合は、 HCLK を イ ネーブルにす る 必要があ り ます。 ま たは、

CortexM3Integration レベルで提供 さ れ る GATEHCLK 信号を使用 し て、 HCLK のゲー ト 制御に使 う こ と がで き ます。

7.2.4 ウ ェ ー ク ア ッ プ割 り 込み コ ン ト ロー ラの使用

こ のサブセ ク シ ョ ンでは、

ウ ェー ク ア ッ プ割 り 込みコ ン ト ローラ

(WIC) の使用 方法について説明し ます。 こ のセ ク シ ョ ンは次の項目か ら 構成 さ れています。

WIC の概要

WIC の機能

WIC の概要

Cortex-M3 NVIC には、 新 し く 発生 し た割 り 込みの優先度が現在の優先度 よ り も 高い場合は、 現在の実行 コ ン テ キ ス ト ま たは優先度 よ り も 優先す る 必要が あ る と 判断す る 専用の回路が組み込ま れてい ます。 こ の優先機構は、 WFE、

WFI、 お よ び sleep-on-exit の間 も 機能 し 、 コ アが ス リ ープ後に命令の実行を 再開 し なければな ら ない タ イ ミ ン グ を決定 し ます。

超低電力用途では、 very-deep-sleep モー ド 中のプ ロ セ ッ サの動的電力 と 静的 電力を大幅に削減で き る こ と が理想的です。 こ れは、 ク ロ ッ ク を停止す る か、

プ ロ セ ッ サへの電力供給を停止す る こ と に よ っ て実現す る こ と がで き ます。

電力供給が停止 さ れ る と 、 NVIC は割 り 込みの優先順位付けや検出がで き な く な り ます。 こ れは、 very-deep-sleep モー ド の解除 タ イ ミ ン グの検知が困難に な る こ と を意味 し ます。

ウ ェー ク ア ッ プ割 り 込み コ ン ト ロ ー ラ

(WIC) は非 常に少ないゲー ト 数で割込み検出回路を提供 し 、 very-deep-sleep へ入 る 時に フル NVIC で正 し く 設定 し ておけば、 フル NVIC に取っ て代わ っ てその動作 を エ ミ ュ レー ト す る こ と が可能です。 WIC は小型なため、 その電源要件が very-deep-sleep 中に利用で き る 電力制約に納ま り 、 常に通電 し ておけ る こ と を保証 し ます。

NVIC と 違っ て、 WIC には優先順位付け回路が組み込まれてい ません。 WIC に は、 マ ス ク さ れていない割 り 込みを検出する と すぐ に ウ ェー ク ア ッ プ信号を 出力する、 基本的な割 り 込みマ ス ク シ ス テ ムが実装 さ れてい ます。 ま た、 WIC はプ ロ グ ラ マモデルで可視な状態を持たないため、 ス リ ープ中に消費電力が 削減 さ れ る こ と を除いては、 デバ イ ス のエン ド ユーザーか ら は見え ません。

WIC の機能

必要に応 じ て、 WIC を使用 し て FCLK をゲー ト し 、 プ ロ セ ッ サへの電力をオ フ にす る こ と も で き ます。 最初に、

電力管理ユニ ッ ト

(PMU) が、 WICENREQ と い う 名前の イ ネーブルを アサー ト し て WIC と の通信を開始 し ます。 次に、

WIC が、 WIC モー ド ス リ ープに同意す る ための要求をプ ロ セ ッ サに送信 し ま す。 プ ロ セ ッ サか ら 応答が返っ て き た ら 、 WIC が PMU に応答を返 し ます。 す べての応答が確定する と 、 次の SLEEPDEEP モー ド を WIC モー ド ス リ ープに す る こ と が同意 さ れます。 こ の初期手順シーケ ン ス の例を図 7-3 に示 し ます。

図 7-3 WIC モー ド の許可シーケ ン ス

WFI、 WFE、 sleep-on-exit のいずれかに よ っ て deep-sleep モー ド に入 る と 、 プ ロ セ ッ サが、 WICLOAD と WICMASK を使用 し て、 WIC に適切なマ ス ク を ロ ー ド し 、 ウ ェー ク ア ッ プに必要な割 り 込み と イ ベン ト の ど ち ら か ま たはそ の両方を許可 し ます。 WICSENSE ベ ク タ と WICMASK ベ ク タ の ど ち ら か ま た はその両方に含まれ る 論理 1 が、 対応す る WICINT 信号に応答 し て ウ ェー ク ア ッ プす る 必要があ る こ と を WIC に指示 し ます。 プ ロ グ ラ ム時に、 マ ス ク ベ ク タ が WIC に よ っ て保持 さ れ ます。 WICPEND は、 WIC ブ ロ ッ ク に よ っ て キ ャ プチ ャ さ れた保留割 り 込みのベ ク タ です。 こ のベ ク タ は、 NVIC の ス リ ー プ中に有効に さ れた割 り 込み と 検出 さ れた割 り 込みの状態を ラ ッ チ し た形で 提供 し ます。 こ れに よ っ て、 WIC ベース の ス リ ープ方式 と 組み合わせてパル ス割 り 込みを使用す る こ と がで き ます。

PMU は、 電力オ フ シーケ ン ス中にプ ロ セ ッ サが ウ ェ ー ク ア ッ プ し ない よ う に SLEEPHOLDREQn を アサー ト す る 必要があ り ます。 SLEEPHOLDACKn に

よ っ て応答が返っ て く れば、 PMU はシ ス テ ム の電力オ フ を継続す る こ と がで き ます。 WIC が割 り 込みま たは イ ベン ト か ら ウ ェー ク ア ッ プ ト リ ガ を検出す る と 、 WAKEUP ピ ン を使用 し て、 プ ロ セ ッ サの電力を オ ン にす る よ う に PMU に指示 し ます。 電力が回復す る と 、 プ ロ セ ッ サは、 優先度が低か っ たた めに ウ ェー ク ア ッ プ イ ベン ト を発生 し なか っ た割 り 込みな ど、 こ れ ま でに発 生 し た割 り 込みを保持 し てい る WICPEND 信号に よ っ て示 さ れ る イ ベン ト と 割 り 込みの ど ち ら か ま たはその両方を処理 し ます。 ウ ェー ク ア ッ プ時に、 プ

FCLK WICENREQ WICENACK WICDSREQn WICDSACKn

ロ セ ッ サが WICLEAR を アサー ト し て WIC 内に保存 さ れたマ ス ク の内容を ク リ ア し ます。 その後、 プ ロ セ ッ サは、 別の WIC モー ド ス リ ープ イ ベン ト が 発生す る ま で、 命令の実行を継続 し ます。

上述し た機能の例を図 7-4 p. 7-9 に示し ます。 状態保存セル と と も に使用する 場合の ISOLATEn、 RETAINn、 および PWRDOWN の駆動方法 も 示し ます。

図 7-4 電力オ フ の タ イ ミ ングシーケ ン ス

SLEEPING

WICLOAD SLEEPDEEP

WICMASK[]

WICCLEAR

nISOLATE nRETAIN PWRUP WICINT[]

WAKEUP WICPEND FCLK

1) NVICがdeep sleepモードに入る前にWICLOADを駆動する 2) コアがdeep sleepモードに入る

以下の信号はコアの電力オフシーケンスを示している

3) PMUがコアの電力ドメインを分離する 4) PMUがコアの状態保存を駆動する

5) PMUがコアの電力をオフにする

6) マスク不能割り込みが到着する

7) 割り込みが保留され、WICがWAKEUPをアサート することによってPMUに通知する

8) PMUがコアの電力をオンにする

9) PMUが状態復元を駆動する 10) PMUがコアの分離を解除する

11) コアが入力IRQ/NMI/RXEVを確認 して、WICCLEARをアサートする

12) WICが保留中の割り込みを クリアして、WAKEUP デアサートする

状態保存セルを使用 し てい る シ ス テ ムの ク ラ ン プ値 と 、 PMU、 WIC、 お よ び NVIC の接続例を図 7-5 p. 7-10 に示 し ます。 統合を容易にす る ために ク ラ ン プ値は同 じ 値に設定 さ れてい ます。 WICPEND と 割 り 込み OR ゲー ト の位置は 重要ではあ り ません。 通常、 ク ラ ン プは、 統合中に ツールに よ っ て挿入 さ れ ます。

図 7-5 PMU、 WIC、 および Cortex-M3 の相互接続

ク ロ ッ ク が供給 さ れていない回路では、 WIC か ら の信号を使用 し て、 特定の 割 り 込みに よ っ て WIC が WAKEUP 要求を生成 し たか ど う か を推測 し た り 、 WIC に よ っ て直接サポー ト さ れない別の電力低減手段を提供す る こ と がで き

ます。 WIC 全体で同 じ オ フ セ ッ ト が使用 さ れていれば、 WIC の割 り 込み関連 ピ ンに接続す る 、 INTISR、 NMI、 お よ び RXEV の組み合わせ と その数を気に す る 必要はあ り ません。

WIC は、 WIC ベース の SLEEPDEEP に移行すべ き ではない こ と を指示す る 、 ま たは、 WIC がすでに SLEEPDEEP に移行 し ていた場合は、 WAKEUP 信号を HIGH に駆動 し て SLEEPDEEP ポ リ シーを非 WIC ベース に戻す よ う に指示す

る 信号の WICDISABLE を使用 し て無効にす る こ と がで き ます。 デバ ッ ガがシ ス テ ム に取 り 付け ら れてい る 場合は、 こ の信号を HIGH の ま ま に し てデバ ッ グ中の電力分離を避け る 必要があ り ます。

クランプ

WAKEUP WICENREQ WICENACK SLEEPDEEP

PMU

WAKEUP

WICSENSE

WICPEND

WICENACK WICDSREQn WICDSACKn WICENREQ WICMASK WICCLEAR WICLOAD

WIC

WICMASK

WICDSACKn WICDSREQn

Cortex-M3

WICCLEAR WICLOAD INTISR/NMI/RXEV SLEEPHOLDREQn

SLEEPDEEP WICINT

割り込み 0

OR

SLEEPHOLDACKPMUn SLEEPHOLDREQPMUn

SLEEPHOLDACKn ISOLATEn

PWRDOWN

0 0 0 0 0 0 0

0 0 RETAINn

ドキュメント内 Cortex-M3 Technical Reference Manual (ページ 153-161)

関連したドキュメント