CPU実験室

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

シリアルテスト

8251のシステムクロックが2.4576MHz、送受信クロックTxC,RxCが614.4kHzとなるときっちり4倍な訳で規格を満たしていないのですが、イチかバチかで動作確認のコーディングをしてしまいます。
 
先ずは8251の初期化部分。
ダミーを3回書くとか、コマンド1回書いたらリカバリタイムを置くなど定石通りです。転送クロック614.4kHzでボーレート38400bpsを得るので内部プリスケーラ値は×16にします

イメージ 3


8251の1文字入出力処理はいままでさんざんコーディングしてきたので「そら」で書けます
 
イメージ 1
これらのルーチンを呼び出して0x50を連続的に送信するプログラムを作成。
実行させた時の8251のTxDピンの波形が以下となります
 
イメージ 2

データが0x50ですからスタートビットも合わせ3個のビットが連続的に出ているので正常動作しています。
 
そういえばSRAMの動作確認をしていませんでしたがこれらのサブルーチンが正しく呼び出されて動いているのでおそらくスタックを含むSRAMもついでに大丈夫みたいです
i