« PRO-10初プリント | トップページ | 「天文屋のためのマイコン入門」タイマーを使いこなそう »

2014年6月29日 (日)

「天文屋のためのマイコン入門」クロック

久々の投稿です。すみません。今日はマイコンのクロックについてお話します。マイコンを動作させるには下図のように外部から、クロックという1と0の繰り返し信号を入力してやります。そしてこのクロックの周期を周波数といいます。

1406291

マイコンは命令をこのクロックに同調して実行しますので、周波数が高いほど処理スピードが速くなります。ただ、いくらでも周波数を高くできるわけではありません。PIC16F88の場合は8MHzに制限されています。

また、周波数が高いと、電源電圧の範囲が制限されたり、消費電流が増えることも留意しておく必要があります。

また、クロックは命令の実行だけでなく、マイコン内蔵機能の時間管理などに使われたりします。代表的なものにタイマーや、シリアル通信のボーレートなどがあります。

マイコンにクロックを入力する方法はいくつかあります。

一つはクロックオシレーターを使う方法です。クロックオシレーターは独立したクロック発生回路ですので、精度等必要に応じて選べて、そのマイコンに依存しません。コスト的には割高で、回路も多少複雑になります。下図の回路図では省略していますが、波形整形用にもう一つICを通す場合もあります。

1406292

もう少し安価な方法で一番ポピュラーなのは、水晶振動子を使う方法です。クロック生成回路はマイコン内蔵のものを利用させてもらいます。クロックの精度は主に水晶振動子にi依存しますので、必要で十分な精度と周波数のものを得られべます。

1406293_2 

ただ、この方式はマイコンのポートを2つ使ってしまいます。ちなみに水晶振動子を使わず、抵抗とコンデンサを使う方式もあります。これだともっと低コストになり、ポートも一本しか使いませんが、精度は悪いです。

PIC16F88の場合、抵抗とコンデンサを使ったクロック生成回路が完全に内蔵されていますので、外付け部品一切なしで、マイコンを動かすことができます。(だからこのマイコンを選んだ!) ただ、精度は数%であまりよくありません。インターバルシャッターくらいならこの精度でもいいですが、次回作るモータードライブではこの精度ではだめです。
したがって、モータードライブの場合は外付けの水晶振動子を使うことにします。

なお、どのようなクロック源を使うかは、前回説明したコンフィグレーションで設定します。
外部から供給の場合は、オシレーターか水晶振動子か抵抗・コンデンサか選べます。内蔵の場合は31.25Hzから、8MHzまで選択できます。ちなみに今までのサンプルプログラムの設定では31.25Hzです。

今日はここまで

|

« PRO-10初プリント | トップページ | 「天文屋のためのマイコン入門」タイマーを使いこなそう »

コメント

コメントを書く



(ウェブ上には掲載しません)




« PRO-10初プリント | トップページ | 「天文屋のためのマイコン入門」タイマーを使いこなそう »