目次>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倍の動作が容易に実現可能です。
|