RS232Cとクロスケーブル
2023.11.19
PC/AT機のDsub9ピンRS232C端子(厳密にはRS232Cではないとかは置いておくとして)同士を直結するときの結線はどうあるべきか。
例えばlinuxのシリアルコンソールにHWフロー制御ありで接続するときはどういう結線であるべきなのかということ。
というのは、調べたところ、クロス(リバース)ケーブルと呼ばれるものにいくつか種類があるようだ。
基本的にはTXD/RXDがクロスしてて、GNDがつながっていればフロー制御とかしなければどれでもいいわけだが。
まずDsub9のピンアサインと機能について。
※IOは本体基準
・インターリンクケーブル
サンワサプライだとインタリンク用シリアルクロスとパッケージ表記。
https://www.sanwa.co.jp/product/syohin?code=KR-LK2
エレコムだとシリアルリバースとパッケージ表記。
https://www.elecom.co.jp/products/C232R-915.html
なんの変哲もない完全なクロス。
・家に転がってた謎のクロス
基本的には上記インターリンクとほぼ同様。DTR出力がDCDにも接続されている点がことなる。
つまり、対向の電源が入っていれば、キャリア検出状態(≒有効なデータが送られてくる)として認識する。
RTS/CTSは互いの状態を見て制御。
というわけで、上記インターリンク接続に加え、DCDを見ているソフトでもきちんと動いてくれると思われる。ちょっと親切。
・サンワサプライクロス
サンワサプライにはインターリンククロスではないクロスケーブルが存在する。
リバースとパッケージ表記。
https://www.sanwa.co.jp/product/syohin?code=KRS-403XF-07K2
自身のRTS出力が対向のCTSと対向のDCDに入力されている。
RTS/CTS制御は自身の状態で決まる。自身が受信できないとき(つまり受信FIFOが埋まっているときなど)は自身は送信もできない。対向の状態は気にしない。
対向が受信できないとき、キャリア非検出状態として認識する。
対向がRTS/CTS制御しておらず、自身がCTSを見ているときに有効。それって対向と自身の設定があってないだけのような気がするので、用途としては謎。
というわけで、とりあえずPCのRS232C直結するならインターリンク接続でいいんじゃないの、と思われる。
本物のモデムでDCDが"0"のときでもATコマンド送っていいと思われるし、応答も返ってくるはずなので、送受信時にDCDをチェックする必要もないはず。
例えばlinuxのシリアルコンソールにHWフロー制御ありで接続するときはどういう結線であるべきなのかということ。
というのは、調べたところ、クロス(リバース)ケーブルと呼ばれるものにいくつか種類があるようだ。
基本的にはTXD/RXDがクロスしてて、GNDがつながっていればフロー制御とかしなければどれでもいいわけだが。
まずDsub9のピンアサインと機能について。
No | IO | 名称 | 機能 |
1 | in | DCD | Data Carrier Detect。モデムが回線からキャリア(いわゆるピー音)を検出したら"1" |
2 | in | RXD | Recieve Data。受信データ。 |
3 | out | TXD | Transmit Data。送信データ。 |
4 | out | DTR | Data Terminal Ready。電源が入っていれば"1" |
5 | - | GND | Ground。試される大地 |
6 | in | DSR | Data Set Ready。対向側の電源が入っていれば"1" |
7 | out | RTS | Request To Send。対向からこちらにデータを送って欲しいという要求。すなわちこちらが受信できるという状態なら"1" |
8 | in | CTS | Clear To Send。送信許可。対向がデータを受け入れられるときに"1" |
9 | in | RI | Ring Indicator。電話の呼出ベルが鳴っている状態。 |
・インターリンクケーブル
サンワサプライだとインタリンク用シリアルクロスとパッケージ表記。
https://www.sanwa.co.jp/product/syohin?code=KR-LK2
エレコムだとシリアルリバースとパッケージ表記。
https://www.elecom.co.jp/products/C232R-915.html
なんの変哲もない完全なクロス。
・家に転がってた謎のクロス
基本的には上記インターリンクとほぼ同様。DTR出力がDCDにも接続されている点がことなる。
つまり、対向の電源が入っていれば、キャリア検出状態(≒有効なデータが送られてくる)として認識する。
RTS/CTSは互いの状態を見て制御。
というわけで、上記インターリンク接続に加え、DCDを見ているソフトでもきちんと動いてくれると思われる。ちょっと親切。
・サンワサプライクロス
サンワサプライにはインターリンククロスではないクロスケーブルが存在する。
リバースとパッケージ表記。
https://www.sanwa.co.jp/product/syohin?code=KRS-403XF-07K2
自身のRTS出力が対向のCTSと対向のDCDに入力されている。
RTS/CTS制御は自身の状態で決まる。自身が受信できないとき(つまり受信FIFOが埋まっているときなど)は自身は送信もできない。対向の状態は気にしない。
対向が受信できないとき、キャリア非検出状態として認識する。
対向がRTS/CTS制御しておらず、自身がCTSを見ているときに有効。それって対向と自身の設定があってないだけのような気がするので、用途としては謎。
というわけで、とりあえずPCのRS232C直結するならインターリンク接続でいいんじゃないの、と思われる。
本物のモデムでDCDが"0"のときでもATコマンド送っていいと思われるし、応答も返ってくるはずなので、送受信時にDCDをチェックする必要もないはず。
コメント一覧
コメント投稿