CPU実験室

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

シリアル通信の高速化

イメージ 1

イメージ 2

MC68901内蔵発振器用クリスタルを取りつけました。
この周波数で結構悩みました。
データシート上、MC68901に接続可能なクリスタルは2.0~4.0MHzとなっており、
おそらく2.4576MHzを想定していると思われます。
このクロックを分周するタイマが必ず÷4のプリスケーラが入ってしまい
メインカウンタ最小分周比は2なので最小8分周になります。
さらにシリアルコントローラは転送クロックとボーレートの比を×1と×16の切替ができますが
×1では内部で同期化していないのでかなりの率でサンプリングミスを起こしてしまうので
必然的に×16を選択。
となると最高ボーレートは2.4576(MHz)÷(4×2)÷16=19200(bps)でこれ以上上げることができません。

でもなんとか38400bpsを実現しようと、オーバークロックですがためしに4.9152MHzを付けたら
難なく発振。分周比はそのままで安定して38400bpsの通信ができています。

液晶の下になるので背の低いHU49/Sの4.9152MHzです。
負荷容量はパッケージがぶつかってしまったので裏面取りつけました。
基板を裏返して思い出しましたがEEPROM用のI2Cドライバも作らなくては。