システムクロックの構成


【システムクロックの強化】

PIC18シリーズのクロック回路には、従来のミッドレンジに対し下記のような強化
ポイントがあります。

(1) PLLによる4倍クロックモードを追加
  内蔵PLLにより、外部振動子の4倍の周波数の内部クロックを生成する。
  この時の外部振動子は最大10MHz、従ってクロックとしては最大40MHzとなる。

(2) 通常クロックとタイマー1クロックとの切替機能を追加
  タイマー1のクロック(通常32kHzのクリスタル振動子を使う)をシステムクロック
  として使うことが出来る。
  しかも本来のシステムクロックとソフトウェアで切り替えて使うことが出来るため、
  通常は本来の高速のシステムクロックで動作させ、何もしなくて良い状態の時
  には、クロックをタイマー1側に切り替えることによって、消費電力を大幅に削減
  することが可能となる。


【クロックの指定方法】

まず、システムクロックの指定は、デバイスのプログラミングで書き込むときに、
コンフィギュレーションビットとして指定します。

この時のコンフィギュレーションビットは、FOSC2、FOSC1,FOSC0の3ビットを使用し
下表のような指定となります。
(コンフィギュレーションビットの全体はデバイス毎に異なっています。)

FOSC2,1,0 発振モード OSC2ピンの動作 コメント
111 RCIO 入出力ピン 外付けのRC回路で発振する
デフォルトのモード(〜4MHz)
110 HS4 振動子接続 振動子による発振にPLL回路が付加されて
4倍の周波数になる。(4x4〜10x4MHz)
101 ECIO 入出力ピン 外部発振モジュールによる(〜40MHz)
100 EC 1/4クロック出力 外部発振モジュールによる(〜40MHz)
011 RC 1/4クロック出力 外付けRCによる発振(〜4MHz)
010 HS 振動子接続 振動子による高速モード(4MHz〜25MHz)
001 XT   〃 振動子による中速モード(0.1〜4MHz)
000 LP   〃 振動子により低速モード(200KHZ以下)

【クロックの切り替え】

システムクロックを標準クロック発振回路と、タイマー1の発振回路とを切り替えるには、
OSCCONレジスタを使います。
OSCCONレジスタはこの切り替えビットだけから構成されており、下図のようになって
います。




【注意】
 タイマー1への切り替えを行う為には、事前にタイマー1がEnableになっていることが
 必須で、もし、Enableでない時は、SCS=1の切り替えは無視され、SCSは0のままで
 クロック発振回路側が継続して使われます。

 またクロックの切り替え時には、切り替え指示を検出後 8クロック待ってから切り替わ
 ります。グリッチ(ひげ)が発生しないようになっています。

【PLL発振モード】

4倍モードで発振する内部回路はVFOとなっているため、安定発振状態になるには
最大2msec程度の時間(TPLL)が必要となり、この間はシステムクロックは停止した状態
となっています。
特に、電源ON時だけでなく、クロックの切り替え時にも同じ時間を必要とするので
注意が必要です。




   目次ページへ