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

パワーダウン モード ( スリープ )

ドキュメント内 PIC16(L)F1703/7 Data Sheet (ページ 93-97)

SLEEP

命令を実行すると、パワーダウンモードに移 行します。

スリープに移行したデバイスの状態は、以下の通りです。

1. WDT

がクリアされる。スリープ中の動作を有効 に設定している場合、値はクリアされてもカウン トは継続します。

2. STATUS

レジスタの

PD

ビットがクリアされる。

3. STATUS

レジスタの

TO

ビットがセットされる。

4. CPU

クロックが無効化される。

5. 31 kHz LFINTOSC

は影響を受けない。このオシ レータで動作する周辺モジュールは、スリープ中 も動作を継続できます。

6. Timer1

のクロック源として以下を選択した場合、

Timer1

自体と

Timer1

で動作する周辺モジュール はスリープ中も動作を継続する。

• LFINTOSC

• T1CKI

セカンダリ オシレータ

7. ADC

は影響を受けない。ただし専用の

FRC

オシ レータが選択されている場合に限る。

8. I/Oポートは SLEEP

命令実行前の状態(High、

Low、

ハイ インピーダンスのどれか

)

を維持する。

9. WDT

以外のリセットはスリープの影響を受けない。

スリープ中の周辺モジュールの動作に関する詳細は、

各周辺モジュールの章を参照してください。

消費電流を最小限に抑えるために、以下の条件に注意 します。

• I/O

ピンをフローティングにしない

• I/O

ピンから電流をシンクする外部回路

• I/O

ピンから電流をソースする内部回路

内部弱プルアップ回路によるピンからの電流流入

• 31 kHz LFINTOSC

を使うモジュール

セカンダリ オシレータを使うモジュール

ハイインピーダンス入力の

I/O

ピンは、外部で

V

DDま たは

V

SS に接続して、フローティング入力によるス イッチング電流が流れないようにしてください。

電流をソースする内部回路の例としてFVRモジュール があります。

FVR

モジュールの詳細は、セクション

14.0「固定参照電圧(FVR)」を参照してください。

8.1 スリープからの復帰

以下のイベントのどれかによってスリープから復帰で きます。

1. MCLR

ピンへの外部リセット入力

(

有効な場合

) 2. BOR

リセット

(

有効な場合

)

3. POR

リセット

4.

ウォッチドッグ タイマ

(

有効な場合

) 5.

全ての外部割り込み

6.

スリープ中も動作可能な周辺モジュールによる割 り込み

(

詳細は各周辺モジュールの章参照

)

上記の

1

3

ではデバイスがリセットされます。

4

6

は、プログラム実行の継続と見なされます。発生し たのがデバイスリセットか復帰イベントなのかを判断 するには、セクション5.12「リセット原因の特定」を 参照してください。

SLEEP

命令の実行中、次の命令

(PC+1)

がプリフェッチ されます。割り込みイベントでデバイスを復帰させる には、対応する割り込みイネーブルビットを有効にし ておく必要があります。復帰は、

GIE

ビットの状態に関 係なく実行されます。

GIE

ビットが無効の場合、デバイ スは

SLEEP

命令の次の命令から実行を再開します。

GIE

ビットが有効の場合、デバイスは

SLEEP

命令の次の命 令を実行後、割り込みサービスルーチン

(ISR)

を呼び 出します。

SLEEP

命令直後の命令を実行したくない場 合、

SLEEP

命令の後に

NOP

命令を配置します。

デバイスがスリープから復帰すると、復帰要因に関係 なく

WDT

はクリアされます。

PIC16(L)F1703/7

8.1.1

割り込みによる復帰

グローバル割り込みが無効

(GIE

がクリア

)

で、何らか の割り込み要因の割り込みイネーブルビットと割り込 みフラグビットの両方がセットされると、以下のどれ かが発生します。

• SLEEP

命令の実行前に割り込みが発生した場合

- SLEEP

命令が

NOP

として実行される。

- WDT

WDT

プリスケーラはクリアされない。

- STATUSレジスタの TO

ビットはセットされない。

- STATUSレジスタのPDビットはクリアされない。

• SLEEP

命令の実行中または実行後に割り込みが発生 した場合

- SLEEP

命令が最後まで実行される。

-

デバイスがただちにスリープから復帰する。

- WDT

WDT

プリスケーラがクリアされる。

- STATUS

レジスタの

TO

ビットがセットされる。

- STATUS

レジスタの

PD

ビットがクリアされる。

SLEEP

命令の実行前にフラグビットをチェックしたと しても、その後

SLEEP

命令が完了するまでにフラグ ビットがセットされる可能性があります。

SLEEP

命令 が実行されたかどうかを判断するには、

PD

ビットを 検証します。PD ビットがセットされている場合、

SLEEP

命令が

NOP

として実行された事を示します。

図 8-1: 割り込みによるスリープからの復帰

Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 CLKIN(1)

CLKOUT(2) Interrupt flag GIE bit (INTCON reg.)

Instruction Flow PC Instruction Fetched Instruction Executed

PC PC + 1 PC + 2

Inst(PC) = Sleep Inst(PC - 1)

Inst(PC + 1) Sleep

Processor in Sleep

Interrupt Latency(4)

Inst(PC + 2) Inst(PC + 1)

Inst(0004h) Inst(0005h) Inst(0004h) Forced NOP

PC + 2 0004h 0005h

Forced NOP TOST(3)

PC + 2

Note 1: 外部クロック。高、中、低モードを前提とします。

2: CLKOUTはタイミング基準として示されています。

3: TOST = 1024 TOSC。この遅延はECRCINTOSCオシレータモードまたは2段階起動には適用されません(セクション6.42 階クロック起動モード」を参照)

4: GIE = 1の場合です。この場合、復帰後にプロセッサは0004hISRを呼び出します。GIE = 0の場合、分岐せずに命令の実行を 継続します。

PIC16(L)F1703/7

8.2 低消費電力スリープ

PIC16F1703/7は、

低ドロップアウト

(LDO)電圧レギュ

レータを内蔵しています。このため、

I/O

ピンを

5.5 V

で動作させながら、内部デバイスロジックをこれより 低い電圧で動作させる事ができます。

LDO

と関連基準 回路は、デバイスがスリープ中でも動作を継続する必 要があります。

PIC16F1703/7

では、スリープ中の動 作電流を、アプリケーション要件に応じてユーザが最 適化できます。

低消費電力スリープを選択するには、

VREGCON

レジ

スタの

VREGPM

ビットをセットします。このビット

をセットすると、デバイスのスリープ中に

LDO

と基 準回路が低消費電力状態に移行します。

8.2.1

スリープ電流と復帰時間

既定値の動作モードでは、

LDO

と基準回路はスリープ 中も通常動作を継続します。全ての回路がスリープ中 も通常動作を継続するため、デバイスは素早くスリー プから復帰できます。これに対して、低消費電力スリー プから復帰する場合、これらの回路が通常動作を再開 して安定化するためには一定の時間が必要です。

低消費電力スリープは、スリープ時間の長いアプリ ケーションに適しています。通常のスリープは、スリー プから迅速かつ頻繁に復帰する必要があるアプリケー ションに適しています。

8.2.2

スリープ中の周辺モジュールの使用

周辺モジュールによっては、通常のスリープ中なら動 作可能でも、低消費電力スリープ中には正常に動作し ないものがあります。このような周辺モジュールを有 効化している場合、

LDO

は通常動作を継続します。低 消費電力スリープは、以下のモジュールと一緒に使う 事を前提としています。

ブラウンアウトリセット

(BOR)

ウォッチドッグ タイマ

(WDT)

外部割り込みピン

/

状態変化割り込みピン

• Timer1 (

外部クロック源使用

)

Note: PIC16LF1703/7

では、通常のスリープと低 消費電力スリープを選ぶ事はできません。

PIC16LF1703/7

のスリープは常に低消費 電力スリープであり、しかも復帰時に遅 延が発生しません。このデバイスの最大

V

DDと

I/O

電圧は、

PIC16F1703/7

よりも 低く設定されています。詳細は、

セクション26.0「電気的仕様」を参照して ください。

PIC16(L)F1703/7

8.3 レジスタ定義 : 電圧レギュレータ制御

表 8-1: パワーダウン モード関連レジスタのまとめ

レジスタ 8-1:

VREGCON: 電圧レギュレータ制御レジスタ

(1)

U-0 U-0 U-0 U-0 U-0 U-0 R/W-0/0 R/W-1/1

- - - VREGPM 予約済み

bit 7 bit 0

凡例:

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

u = ビットは不変 x = ビットは未知 -n/n = POR時とBOR時の値/その他の全てのリセット時の値

「1」 = ビットはセット 「0」 = ビットはクリア

bit 7-2 未実装: 「0」として読み出し

bit 1 VREGPM: 電圧レギュレータ電力モード選択ビット

1 =低消費電力スリープを有効にする(2)

スリープ中の消費電流は小さいが、復帰に時間を要する 0 = 通常消費電力モードを有効にする(2)

スリープ中の消費電流は大きいが、短時間で復帰できる

bit 0 予約済み: 「1」として読み出し。このビットはセットしたままにします。

Note 1: PIC16F1703/7のみ

2: セクション26.0「電気的仕様」を参照してください。

名前 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

レジスタ 内容記載 ページ

INTCON GIE PEIE TMR0IE INTE IOCIE TMR0IF INTF IOCIF 85

IOCAP - - IOCAP5 IOCAP4 IOCAP3 IOCAP2 IOCAP1 IOCAP0 145

IOCAN - - IOCAN5 IOCAN4 IOCAN3 IOCAN2 IOCAN1 IOCAN0 145

IOCAF - - IOCAF5 IOCAF4 IOCAF3 IOCAF2 IOCAF1 IOCAF0 145

IOCBP(1) IOCBP7 IOCBP6 IOCBP5 IOCBP4 - - - - 146

IOCBN(1) IOCBN7 IOCBN6 IOCBN5 IOCBN4 - - - - 146

IOCBF(1) IOCBF7 IOCBF6 IOCBF5 IOCBF4 - - - - 146

IOCCP IOCCP7(1) IOCCP6(1) IOCCP5 IOCCP4 IOCCP3 IOCCP2 IOCCP1 IOCCP0 147

IOCCN IOCCN7(1) IOCCN6(1) IOCCN5 IOCCN4 IOCCN3 IOCCN2 IOCCN1 IOCCN0 147

IOCCF IOCCF7(1) IOCCF6(1) IOCCF5 IOCCF4 IOCCF3 IOCCF2 IOCCF1 IOCCF0 147

PIE1 TMR1GIE ADIE - - SSP1IE CCP1IE TMR2IE TMR1IE 86

PIE2 - - - - BCL1IE - - CCP2IE 87

PIE3 - - - ZCDIE - - - - 88

PIR1 TMR1GIF ADIF - - SSP1IF CCP1IF TMR2IF TMR1IF 89

PIR2 - - - - BCL1IF - - CCP2IF 90

PIR3 - - - ZCDIF - - - - 91

STATUS - - - TO PD Z DC C 21

PIC16(L)F1703/7

ドキュメント内 PIC16(L)F1703/7 Data Sheet (ページ 93-97)