標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第28回]

●水晶発振回路

CPUといえば、クロック回路、水晶発振回路です。
CPUのクロック回路そのものは簡単なものです。



これだけの回路です。
CPU回路のクロックとしては4MHzを予定していますから、8MHzのクリスタルで、倍の周波数で発振させます。
最初から4MHzのクリスタルを使って、そのまま発振させてもいけないことはないのですが、そうするとその4MHzはデューティが50%とは限らない、Hの期間とLの期間が1:1の保証がなくなってしまいます。

デューティとはパルスのHの期間とLの期間の比率を示す言葉で、Hの期間とLの期間がちょうど等しいようなパルスであるときデューティが50%であるといいます。
水晶発振はインバータのアナログ的特性を利用するものなので、発振に関係するファクターによっては、デューティが50%にならず、HかLか、どちらかに偏ってしまう可能性があります。

上のようにHとLの期間が同じ(デューティ50%)が望ましく、下のようにHの期間とLの期間が等しくない波形になってしまうと都合が悪い場合があります。

今回の「つくるCPU」の回路では、いろいろあれこれ迷った末に、CLKの立ち上がりエッジしか使わないことにしましたので、結果的にはデューティは50%である必要はなくなりました。
かといって、あまりHかLかに偏ったパルスになってもよろしくはありませんから、ここは定石通り、水晶発振させたあと、フリップフロップを使ってクロック数を1/2にすることにしました。こうするとデューティが50%のパルスが得られます。

教科書的にはここはJKフリップフロップ(74HC73)を使うことが一般的のようです。
今回の回路では、いろいろな信号を保持するためにDフリップフロップ(74HC74)をあちこちの回路で使っています。
それにこだわったわけではありませんが、ここはDフリップフロップで決めてみました。

ということで、当然、Dフリップフロップについての説明になるところなのですが…。
本日はいろいろ忙しくてもう時間が無くなってしまいました。
この続きは次回に、ということにしたいと思います。
2008.8.5upload

前へ
次へ
ホームページトップへ戻る