MC6802シングルボードコンピューターにMC6847ビデオボードがついてスタンドアロンコンピューターっぽくなってきたので、USBキーボードをつないで さらにスタンドアロンコンピューターっぽくしていきたいと思います。
USBキーボードをシリアル通信化する「USBかんたんホスト」
以前 MSXっぽくZ80マイコンを動かすためにPS/2キーボードをATmegaで動かしたり、HRA!さんのラズパイピコのUSBインターフェースとかでつないだりしていましたが、今回のMC6802シングルボードコンピューターはMIKBUGやUniversal Monitorが前提としているシリアル通信ができると便利なのです。

その希望にドンピシャな基板「USBかんたんホスト」を作られている方がいらっしゃいまして、スイッチサイエンスとかBOOTHで頒布されています。


USB-Aのソケットと電源や出力端子というシンプル構成で、しかもDIP 24ピンのICソケットと同じサイズということでユニバーサル基板にも実装しやすいものとなってます。「わかってらっしゃる」という感じ。しかも、デフォルトでは USBキーボードをつなぐと 9600bpsのシリアル通信で文字コードを送ってくれるという今回のMC6802シングルボードコンピューターの仕様にバッチリ合います。
詳細な取り扱い説明書もありまして、読んでみるとほかにもたくさんの機能もありまして、いろいろと設定を変えたりもできるみたいです。
パソコンのTeraTermと通信できるか実験
まずは「USBかんたんホスト」にキーボートをつないで、シリアルスピードを9600bpsに設定したTeraTermと通信できるかテストです。
USBかんたんホストにUSBキーボードをつないで ブレッドボードに装着、いつも使ってるUSB-シリアル変換とつないでみました。以下の通り、無事通信OK!!
USBキーボードI/Fボード試作
つぎに、ユニバーサル基板でUSBキーボードのI/Fボードを試作してみることにしました。といっても、SBC68系バスから電源もらって 別端子(01×06ピン)のシリアル経由でMC6802マイコンにつなぐという感じです。
ちなみに、最終形態を妄想(w してgithubにも資料をUPしました。ユニバーサル基板では、ここまでいろいろな設定用ジャンパやLEDは装備してないです。
妄想した回路図は、上記のような感じ。そのうちプリント基板化とかしてみたいと考えています。SBC8080系バスとSBC68系バスの両対応にしようとか野望をもって回路を引きましたが、まだバグバグだと思われます。
ちなみに上記の回路図には間違いがありまして、USBかんたんホストの「Tx(送信)」をシリアル端子の「Rx(受信)」につないでますが、正しくはシリアル端子の「Tx(送信)」につなぐべきでした。(この基板はマイコンへ送信する基板なので…)
いつものマイコン側の回路図のノリで引いたので間違いがありました。
今回はシンプルに電源関係と「USBかんたんホスト」側からの送信(Tx)やGNDだけをつないでみます。
以下のようにMC6802シングルボードコンピューターのシリアル端子にも無事データが入力されまして、Universal MonitorへUSBキーボードから入力できるようになりました!! スタンドアロンコンピューターにまた一歩近づきました。

高校時代に作りたかったMC6800マイコンはキースイッチを並べてキーボードエンコーダ通してキーボードを作ってそれをパラレル-シリアル変換して MC6820のシリアル経由でMIKBUGへ入力するというかたちをとってましたので、接続する技術は違いますがやってることは同じだったりします。
高校生の自分に「自作マイコンにキーボードつけたぞ!!」と自慢してやりたいですw
今後の対応
さて、MC6802シングルボードコンピューターのシリアル端子がUSBキーボードの入力専用となってしまうと、いままでUniversal MonitorのLコマンドでIntelHex形式のプログラムデータを流し込んでいた操作ができなくなります。
そこで 今後はSBC-IOを増設してシリアル端子をもう一つ装備して、Universal Monitorのドライバなどを改造してシリアル2端子入力対応を実施したいと思います。
コメント