小ネタ 2005-004
ULA(Mini EZ-USB)と仮想COMポートドライバを使ったGBA-PC間のシリアル通信
最近、Cypress社のUSBチップEZ-USBを使用した趣味のUSB機器開発の勉強がてら色々と試している。勉強用には「Mini EZ-USB」(Optimize)というキットを使用している。
EZ-USBチップはRS-232C機器をUSB接続するという応用が可能で、実際に携帯電話とPCを接続するUSB-PDC等の一般に市販されてる製品にもEZ-USBチップが使われていたりする。Mini EZ-USBを使って仮想ポートでこれを実現する例がオプティマイズのサイトで公開されているのを見つけたので、ゲームボーイアドバンスとのシリアル通信に使えないかどうか試してみることにした。
1. ハードウェアの準備
USBシリアル変換を行うためのMini EZ-USB用の電子回路の配線方法が上記のサイトで公開されている。それを見ると、GBAとの接続をする場合には「USB Linker Advance(ULA)」と同じ配線のままで良さそうである。
今回は使用した回路は、この回路図の物を用いた。
GBAとPCをULA(USB Linker Advance)で接続
2. ソフトウェアの準備
3. 動作方法
以下の手順で動作させた。
(1) ULAとGBAをPCに接続する。(このときEZ-USBのドライバが入っていない場合にはインストールしておくこと)
(2) ULAtermを実行する。初回の実行時には「HidComInstを実行してドライバをインストールしてください。」という表示が出て終了する。
(3) HidComInstを実行して、仮想COMドライバをインストールする。これは初回のみで、次回からは(3)の手順は不要。
(4) 再度、ULAtermを実行する。
(5) GBAにtest terminalの入ったフラッシュROMカートリッジをセットして、電源を入れる。
(6) これでPC→GBAの通信と、GBA→PCの通信ができる。GBAからはAボタンとBボタンでA,Bを送信できる。
(7) PC側でESCキーを押すと、ソフトが終了する。あとは、このソフト以外のハイパーターミナルなどでも通信ができる。
PCでソフトULAtermを動作させ、GBA側test terminalと通信したところ