RS-232ピン配列:DB9とDB25の解説
DB9とDB25コネクタのRS-232ピン配列を完全解説。DTEとDCEのピン割り当て、電圧レベル、ケーブル長の限界、基板を破壊するTTL接続の誤りまで網羅。
RS-232シリアルポートは、POS端末、産業用コントローラ、ネットワークスイッチ、実験機器、旧型コンピュータなどで今も使われている。背面のコネクタは通常DE-9(一般にDB9と呼ばれる)かDB25で、ピン配列はデバイスがDTEかDCEかによって異なる。これを間違えるとリンクは動作しない。RS-232を低電圧のTTLヘッダに接続すると、ボードを破壊する可能性がある。
DB9のピン配列
DE-9コネクタは2列に9本のピンを持つ。標準的なPC(DTE)のピン配列は次の通り。
| ピン | 信号 | 方向(DTE) | 用途 |
|---|---|---|---|
| 1 | DCD | 入力 | データキャリア検出 |
| 2 | RXD | 入力 | 受信データ |
| 3 | TXD | 出力 | 送信データ |
| 4 | DTR | 出力 | データ端末レディ |
| 5 | GND | — | 信号グラウンド |
| 6 | DSR | 入力 | データセットレディ |
| 7 | RTS | 出力 | 送信要求 |
| 8 | CTS | 入力 | 送信可 |
| 9 | RI | 入力 | 着信表示 |
ピン5は信号グラウンドで、常に必要となる。ピン2と3がデータを伝送する。TXDはコンピュータからの出力、RXDはコンピュータへの入力である。残りのピンはハンドシェイクとモデム制御線である。最小構成のリンクにはピン2、3、5のみが必要だが、多くのデバイスは送信前にDSRやCTSを待つ。
DB25のピン配列
DB25は25本のピンを持ち、IBM PCや多くのモデムで使われた元祖RS-232コネクタである。DTEのピン配列は次の通り。
| ピン | 信号 | 方向(DTE) |
|---|---|---|
| 2 | TXD | 出力 |
| 3 | RXD | 入力 |
| 4 | RTS | 出力 |
| 5 | CTS | 入力 |
| 6 | DSR | 入力 |
| 7 | GND | — |
| 8 | DCD | 入力 |
| 20 | DTR | 出力 |
| 22 | RI | 入力 |
ピン1と9~19はほとんど未使用か予約済みである。DB9との重要な違いは、TXDとRXDは両コネクタともピン2と3にあるが、ハンドシェイク線が移動することだ。DTRはDB25ではピン20、DB9ではピン4、DSRは両方ともピン6である。DB9-DB25アダプタはこれらを正しくマッピングする必要があり、安価なアダプタがすべてそうしているわけではない。
DTEとDCE:どちらがどちらか
DTEはデータ端末装置を意味し、コンピュータ、端末、コントローラを指す。DCEはデータ通信装置を意味し、モデム、またはモデムのように振る舞うデバイスを指す。上記のピン配列はDTE側から見たものである。DCEデバイスではTXDとRXDが入れ替わり、ハンドシェイクのペアも同様に入れ替わる。
ストレートケーブルはDTEとDCEを接続する。2台のコンピュータなどDTE同士を接続するには、TXDとRXD、RTSとCTS、DTRとDSRおよびDCDを交差させるヌルモデムケーブルまたはアダプタが必要である。信号グラウンドはそのまま通る。ジェンダーチェンジャーはオス・メスのシェルのみを交換し、何も交差させない。
RS-232の電圧レベル
RS-232はシングルエンドで、現代のデジタル回路より高い電圧で反転ロジックを使用する。+3 V~+15 Vの電圧は論理0(スペース)である。-3 V~-15 Vの電圧は論理1(マーク)である。-3 V~+3 Vの領域は未定義で、ノイズとして扱われる。
これらのレベルがRS-232をケーブル上で堅牢にする一方、マイクロコントローラのピンとは互換性がない。TTLまたはCMOSシリアルポートは3.3 Vまたは5 Vで動作し、RS-232ではない。両者を直接接続すると低電圧側が破損する恐れがある。レベルシフタまたはUSB-TTLアダプタが必要で、TTL出力のアダプタはRS-232ではない。コンバータチップとそれに伴うドライバ問題についてはUSBシリアルアダプタ:ドライバ、レベル、落とし穴を参照。
RS-232の伝送距離
規格では19,200ボーで15 m (50 ft)まで許容される。低いボーレートならさらに延長できる。限界はドライバではなくケーブルの静電容量で決まるため、低容量ケーブルは距離を延ばせるが、長いカールコードは延ばせない。それを超える場合や1本の回線に複数ドロップを設ける場合は、差動方式のRS-422とRS-485が代替となる。違いはRS-422 vs RS-485で解説している。
よくあるトラブル
RS-232ポートにTTLを接続。 最も高くつく誤り。3.3 Vまたは5 Vのマイクロコントローラヘッダを実際のRS-232ポートに接続すると、供給範囲をはるかに超える電圧がかかる。低電圧側が破損する恐れがある。接続前にポートがRS-232かTTLかを必ず確認すること。
間違ったケーブルタイプ。 DTE同士をストレートケーブルで接続してもデータは通らない。DTEとDCEの間にヌルモデムケーブルを使っても同様である。リンクが全く動作しない場合、まずケーブルを確認する。
グラウンドの欠落。 2台のデバイスに共通のグラウンド基準がない場合、ピン2と3だけでは不十分である。ピン5(DB9)またはピン7(DB25)を接続する必要がある。
ハンドシェイク線の無視。 デバイスによってはDTRやRTSをアサートし、送信前にDSRやCTSを待つ。3線ケーブルでは死んでいるように見える。コネクタでのループバックジャンパでデバイスを満足させられるが、正しい側に取り付ける必要がある。
偽造アダプタチップ。 USBシリアルアダプタには適切なドライバが必要なコンバータチップが搭載されている。偽造チップは純正メーカーのドライバにブロックされ、ドライバ更新後にアダプタが使えなくなることがある。
DB9とDB25の混同。 2つのコネクタは同じ信号に異なるピン番号を使う。シェルの形状だけを変えるパッシブアダプタは、ピンも再マッピングしない限り動作しない。
シリアルケーブルの選択と確認
両端のコネクタを合わせ、次に配線を合わせる。両端がDTEならヌルモデムケーブルを使う。片端がDCEならストレートケーブルを使う。デバイスが不明な場合は、ブレークアウトボックスや導通テスタでどのピンが接続され、どれが交差しているかを確認できる。
新規設置では、正しいドライバを備えたUSBシリアルアダプタの方が、実ポートを持つPCを探すより簡単なことが多い。元のコネクタを維持する必要がある機器では、正しく配線されたDB9またはDB25ケーブルが依然として正解である。両端にラベルを付け、使用したピン配列を記録しておくこと。あるデバイスで動作するケーブルが、次のデバイスでは異なる配線になっているかもしれない。
よくある質問
RS-232のDB9ピン配列は?
DTEデバイスの場合:ピン1 DCD、ピン2 RXD、ピン3 TXD、ピン4 DTR、ピン5 信号グラウンド、ピン6 DSR、ピン7 RTS、ピン8 CTS、ピン9 RI。データにはピン2、3、5が最低限必要です。
RS-232のDB25ピン配列は?
DTEデバイスの場合:ピン2 TXD、ピン3 RXD、ピン4 RTS、ピン5 CTS、ピン6 DSR、ピン7 信号グラウンド、ピン8 DCD、ピン20 DTR、ピン22 RI。ピン1と9~19はほとんど未使用です。
RS-232の電圧レベルは?
+3 V~+15 Vの電圧は論理0(スペース)です。-3 V~-15 Vの電圧は論理1(マーク)です。-3 V~+3 Vの領域は未定義です。
RS-232はどのくらいの距離まで伝送できますか?
規格では19,200ボーで最大15 m (50 ft)まで許容されます。低いボーレートならさらに延長できます。限界はケーブルの静電容量で決まるため、低容量ケーブルなら距離を延ばせます。
RS-232をマイクロコントローラに直接接続できますか?
いいえ。RS-232は最大+15 Vと-15 Vの電圧を使用しますが、TTLおよびCMOSシリアルポートは3.3 Vまたは5 Vで動作します。直接接続すると低電圧側が破損する恐れがあります。レベルシフタまたはUSB-TTLアダプタを使用してください。
次に読む
ヌルモデムケーブル:配線、アダプタ、ピン配置
ヌルモデムケーブルはTXとRXを交差させ、2台のコンピュータを直接接続します。DB9とDB25のピン配置、アダプタとケーブルの違い、ループバックテストを解説。
パラレルプリンターケーブル:IEEE 1284、DB25、セントロニクス
IEEE 1284準拠のパラレルプリンターケーブルを解説:DB25とセントロニクス36コネクター、ケーブル長の制限、モード、USB-パラレルアダプターが使える場合。
RS-422 vs RS-485:差動シリアル比較
RS-422は1ドライバ対多レシーバ、RS-485は真のマルチポイントバス。距離、速度、終端、配線を比較し、ハードウェアを損傷する要因を解説。