目次>9章 PIC18F1320編 (04)40MHzで動作させる

40MHzで動作させる

更新日2008.8.3

PIC18F1320のクロックは最大40MHzです。(PIC16の2倍)
今回は、前のページのプログラムを若干変更して、40MHzで動作する確認を行います。

実験回路

回路は前のページと同じで、2つのLEDをRB0/RB1に接続した簡単なものです。

680Ωの抵抗2本は、300Ω〜1KΩの範囲であれば何でもOKです。

回路図にはパスコンがありませんが、無いと動作が不安定になる場合があります。PICのVddとGND間に0.01uF程度のコンデンサを入れて下さい。

クロックは、10MHzのセラミックレゾネータを使います。(今回の必須条件)

こちらは、ブレッドボードに組んだ状態です。
回路図に無いもの(右上の6ピンヘッダ周り)が有りますが、これはICSP(In-Circuit Serial Programming)用の回路です。
秋月のPICライタを使うのであれば不要です。

仕様

単純な仕様で、RB0とRB1のLEDを250ミリ秒毎に交互に点滅させると言うものです。
前のページでは1秒毎に点滅させましたが、そのままのプログラムでクロックを4倍にし、結果的に250ミリ秒毎に点滅させます。

プログラム

前のページのプログラムの1行を変えるだけです。

前回のプログラム  CONFIG OSC=HS
今回のプログラム  CONFIG OSC=HSPLL
今回のプログラムはこちらです。

タイマルーチンのコメントは変えてありませんが、全て1/4の時間になります。
(例えば、0.4msタイマは0.1msになります。)

OSC=HSPLL について

USB機能を内蔵しないPIC18では、OSC1/OSC2の発振子のクロックを内部で4倍にする回路(PLL)を持っています。 (PLL:Phase Locked Loop)
発振子は4MHz〜10MHzが使用でき、内部で4倍することで16MHz〜40MHzで動作させる事ができます。

PLL(Phase Locked Loop)とは

今回の例をイメージ的に表したものが下図です。

OSC=HSとした場合、左のHSモード発信器の出力がそのまま内部クロックになります。
OSC=HSPLLとすると、HSモード発信器の右に回路が追加されます。これがPLL回路で、PIC18F1320では、基準周波数を4倍にしています。

・基準周波数(10MHz)とVCOの出力周波数/4を比較する。
・比較した結果をフィルタを介して直流電圧にする。
・この電圧でVCOの発振周波数を制御する

この結果、PLLの出力は基準周波数10MHzの4倍の40MHzで安定します。

PIC18の勧め(Vol.3)

その4. 簡単に40MHzで動作できる
PIC16の最大クロックは20MHzですが、PIC18F1320では2倍の40MHzで動作可能です。
また、USB内蔵のPIC18では48MHzで動作できます。
PIC16の2倍の動作が容易に実現可能です。