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

オシレータ モジュール ( フェイルセーフ クロック モニタ機能付き )

ドキュメント内 DS41364B_JP (ページ 109-123)

PIC16F193X/LF193X

8.0 オシレータ モジュール ( フェイル

PIC16F193X/LF193X

8.2 オシレータ制御

OSCCON (オシレータ制御) レジスタ(図8-1) では、

システム クロックや周波数の選択などを制御しま

す。OSCCON レジスタには次のビットがあります。

• 周波数選択ビット (IRCF)

• システム クロック選択ビット (SCS)

• ソフトウェア PLL イネーブル ビット (SPLLEN)

レジスタ 8-1: OSCCON: オシレータ制御レジスタ

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

SPLLEN IRCF3 IRCF2 IRCF1 IRCF0 SCS1 SCS0

bit 7 bit 0

記号の説明:

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

u = 不変 x = 不明 -n/n = POR および BOR 時の値/その他すべてのリセット時の値

1 = セット 0 = クリア

ビット 7 SPLLEN: ソフトウェア PLL イネーブル ビット PLLEN = 1 の場合:

SPLLEN ビットは無視される。4x PLL は常に有効 (オシレータ要件の影響を受ける) PLLEN = 0 の場合:

1 = 4x PLL は有効 0 = 4x PLL は無効

ビット 6-3 IRCF<3:0>: 内部オシレータ周波数選択ビット 000x = 31 kHz LF

0010 = 31.25 kHz MF 0011 = 31.25 kHz HF(2) 0100 = 62.5 kHz MF 0101 = 125 kHz MF 0110 = 250 kHz MF

0111 = 500 kHz MF (リセット時のデフォルト) 1000 = 125 kHz HF(2)

1001 = 250 kHz HF(2) 1010 = 500 kHz HF(2) 1011 = 1 MHz HF 1100 = 2 MHz HF 1101 = 4 MHz HF 1110 = 8 MHz HF 1111 = 16 MHz HF

ビット 2 未実装:「0」として読み出し

ビット 1-0 SCS<1:0>: システム クロック選択ビット 1x = 内部オシレータ ブロック

01 = Timer1 オシレータ

00 = CONFIG1[FOSC<2:0>] で設定されたクロック

1: リセット ステートは、IESO コンフィギュレーション ビットのステートに依存します。

2: HFINTOSC から派生した周波数です。

PIC16F193X/LF193X

8.3 クロック ソース モード

クロック ソース モードは外部または内部の 2 つに 分類されます。

• 外部クロック モードの場合は、クロック ソース に外部回路を使用します。例えば、オシレータ モジュール (ECモード)、水晶振動子またはセラ ミック振動子 (LP、XT、HSモード)、RC (抵抗 /コンデンサ) モード回路などがあります。

• 内部クロックソースはオシレータモジュール内 部に含まれています。オシレータ モジュールに

は、16 MHz の高周波数内部オシレータ

(HFINTOSC) と 500 kHZ (MFINTOSC) および 31 kHz の低周波数内部オシレータ (LFINTOSC) の 2 種類の内部オシレータがあります。

システムクロックに外部クロックソースと内部ク ロック ソースのどちらを使用するかは、OSCCON レジスタのシステム クロック選択 (SCS) ビットで 選択します。詳細は、8.6項「クロック切り替え」 を 参照してください。クロック ソースを切り替えた 場合は、新しいクロックが安定するまで遅延が必要 です。このオシレータの遅延を表8-1 に示します。

8.4 外部クロック モード

8.4.1 オシレータ スタートアップ タイマ

(OST)

オシレータモジュールが LP、XT、HS モードのい ずれかに設定されている場合、オシレータ スター トアップタイマ (OST) は OSC1 から 1024回発振を カウントします。これは、パワーオン リセット (POR) 後のパワーアップタイマ (PWRT) のタイム アウト時 ( 設定されている場合 )、またはスリープ からのウェイクアップ後に実行されます。カウント 実行中、プログラム カウンタはインクリメントせ ず、プログラム実行は一時停止します。OST によ り、水晶振動子またはセラミック振動子を使用した オシレータ回路の起動後に安定したシステム ク ロックを確実にオシレータ モジュールへ供給でき るようになります。

外部オシレータのスタートアップからコード実行 までの遅延を最小限に抑える場合は、2 段速スター トアップ モードを選択します (8.6.3 項「Timer1 オ シレータレディ (T1OSCR) ビット」参照)。

8-1: オシレータ切り替え遅延

8.4.2 ECモード

外部クロック (EC) モードでは、外部で生成された ロジック レベルをシステム クロック ソースとして 使用できます。このモードで動作する場合、外部ク ロック ソースは OSC1 入力へ接続します。

OSC2/CLKOUT は、汎用 I/O または CLKOUT とし て使用できます。図 8-2 に、EC モードでのピン接 続を示します。

のままの状態でデバイスが動作を中断します。外部 クロックが再開すると、停止直後の状態からデバイ スはその動作を再開します。

図 8-2: 外部クロック (EC) モードでの動作

Switch From Switch To Frequency Oscillator Delay

Sleep/POR

LFINTOSC(1) MFINTOSC(1) HFINTOSC(1)

31 kHz

31.25 kHz-500 kHz 31.25 kHz-16 MHz

Oscillator Warm-up Delay (TWARM)

Sleep/POR EC, RC(1) DC - 32 MHz 2 cycles

LFINTOSC EC, RC(1) DC - 32 MHz 1 cycle of each

Sleep/POR Timer1 Oscillator

LP, XT, HS(1) 32 kHz-20 MHz 1024 Clock Cycles (OST) Any clock source MFINTOSC(1)

HFINTOSC(1)

31.25 kHz-500 kHz

31.25 kHz-16 MHz 2s (approx.)

Any clock source LFINTOSC(1) 31 kHz 1 cycle of each

Any clock source Timer1 Oscillator 32 kHz 1024 Clock Cycles (OST)

PLL inactive PLL active 16-32 MHz 2 ms (approx.)

1: PLL 機能は非アクティブです。

OSC1/CLKIN Clock from

Ext. System

PIC® MCU

PIC16F193X/LF193X

8.4.3 LP、XT、HS モード

LP、XT、HS モードでは、水晶振動子またはセラ ミック振動子を OSC1 と OSC2 に接続して使用でき

ます(図8-3)。使用する振動子の種類や速度に合わ

せてモードを切り替えることにより、内部インバー タアンプが高/中/低ゲインに設定されます。

LP オシレータモードでは、内部インバータアンプ のゲインが最も低く設定されます。3 つのモードの うち、消費電流が最も少ないのがこのモードです。

このモードは、32.768 kHz の音叉型水晶振動子(時 計用水晶振動子) の駆動専用に設計されています。

XT オシレータ モードでは、内部インバータ アンプ のゲインが中間に設定されます。消費電流も 3 つの モードの中間となります。このモードは、駆動レベ ル仕様が中程度の振動子に最も適しています。

HS オシレータ モードでは、内部インバータ アンプ のゲインが最大に設定されます。3 つのモードのう ち、消費電流が最も大きくなります。このモードは、

駆動レベルを高く設定する必要のある振動子に最も 適しています。

図8-3 および図8-4 に、それぞれ水晶振動子とセラミッ ク振動子を使用した代表的な回路図を示します。

8-3: 水晶振動子による動作 (LPXTHS モード)

図 8-4: セラミック振動子の動作(XT または HS モード)

1: 駆動レベルの低い水晶振動子の場合、直列抵抗

(RS) が必要となる場合があります。

2: RF の値は、選択したオシレータ モードによっ て異なります (通常は 2 M10 M C1

C2

Quartz

RS(1)

OSC1/CLKIN

RF(2) Sleep To Internal Logic PIC® MCU

Crystal

OSC2/CLKOUT

1: 水晶振動子の特性は、種類、パッケージ、

メーカーにより異なります。仕様および 推奨アプリケーションについては、各 メーカーのデータシートを参照してくだ さい。

2: アプリケーションで想定される VDD お よび仕様温度でオシレータの動作を必 ず検証してください。

3: オシレータの設計には、マイクロチップ 社の次のアプリケーションノートを参 照してください。

• AN826『Crystal Oscillator Basics and Crystal Selection for rfPIC® and PIC® Devices』(DS00826)

• AN849『Basic PIC® Oscillator Design』

(DS00849)

• AN943『Practical PIC® Oscillator Analysis and Design』(DS00943)

• AN949『Making Your Oscillator Work』

(DS00949)

1: 駆動レベルの低いセラミック振動子の場合、直 列抵抗 (RS) が必要となる場合があります。

2: RF の値は、選択したオシレータ モードによって

異なります (通常は 2 M10 M。

3: セラミック振動子を適正に動作させるには、並 列フィードバック抵抗 (RP) の追加が必要となる ことがあります。

C1

C2 Ceramic RS(1)

OSC1/CLKIN

RF(2) Sleep To Internal Logic PIC® MCU

RP(3)

Resonator

OSC2/CLKOUT

PIC16F193X/LF193X

8.4.4 外部 RC モード

外部 RC (抵抗/コンデンサ)モードでは、外付けの RC 回路が使用できます。クロックの精度があまり 要求されない場合は、このモードでコストを最小限 に抑えながら周波数を比較的自由に選択できます。

RC 回路は OSC1 へ接続します。OSC2/CLKOUT は、

汎用 I/O または CLKOUT として使用できます。

図8-5 に、外部RCモードの場合のピン接続を示し ます。

図 8-5: 外部 RC モード

RC オシレータの周波数は、電源電圧、抵抗 (REXT)、 コンデンサ (CEXT) の値と動作温度の関数として決 定します。これ以外にオシレータの周波数に影響す る要因として、次のものがあります。

• スレッショルド電圧のばらつき

• 製品の許容誤差

• パッケージによる容量のばらつき

使用する外部RC製品の許容誤差によるばらつきも 考慮する必要があります。

8.5 内部クロック モード

オシレータ モジュールには 3 つの独立した内部オ シレータがあり、システム クロック ソースとして 設定できます。

1. HFINTOSC (高周波数内部オシレータ) は工場 で校正されており、16 MHz で動作します。

HFINTOSC の周波数は、OSCTUNE レジスタ

(レジスタ8-3) を使用して、ユーザーがソフト

ウェアで調整できます。

2. MFINTOSC (中周波数内部オシレータ) は工場

で校正されており、 500 kHz で動作します。

MFINTOSC の周波数は、OSCTUNE レジスタ

(レジスタ8-3) を使用して、ユーザーがソフト

ウェアで調整できます。

3. LFINTOSC (低周波数内部オシレータ) は校正

されておらず、31 kHzで動作します。

システムのクロック速度は、OSCCON レジスタの 内部オシレータ周波数選択ビット IRCF<2:0> を使 用して、ソフトウェアで選択できます。

システムクロックに外部クロックソースと内部ク ロックソースのどちらを使用するかは、OSCCON レジスタのシステムクロック選択 (SCS) ビットで 選択します。詳細は、8.6項「クロック切り替え」 を 参照してください。

8.5.1 INTOSC モード

INTOSC モードの場合、コンフィギュレーション ワード レジスタ 1 (CONFIG1) の FOSC<2:0> ビット (オシレータ選択ビット ) を使用してデバイスをプ ログラムすると、内部オシレータがシステム クロッ ク ソースとして使用されます。

INTOSC モードの場合、OSC1/CLKIN は汎用 I/O と して使用でき、OSC2/CLKOUT は汎用 I/O または

CLKOUT として使用できます。

OSC2/CLKOUT CEXT

REXT

PIC® MCU

OSC1/CLKIN

FOSC/4 or

Internal Clock VDD

VSS

推奨値: 10 k  REXT  100 k、<3V 3 k  REXT  100 k、3V ~ 5V CEXT > 20 pF、25V

1: 出力は、コンフィギュレーション ワード 1 レジ スタの CLKOUTEN ビットに依存します。

I/O(1)

PIC16F193X/LF193X

8.5.2 HFINTOSC

高周波数内部オシレータ (HFINTOSC) は、工場で校

正された 16 MHz の内部クロックソースです。

HFINTOSC の周波数は、OSCTUNE レジスタ (レジ

スタ8-3) を使用して、ソフトウェアで変更できます。

HFINTOSC の出力は、ポストスケーラとマルチプレ

クサに接続されています (図8-1参照)。周波数は、

OSCCON レジスタの IRCF<3:0> ビットを使用して、

HFINTOSC から派生する 9 種類のうちいずれか 1 つ をソフトウェアで選択できます。詳細は、8.5.7

「周波数選択ビット (IRCF)」を参照してください。

HFINTOSC は次の方法で有効化されます。

• 任意の HF 周波数用に IRCF<3:0> ビット (レジス タ8-1 参照) を設定します。

• FOSC<2:0> = 100 または

• OSCCON レジスタのシステム クロック ソース

(SCS) ビットを「1x」に設定します。

OSCSTAT レジスタの HFIOFR (High Frequency Internal Oscillator Ready) ビットは、HFINTOSC が動作中であ り使用可能な状態であるかを示します。

OSCSTAT レジスタの HFIOFL (High Frequency Internal Oscillator Status Locked) ビットは、HFINTOSC が最終 値の 2% 以内で動作しているかを示します。

OSCSTAT レジスタの HFIOFS (High Frequency Internal Oscillator Status Stable) ビットは、HFINTOSC が最終

値の 0.5% 以内で動作しているかを示します。

8.5.3 MFINTOSC

中周波数内部オシレータ (MFINTOSC) は、工場で校 正された 500 kHz の内部クロックソースです。

MFINTOSC の周波数は、OSCTUNE レジスタ(レジ

スタ8-3) を使用して、ソフトウェアで変更できます。

MFINTOSC の出力は、ポストスケーラとマルチプレ クサに接続されています (図8-1参照)。周波数は、

OSCCON レジスタの IRCF<3:0> ビットを使用して、

MFINTOSC から派生する 9 種類のうちいずれか 1 つ をソフトウェアで選択できます。詳細は、8.5.7 項

「周波数選択ビット (IRCF)」 を参照してください。

MFINTOSC は次の方法で有効化されます。

• 任意の HF 周波数用に IRCF<3:0> ビット (レジス タ8-1 参照) を設定します。

• FOSC<2:0> = 100 または

• OSCCON レジスタのシステムクロックソース

(SCS) ビットを「1x」に設定します。

OSCSTAT レ ジ ス タ の MFIOFR (Medium Frequency Internal Oscillator Ready) ビットは、MFINTOSC が動 作中であり使用可能な状態であるかを示します。

8.5.4 LFINTOSC

低周波数内部オシレータ (LFINTOSC) は、校正され ていない 31 kHz の内部クロックソースです。

LFINTOSC の出力は、ポストスケーラとマルチプレ クサに接続されています (図8-1参照)。OSCCON レ ジスタの IRCF<2:0> ビットを使用して、ソフトウェ アで 31 kHz を選択します。詳細は、8.5.7 項「周波 数選択ビット (IRCF)」 を参照してください。

LFINTOSCは、パワーアップ タイマ (PWRT)、ウォッ

チドッグタイマ (WDT)、フェイルセーフクロック

モニタ (FSCM) の周波数としても使用されます。

LFINTOSC が有効となるのは、31 kHz (OSCCON レ ジスタの IRCF<3:0> ビット =000) をシステム ク ロック ソースとして (OSCCON レジスタの SCS

ビット = 1x) 選択、または次のいずれかを有効化し

た場合です。

• 任意の LF 周波数用に IRCF<3:0> ビット (レジス タ8-1 参照) を設定します。

• FOSC<2:0> = 100 または

• OSCCON レジスタのシステム クロック ソース

(SCS) ビットを「1x」に設定します。

LFINTOSC を使用する周辺機能は次のとおりです。

• LCD

• パワーアップタイマ (PWRT)

• ウォッチドッグ タイマ (WDT)

• フェイルセーフクロックモニタ (FSCM)

OSCSTAT レジスタの LFIOFR (Low Frequency Internal Oscillator Ready) ビットは、LFINTOSC が動作中であ り使用可能な状態であるかを示します。

ドキュメント内 DS41364B_JP (ページ 109-123)