まずは前回、PASOPIAのシリアルインターフェース PASOPIA232C の続きから。
当時のシリアル通信、RS-232Cの主なコネクタの形状はDsub25ピンだった。これを現代のパソコンにつなごうとするとDsub9ピン(EIA-574)かそれをUSBに変換するUSBシリアルケーブルを使うことになる。これが結構煩雑で途中にクロス変換やジェンダーチェンジャーが必要になることがある。PASOPIA232Cはストレートとクロス接続をスライドスイッチで切り替えるのでクロス変換は不要だがそれでもこんなかんじになる。
そこでCISCOルータとのコンソール接続に使われるRJ45コネクタを使ったシリアル通信を流用することにした。RJ45-8P8Cのジャックなら通常のLANケーブル(CAT5以上の全結線)が使えて取り回しも楽になるはず。
以下はCISCOのコンソールポートに関する資料:
これらの資料によると、CISCOルータ側のコンソールポートであるRJ45ジャックのピンアサインは以下のとおり。
1 - RTS
2 - DTR
3 - TXD
4 - DCD
5 - GND
6 - RXD
7 - DSR
8 - CTS
このピンアサインはうまくできていて、逆順だとシリアル通信のクロス接続になる。これはLANケーブルのクロス接続とは異なり、ストレートに対してロールオーバーと呼ばれている。
さてこのルータ側にあるコンソールポートはDTEかDCEか?
これ以前のルータはコンソール接続にDsub9ピンオスのコネクタが使われていた。これがコストダウン目的かRJ45のコンソールポートに変化した。PCとの接続はクロスケーブルだったはずで、そうなるとこのピンアサインはDTEになるはずだが決め手となる文書が見つからない。
ということでPASOPIA232Cを元にRJ45コネクタに変更したPASOPIARJ45Sを作ってみた。この基板はRJ45コネクタを2つ搭載し、ストレートとロールオーバーに対応させている。
使用部品:
※PASOPIA232Cと同じく接続にはDIP CABLE(16P)が必要
これをUSB-RJ45変換のコンソールケーブルを使用して接続する。互換品はたくさんある。
RTSが1番ピンのJ2コネクタに接続したら通信できた。これがコンソールポート相当になる。
さてこのRJ45-USBケーブルは、パソコン側にDsub9ピンオスのシリアルポートがあれば以下のRJ45-Dsub9メスケーブルと同等。
ピンアサインは以下のとおりでRJ45のRTS-1番ピンに対応するのがDsub9の8番ピン、CTSに接続されている。つまりこれらのコンソールケーブルはRS-232Cのクロスケーブルになる。ということはPASOPIARJ45SのJ2コネクタはDTEということになる。
さて以上をふまえてもうちょっと一般的なものを作ってみますよ。Dsub25オスをRJ45コネクタ2つに変換するDSUB25RJ45S 、昔のPCなどの本体側に直接接続しLANケーブルを使って通信する。
確認したとおりRTSが1番ピンのRJ45コネクタで通信できた。
ここで使った機器は東芝のMSX、PASOPIA IQ HX-22で当時のMSXとしてはめずらしくRS-232Cインターフェースを内蔵している。MSXでRS-232Cを使用するには拡張BASICが必要となり、それも内蔵している。以下の操作で接続先PC側のTeraTermと通信できた。
call comini("0:8N1NNNNN",9600,9600,30)
call comterm("0:")
call comterm("0:")
↓こういうのもあるのでテスターで調べてもよかったんですけどね















































