7.1. 要点
● 消費電力と機能を調節するための電力管理
● 5つの休止形態動作種別
● アイドル
● パワーダウン
● パワーセーブ
● スタンバイ
● 拡張スタンバイ
● 活性とアイドルの動作形態でクロックを禁止して未使用周辺機能をOFFにするための電力削減レジスタ 7.2. 概要
電力消費を応用の必要条件に仕立てるために様々な休止形態動作とクロック開閉が提供されます。これは節電のための未使用部署 の停止をXMEGAマイクロ コントローラに許します。
全ての休止形態が利用可能で、活動動作から移行することができます。活動動作ではCPUが応用コードを実行します。デバイスが休止 形態動作に移行すると、プログラム実行が停止され、再びデバイスを起動するのに割り込みまたはリセットが使用されます。応用コードは何 時、どの休止動作形態へ移行するかを決めます。許可された周辺機能からの割り込みと許可された全てのリセット元がマイクロ コントローラ を休止から活動動作に回復することができます。
加えて、電力削減レジスタはソフトウェアから個別周辺機能へのクロックを停止する方法を提供します。これが行われると、周辺機能の現在 の状態は凍結され、その周辺機能からの電力消費はありません。これは活動動作とアイドル動作での消費電力を減らし、休止形態動 作だけよりも遥かに細かく調整された電力管理を可能にします。
7.3. 休止形態動作
休止形態動作は節電のためにマイクロ コントローラ内の部署とクロック範囲を停止するのに使用されます。XMEGAマイクロ コントローラは応用実 行中の代表的な機能段に合うように調整された5つの異なる休止形態動作を持ちます。休止形態へ移行するための専用休止命令 (SLEEP)が利用できます。休止からデバイスを起動するのに割り込みが使用され、利用可能な割り込み起動元は形態設定された休止 形態種別に依存します。許可された割り込みが起こると、デバイスは起動し、SLEEP命令の後の最初の命令から通常のプログラム実行を 継続する前に、割り込み処理ルーチンを実行します。起動が起きた時により高い優先権の他の割り込みが保留中の場合、起動割り込 みに対する割り込み処理ルーチンが実行される前に、それらの割り込み処理ルーチンがそれらの優先権に従って実行されます。起動後、
CPUは実行を開始する前に4クロック周期停止します。
表7-1.は各種休止形態動作と活動するクロック範囲、発振器と起動元を示します。
表7-1. 各休止形態動作での活動クロック範囲と起動元
活動クロック範囲 発振器 起動元
休止形態種別 非同期ポート
割り込み システム
クロック元 RTC クロック元 CPU
クロック 周辺 クロック
RTC クロック
RTC 割り込み TWIアドレス一致
割り込み
その他 割り込み
アイドル 〇 〇 〇 〇 〇 〇 〇 〇
パワーダウン 〇 〇
〇 〇 〇
パワーセーブ 〇 〇
〇
スタンバイ 〇 〇
〇 〇
拡張スタンバイ 〇 〇 〇 〇
デバイスに対する起動時間は休止形態種別と主クロック元に依存します。システム クロック元が走行を維持されない休止形態種別に対して は起動時間にシステム クロック元に対する始動時間が加えられなければなりません。各種発振器任意選択に対する始動時間の詳細に ついては41頁の「システム クロックとクロック選択」を参照してください。
レジスタ ファイル、SRAM、I/Oレジスタの内容は休止中も維持されます。休止の間にリセットが起きた場合、デバイスはリセットし、リセット ベクタから 始動して実行します。
7.3.1. アイドル動作
アイドル動作ではCPUと不揮発性メモリが停止されますが(進行中のどのプログラミングも完了されることに注意)、割り込み制御器と事象シス テムを含む全ての周辺機能は動作を維持されます。許可されたどの割り込みもデバイスを起動します。
7.3.2. パワーダウン動作
パワーダウン動作では実時間計数器クロック元を含む全てのクロック元が停止されます。これは走行しているクロックを必要としない非同期部 署だけの動作を許します。MCUを起動できる割り込みは2線インターフェース アドレス一致割り込み、非同期ポート割り込みだけです。
7.3.3. パワーセーブ動作
パワーセーブ動作は1つの例外(以下)を除いてパワーダウン動作と同じです。実時間計数器(RTC)が許可されているなら、それは休止中も 動作を維持され、デバイスはRTCの上昇溢れまたは比較一致の割り込みのどちらからでも起動できます。
7.3.4. スタンバイ動作
スタンバイ動作は許可されているシステム クロック元が動作を維持され、一方CPU、周辺機能、RTCのクロックが停止される例外を除いてパ ワーダウン動作と同じです。これは起動時間を減らします。
7.3.5. 拡張スタンバイ動作
拡張スタンバイ動作は許可されているシステム クロック元が動作を維持され、一方CPUと周辺機能のクロックが停止される例外を除いてパワー セーブ動作と同じです。これは起動時間を減らします。
7.4. 電力削減レジスタ
電力削減(PR)レジスタは個別周辺機能へのクロックを停止する方法を提供します。これが行われると、周辺機能の現在の状態は凍結さ れ、関連するI/Oレジスタが読み書きできなくなります。周辺機能によって使用される資源は占有に留まり、従って殆どの場合で周辺機 能はクロックを停止する前に禁止されるべきです。周辺機能へのクロックを再び許可することは、周辺機能を停止前と同じ状態にします。
これは総電力消費を減らすためにアイドル動作と活動動作で使用できます。他の全ての休止形態動作では周辺クロックが既に停止され ています。
全てのデバイスが電力削減レジスタ内のビットに関連する全ての周辺機能を持つ訳ではありません。利用不能の周辺機能に対する電力 削減ビットの設定(1)は無効です。
7.5. 消費電力の最小化
AVR MCUで制御されるシステムで消費電力の最小化を試みる時に考慮する多数の検討点があります。一般的に応用が動作するのに 必要とされる部署だけが保証するように、正しい休止形態が選択されて使用されるべきです。
必要とされない全ての機能は禁止されるべきです。特に以下の部署は可能な最低消費電力の達成を試みる時に特別な考慮を必要 とするでしょう。
7.5.1. A/D変換器 - ADC
使用されないなら、アイドル動作へ移行する時にA/D変換器は禁止されるべきです。他の休止形態ではA/D変換器が自動的に禁止さ れます。A/D変換器がOFFそして再びONに切り替えられると、次の(最初の)変換は延長された(初回)変換になります。これは有効な 変換を起動する前に使用者はADC始動時間の間待つべきことを意味します。A/D変換器操作の詳細については172頁の「ADC - A/D変換器」を参照してください。
7.5.2. アナログ比較器 - AC
アイドル動作移行時、アナログ比較器は使用されないなら、禁止されるべきです。他の休止形態ではアナログ比較器が自動的に禁止され ます。けれども、アナログ比較器が入力として内部基準電圧を使用する構成設定の場合、アナログ比較器は全休止形態で禁止されるべ きです。さもなければ、内部基準電圧は休止形態と無関係に許可されます。アナログ比較器の形態設定法の詳細については190頁の
「AC - アナログ比較器」を参照してください。
7.5.3. 低電圧検出器(BOD)
低電圧検出器(BOD)が応用で必要とされないなら、この部署はOFFにされるべきです。低電圧検出器がBODACTとBODPDのヒューズ によって許可されていると全休止形態で許可され、常に電力を消費します。より深い休止形態では、消費電流を減らすためにOFFに して採取動作形態に設定することができます。低電圧検出器(BOD)の構成設定法の詳細については61頁の「低電圧検出(BOD)」を 参照してください。
7.5.4. ウォッチドッグ タイマ
ウォッチドッグ タイマが応用で必要とされないなら、この部署はOFFにされるべきです。ウォッチドッグ タイマが許可されていると全休止形態で 許可され、故に常時電力を消費します。ウォッチドッグ タイマの形態設定法の詳細については64頁の「WDT - ウォッチドッグ タイマ」を参照して ください。
7.5.5. ポート ピン
休止形態へ移行する時に全てのポート ピンは最小電力使用に形態設定されるべきです。最も重要なことはその時にピンが抵抗性負荷 を駆動しないのを保証することです。周辺クロック(
clk
PER)が停止される休止形態ではデバイスの入力緩衝部が禁止されます。これは必 要とされない時に入力論理回路によって電力が消費されないことを保証します。7.6. レジスタ説明 - 休止
7.6.1. CTRL - 制御レジスタ (Control register)
- - - - SMODE2~0
7 6 5 4 3 2 1 0
ビット
CTRL +$00
R/W R/W
R/W R/W
R R
R R
0 0
0 0
0 0
0 0
Read/Write 初期値
SEN
● ビット7~4 - 予約 (Reserved)
これらのビットは未使用で将来用に予約されています。将来のデバイスとの互換性のため、このレジスタが書かれる時に、これらのビットへ 常に0を書いてください。
● ビット3~1 - SMODE2~0 : 休止形態動作種別選択 (Sleep Mode Selection)
これらのビットは表7-2.に従って休止形態動作種別を選びます。 表7-2. 休止形態動作種別
群形態設定 内容
SMODE2~0
IDLE アイドル動作 0 0 0
- (予約) 0 0 1
PDOWN パワーダウン動作 0 1 0
PSAVE パワーセーブ動作 0 1 1
- (予約) 1 0 0
- (予約) 1 0 1
STDBY スタンバイ動作 1 1 0
ESTDBY 拡張スタンバイ動作 1 1 1
● ビット0 - SEN : 休止許可 (Sleep Enable)
SLEEP命令が実行される時にMCUを選択した休止形態動作に移行させるために、このビットが設定(1)されなければなりません。休止 形態動作の予期せぬ移行を避けるために、SLEEP命令実行直前にSENを書き、起動後直ちに解除(0)することが推奨されます。
7.7. レジスタ説明 - 電力削減
7.7.1. PRGEN - 一般電力削減レジスタ (General Power Reduction register)
● ビット7~4 - 予約 (Reserved)
これらのビットは未使用で将来用に予約されています。将来のデバイスとの互換性のため、このレジスタが書かれる時に、これらのビットへ 常に0を書いてください。
● ビット2 - RTC : 実時間計数器電力削減 (Real-Time Counter)
このビットの設定(1)が実時間計数器へ周辺クロックをOFFにします。これはレジスタ アクセス、割り込み生成、事象生成が停止されますが、
計数器が動き続けることを意味します。
● ビット1 - EVSYS : 事象システム電力削減 (Event System)
このビットの設定(1)が事象システムへのクロックを停止します。このビットが解除(0)されると、部署は停止前のように継続(動作)します。
● ビット0 - 予約 (Reserved)
このビットは未使用で将来用に予約されています。将来のデバイスとの互換性のため、このレジスタが書かれる時に、このビットへ常に0を 書いてください。
- - - RTC
7 6 5 4 3 2 1 0
ビット
PRGEN +$00
R R/W
R/W R
R R
R R
0 0
0 0
0 0
0 0
Read/Write 初期値
EVSYS