CPU実験室

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

シリアルI/Oテスト

シリアルI/O用の8251の動作チェックをやってみます。
まず8251に与えるクロックですがデバイス動作用のクロックはシステムロック8MHzを2分周した4MHz、転送用クロックはボーレートを38400bpsとして内部倍率×16とすると614.4kHzになりますがこれは8MHzを13分周して615.4kHzを得ます。
これで+0.16%の誤差なので全く問題ありません。
 
CPLDの内部に13分周回路を組み込みました。
 
イメージ 1
 
 
プログラムはいつものように8251を初期化してインクリメントデータを垂れ流すだけです。モード、コマンド設定の後のNOP挿入は定石で8251のコマンド間リカバリタイムを確保するためのものです
初めこれを入れないでやってみたところ2回に1回くらいの割りで8251が正常に初期化されませんでした
 
 
イメージ 2
 
Dサブコネクタも取り付け、ターミナルソフトに接続すると文字列が連続的に送出されてくるので先ずは成功です。
 
写真では動作はわかりませんがコネクタの傍にある8251のTxD、RTS、DTRに接続したインジケータ点灯しています
 
 
イメージ 3