MC6802シングルボードコンピューター その4 ~USBキーボード接続~

MC6802

MC6802シングルボードコンピューターにMC6847ビデオボードがついてスタンドアロンコンピューターっぽくなってきたので、USBキーボードをつないで さらにスタンドアロンコンピューターっぽくしていきたいと思います。

USBキーボードをシリアル通信化する「USBかんたんホスト」

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

かんたんUSBホスト(HIDキーボード用)をつくりました - q61.org blog
自作ガジェットに簡単にUSBキーボードを接続できる「かんたんUSBホスト」の紹介です。バーコード・QRリーダー等の互換デバイスもつながります。機能紹介に加え、詳細な説明書もあります。

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

USBキーボード→UART変換「かんたんUSBホスト」
USB キーボードの入力をUART(シリアル)に変換するモジュールです。 ShiftキーやCapsLock等の処理を行った後の文字のASCIIコードを出力するので、 Arduino等のマイコンボードにも簡単にキーボード入力を追加できます。 ...
かんたんUSBホスト(HIDキーボード用) - 黒井電波 on booth - 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は装備してないです。

GitHub - kuninet/eazyUsbHostToSBCBUS
Contribute to kuninet/eazyUsbHostToSBCBUS development by creating an account on GitHub.

妄想した回路図は、上記のような感じ。そのうちプリント基板化とかしてみたいと考えています。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端子入力対応を実施したいと思います。

コメント