CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

シリアルコントローラ実装

8253に続いてシリアルコントローラ8251も実装しました
 
イメージ 1

8251はシステムクロックと送信・受信クロックをそれぞれ別に与えなければなりません
最初の設計ではシステムクロックはCPUクロックに同期した割り切りやすい周波数、
送受信クロックはボーレートを38400bpsにするためその倍数の専用の水晶発振器(KC7050B)を持つようにしていました
 
イメージ 2
8251の内部プリスケーラを×64とすれば水晶は2.4576MHzとなります。
 
ところが実装する前に念のため8251のデータシートを見ていると「送受信クロックはシステムクロックの4.5分の1以下でなければならない」という記述を見つけました。

イメージ 4
 
つまり送受信クロック入力TxC,RxCに直接入力できる周波数は1MHz以下となり、特に表面実装タイプの発振器にはそのような低い周波数のラインナップがありません
・・・ということで8284に付けた原振を14.7456MHzに交換して8253からそれを分周した614.4kHzを得るようにしたのはそのためです。
基板でも表面実装の水晶発振器X0の取付けはやめて8253のタイマ0の出力からジャンパを飛ばす羽目になりました。
 
 
イメージ 3
まぁボーレートジェネレータに8253を使うことによって通信速度がプログラマブルになった、という利点はあります。
なんとテレタイプや音響カプラもつながります!