USB Mouse to X68k 変換機

前回は USB キーボード変換器を作りましたが、今回は更にマウス変換器も作りました。前回作るのは余裕みたいなことを書きましたが、やはり余裕でした(`・ω・´)
たまたま、「X68000 Inside」を古本屋でゲットしていたので、データ形式とかは分かります。あとは、「X68030 Inside/Out」もあるので回路すら余裕です。
そのうち、回路図とか出します。
あまり作る気がなかったのですが、キーボードの端子にマウスのラインが1本混じっていることがわかり、○い形状のコネクタが追加で必要ないと。
回路は簡単です。キーボードのコピペです。違いは通信速度が 4800、Stop bit 2 と、マウスの通信タイミングライン MSCTRL です。
キーボードのコネクタから来ているマウスの MSDATA は、マウス専用コネクタの信号1本が足りない状態なので、KYTXD で来るデータをキーボードの PIC でその1本を追加で生成します。PIC の pin からON-OFF出力するだけです。
マウスの方はその信号が L/H か判断して、タイミングを合わせてシリアル送信します。
・マウスコネクタ
1:5V, 2:MSCTRL, 3:MSDATA 4:GND, 5:GND
・キーボードコネクタ
1:5V, 2:MSDATA, 3:KYRXD, 4:KYTXD. 5:KYREADY, 6:KYRMT, 7:GND
MSCTRL がないですよね。これはキーボードの TXD から受信して作ります。MSDATA は内部で完全にショートしているので両方のコネクタどちらか1つしか使ってはいけません。
さて、問題は動くマウスと動かないマウスがあることです。というか、ほとんど動かない。これは PICのサンプルがそうなっているせいだと思うので、私には修正不可能。
ざっと見、お高いやつほど動いている感じ。メーカー名書いてますが、当然型名依存かと。
・DELL:おk
・BUFFALO:△× 20秒くらいでフリーズ
・ELECOM:移動量0。移動しているのはわかるが距離が不明。
・500円のArvel:うんすん。
(後日1000円くらいで買ってきたBuffaloのマウスが問題なく動きました。常に使うマウスをこれにすることにします。Buffaloなら動く可能性大かも。OEMポイのがあるのかわかりませんが。
Windows はこれらのマウスの動作を1つのドライバで対応しているのでしょうか。よくわかりませんが、マウスの通信規格が色々あるぽい? キーボードは2つ検証で同じなんですが。
とりあえず現物の写真だけ。回路とかは同じなので。
市販の切替器に入れるとマウスとキーボードが1つになって、ハブ扱いになるので PICでは扱えません。切替器に入れる前に手動で切り替えます。
差動双方向 48Mbps? 4052で切り替えてみたのですがちょっとだけ反応するくらいなので、USB2.0 なのかもしれません。1.0が1.1Mbpsでしたっけ?
右:手動切替器、左:キーボード・マウス USB HOST それぞれで2つの PIC。
DSC_0832.jpg
DSC_0840.jpg
あと、X68k側の電源の話になるのですが、このキーボードに来ている電源、Vcc2となっておりまして、電源を切っても供給されている待機電源です。
X68k の電源修理で一番厄介なのがこの Vss2。結構壊れているらしく、なぜかといえばコンセントに刺さっている限り動き続けているからです。そして当然ファンが回っていないのと、レギュレータが回路の真横にあります。熱対策なのかパンツ履いてます。
ですから、PIC 回路の方で電流を使っていると壊れやすくなるので、できるだけコンセントから電源を切るか、キーボードのケーブル自体を抜くかした方がいいと思います。クロック半分にしちゃうとかね。
私は、PICの方に RJ-45 LANコネクタを使っているので抜き差しは余裕ですが、この作ったもの以外も電源はどこかで使っているので、結局コンセントから切った方がいいです。時計やSRAMはちゃんとバッテリーバックアップですから問題ありません。
いい加減 PICを2つと LEDと、キーボード・マウス。いったいどのくらい電流を使っているのか気になります。作った基盤にジャンパスイッチでも付けて電流を測らないと気持ちが悪いです。つけるのが面倒臭い(´・ω・`)