PC-G850V用USBシリアルコンバータの製作
ポケコン用のUSBシリアルコンバータを作ってみました。設計するに当たり、PC-G850Vの11ピンコネクタに直結できる仕様としましたが、同時にアダプタを挟むことで他のポケコン(CASIOの30ピンコネクタ、SHARP PC-13xx/14xxの15ピンコネクタ)にも接続できるようにすることを目標にしてみました。そこで問題となるのが各信号の論理(極性)です。一般的にRS-232C準拠のシリアルポートは負論理("L"(低電位)で"1", "H"(高電位)で"0"を表す)が使用されることが多いのですが、SHARPのものはほとんど正論理("L"で"0", "H"で"1"を表す)となっています。今回もUSB-シリアルの変換にはFTDIのFT232RLチップを搭載した秋月のモジュール(VX-3/VX-4用のUSB-シリアルコンバータの製作でも用いました)を使用しましたが、FT232RLチップには信号ごとに論理を反転することができる機能があります。しかし、これは内部のEEPROMを書き換えなければならず、接続相手によって動的に切り替えるのは困難です。そこで、ロジックICの74HC86(XORゲート)を使用して動的に切り替えられるように設計しました。回路図は下のとおりです。

ちなみにPC-G850Vの11ピンコネクタの信号線は下記のようになっています。
1:NC
2:Vcc
3:GND
4:BUSY/RTS
5:Dout/DSR
6:Xin/RD(RxD)
7:Xout/SD(TxD)
8:Din/CD
9:ACK/CTS
10:DTR
11:CI
このUSBシリアルコンバータの11ピンコネクタにはPC-G850Vと直結して動作するように各信号線を接続していますが、このうちTxD, RxD, CTS, RTS, DTR, DSRについては1番ピン(INV信号)に"H"を入力すると正論理・負論理が切り替わるようになっています。このINV信号はR1でプルアップされていますので、PC-G850Vと接続した場合には(PC-G850Vの11ピンコネクタの1番ピンはNC(未接続)となっているため)"H"を入力したのと同じことになり、各信号は反転され正論理に切り替わります(FT232RLは初期設定ではすべて負論理で動作するようになっています)。これに対し、負論理で使用したい場合はINVをGNDに接続することによって対応します。あと、簡単に回路について補足しておきますと、R2-R5は誤接続から保護するための電流制限抵抗です。CTSがオープンの場合はRTSがR7を通して入力されます。DSRがオープンの場合は、INVやSW2, SW4の設定にもよりますが、FT232RLの#DSR入力には"L"が入力されます。今回は試作品のため、ジャンパSWで機能を切り替えることができるようになっていますが、以下に示しておきます。
SW1:74HC86への電源供給
PC で11ピンコネクタ側、USB でUSBコネクタ側、デフォルトは USB
SW2:DSR入力の論理反転制御
すべてオープンで反転なし(負論理)、C-PショートでINVに従う、P-Nショートで反転あり(正論理)
デフォルトは C-Pショート(INVに従う)
これはPC-G850VのDTRの仕様がよくわからなかったため切り替えができるようにしましたが、実際はC-P
ショートで動作していますのでこの切り替えジャンパは省略してもよいと思います。省略する場合はC-P
ショートと同様になるように配線し、R9を省略し、R1はもう少し大きな値(470kΩ程度)にしてもよいと
思います。
SW3, SW4:DSR, DTR, DCDの結線切り替え。
デフォルトでは相手のDTRをFT232RLのDCDとDSRに、FT232RLのDTRを相手のDCDとDSRに接続できるようになって
います。RS-232Cはハンドシェイクの考え方がいろいろあり、クロスケーブルの結線方法も何種類かあるよう
なので切り替えられるようにしました。たとえばハンドシェイク信号を全くやり取りしない場合にはそれぞれ
自分のDTRを自分のDSRとDCDに入力することもできるようになっています。このあたりのことはまだまだ勉強
不足なので、今後いろいろなポケコンと接続した場合の動作状況なども見ながら最適な結線方法をみつけてい
こうと思います。だれか詳しい人がいたら教えてください(汗)。
参考までに部品の配置と結線図を載せておきます(部品面からみた図です)。点線部分はジャンパで配線しました。FT232RLモジュールは必ずジャンパJ1の2-3をショートして(I/O電圧を5Vに設定して)ください。

完成図。

PC-G850Vと接続したところ。1番ピン側が上になります。ゆくゆくはケースに納めたいですね。

とりあえず今日はここまで、次回はパソコンとPC-G850Vとの間でプログラムを送受信する方法について書きたいと思います。

ちなみにPC-G850Vの11ピンコネクタの信号線は下記のようになっています。
1:NC
2:Vcc
3:GND
4:BUSY/RTS
5:Dout/DSR
6:Xin/RD(RxD)
7:Xout/SD(TxD)
8:Din/CD
9:ACK/CTS
10:DTR
11:CI
このUSBシリアルコンバータの11ピンコネクタにはPC-G850Vと直結して動作するように各信号線を接続していますが、このうちTxD, RxD, CTS, RTS, DTR, DSRについては1番ピン(INV信号)に"H"を入力すると正論理・負論理が切り替わるようになっています。このINV信号はR1でプルアップされていますので、PC-G850Vと接続した場合には(PC-G850Vの11ピンコネクタの1番ピンはNC(未接続)となっているため)"H"を入力したのと同じことになり、各信号は反転され正論理に切り替わります(FT232RLは初期設定ではすべて負論理で動作するようになっています)。これに対し、負論理で使用したい場合はINVをGNDに接続することによって対応します。あと、簡単に回路について補足しておきますと、R2-R5は誤接続から保護するための電流制限抵抗です。CTSがオープンの場合はRTSがR7を通して入力されます。DSRがオープンの場合は、INVやSW2, SW4の設定にもよりますが、FT232RLの#DSR入力には"L"が入力されます。今回は試作品のため、ジャンパSWで機能を切り替えることができるようになっていますが、以下に示しておきます。
SW1:74HC86への電源供給
PC で11ピンコネクタ側、USB でUSBコネクタ側、デフォルトは USB
SW2:DSR入力の論理反転制御
すべてオープンで反転なし(負論理)、C-PショートでINVに従う、P-Nショートで反転あり(正論理)
デフォルトは C-Pショート(INVに従う)
これはPC-G850VのDTRの仕様がよくわからなかったため切り替えができるようにしましたが、実際はC-P
ショートで動作していますのでこの切り替えジャンパは省略してもよいと思います。省略する場合はC-P
ショートと同様になるように配線し、R9を省略し、R1はもう少し大きな値(470kΩ程度)にしてもよいと
思います。
SW3, SW4:DSR, DTR, DCDの結線切り替え。
デフォルトでは相手のDTRをFT232RLのDCDとDSRに、FT232RLのDTRを相手のDCDとDSRに接続できるようになって
います。RS-232Cはハンドシェイクの考え方がいろいろあり、クロスケーブルの結線方法も何種類かあるよう
なので切り替えられるようにしました。たとえばハンドシェイク信号を全くやり取りしない場合にはそれぞれ
自分のDTRを自分のDSRとDCDに入力することもできるようになっています。このあたりのことはまだまだ勉強
不足なので、今後いろいろなポケコンと接続した場合の動作状況なども見ながら最適な結線方法をみつけてい
こうと思います。だれか詳しい人がいたら教えてください(汗)。
参考までに部品の配置と結線図を載せておきます(部品面からみた図です)。点線部分はジャンパで配線しました。FT232RLモジュールは必ずジャンパJ1の2-3をショートして(I/O電圧を5Vに設定して)ください。

完成図。

PC-G850Vと接続したところ。1番ピン側が上になります。ゆくゆくはケースに納めたいですね。

とりあえず今日はここまで、次回はパソコンとPC-G850Vとの間でプログラムを送受信する方法について書きたいと思います。
※本サイトで紹介する内容は、すべて個人的研究の範囲内で行っていることです。ここに書かれた内容を実行したことによる、データ(クラウド上を含む)・ソフトウェア・ハードウェアの障害および金銭的損害について、私が責任を負うことはできません。重要なデータはあらかじめバックアップを行い、内容を十分に理解したうえで、ご自身の責任の下で行ってください。 |
- 関連記事
-
- PC-G850VとPCとの間でプログラムを転送する (2012/10/08)
- PC-G850V用USBシリアルコンバータの製作 (2012/10/06)
- PC-1260の16KB化完了! (2012/10/03)
スポンサーサイト