RS232Cとクロスケーブル
2023.11.19
PC/AT機のDsub9ピンRS232C端子(厳密にはRS232Cではないとかは置いておくとして)同士を直結するときの結線はどうあるべきか。
例えばlinuxのシリアルコンソールにHWフロー制御ありで接続するときはどういう結線であるべきなのかということ。
というのは、調べたところ、クロス(リバース)ケーブルと呼ばれるものにいくつか種類があるようだ。
基本的にはTXD/RXDがクロスしてて、GNDがつながっていればフロー制御とかしなければどれでもいいわけだが。

まずDsub9のピンアサインと機能について。

NoIO名称機能
1inDCDData Carrier Detect。モデムが回線からキャリア(いわゆるピー音)を検出したら"1"
2inRXDRecieve Data。受信データ。
3outTXDTransmit Data。送信データ。
4outDTRData Terminal Ready。電源が入っていれば"1"
5-GNDGround。試される大地
6inDSRData Set Ready。対向側の電源が入っていれば"1"
7outRTSRequest To Send。対向からこちらにデータを送って欲しいという要求。すなわちこちらが受信できるという状態なら"1"
8inCTSClear To Send。送信許可。対向がデータを受け入れられるときに"1"
9inRIRing Indicator。電話の呼出ベルが鳴っている状態。
※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をチェックする必要もないはず。
2023.11.19 18:05 | 固定リンク | AT | コメント (0)
コメント一覧
コメント投稿

名前

URL

メッセージ

- CafeNote -