シリアルポート

シリアルポート:1ビットずつ送受信する通信インタフェース



シリアルポートは、データの送受信を1ビットずつ順番に行うシリアル通信用の物理インタフェースです。これは、複数のビットを同時に送受信するパラレルポートとは対照的です。パーソナルコンピュータが普及した時代においては、モデム端末、プリンタなどの周辺機器との接続に広く利用されていました。

近年では、イーサネット、FireWire、USBなどの高速なインタフェースが主流となっていますが、産業用機器、科学機器、POSシステムなどでは、そのシンプルさと安価さから現在でもシリアルポートが多く使用されています。また、ネットワーク機器の診断や設定用コンソールとして利用されることも一般的です。

ハードウェア



シリアルポートのハードウェアは、大きく分けてUART(Universal Asynchronous Receiver/Transmitter)とビットバンギングの2種類があります。UARTはシリアル通信の制御を担う集積回路であり、データのタイミングや構造を自動的に処理します。一方、ビットバンギングはCPUを用いて直接シリアル通信を制御する方法であり、低コストのシステムで採用されることがありました。

初期のホームコンピュータでは、RS-232規格と互換性のない独自のシリアルポートが用いられることも多く、デバイス間の相互運用性が低いという問題がありました。しかし、LSI技術の発展により、安価で高性能なUARTが普及し、互換性の問題も徐々に解消されていきました。

現在では、低価格プロセッサの普及により、USBやFireWireといったより高速で複雑なシリアル通信規格が主流となっています。これらの規格は、大容量データの転送に適しており、マスストレージやAV機器などの接続に広く利用されています。

多くのマザーボードには、今でも最低1つのシリアルポートが搭載されていますが、小型システムやラップトップではスペースの都合上、RS-232コネクタが省略される場合もあります。

DTEとDCE



シリアルポートの接続には、DTE(Data Terminal Equipment)とDCE(Data Circuit-terminating Equipment)の2種類のデバイスがあります。DTEはコンピュータ端末などのデータ送信元、DCEはモデムや周辺機器などのデータ受信元です。通常、DTEとDCEはストレートケーブルで接続されますが、2つのDTEを接続する場合は、クロスオーバーケーブルやヌルモデムアダプタが必要です。

コネクタ



シリアルポートのコネクタとしては、DB-25、DE-9、フォーンジャックなどが使用されます。DB-25はRS-232規格で最初に定義されたコネクタですが、よりコンパクトなDE-9が主流となりました。小型機器では、フォーンジャックが使用されることもあります。

IBM PC/AT以降の多くのIBM互換PCでは、9ピンDE-9コネクタが使用され、TIA-574規格として標準化されました。近年ではモジュラコネクタ(8P8C)も使用されており、EIA/TIA 561規格やYost規格でピン割り当てが規定されています。NEC PC-9800シリーズではDB-25メス型コネクタが、MacintoshではMini-DINコネクタが使用されました。

ピンアウト



RS-232規格では20個の信号線が定義されていますが、実際には必要な信号線だけを使用することが一般的です。代表的な信号線としては、TXD(送信データ)、RXD(受信データ)、GND(接地)、RTS(送信要求)、CTS(送信クリア)、DTR(データ端末準備)、DSR(データセット準備)、DCD(データキャリア検出)、RI(リング指示)などがあります。

ハードウェア抽象化



オペレーティングシステムでは、シリアルポートを抽象化して扱うことで、ハードウェアの詳細を隠蔽しています。Unix系OSでは`/dev/tty*`、MS-DOSやWindowsでは`COM1`、`COM2`などの名前でシリアルポートを参照します。

シリアルポートの用途



シリアルポートは、モデム、プリンタ、マウスなどの周辺機器との接続だけでなく、マイクロコントローラとの通信、産業用機器の制御など、幅広い用途で使用されてきました。また、制御信号を利用して、外部デバイスの監視を行う用途もありました。

設定



シリアル通信には、ボーレート、データビット数、パリティ、ストップビット数といった設定が必要です。UARTを使用する現代のシリアルポートでは、これらの設定はソフトウェアによって制御されますが、古いシステムではハードウェアによる設定が必要な場合もありました。

ボーレート



ボーレートは、1秒間に送信されるビット数を表します。標準的なボーレートとしては、75、110、300、1200、2400、4800、9600、19200、38400、57600、115200bpsなどがあります。

データビット



データビット数は、1文字あたりに送信されるデータビット数を表します。一般的には8ビットが使用されます。

パリティ



パリティは、データの誤りを検出するための手法です。パリティビットを追加することで、データの誤りを検出することができます。

ストップビット



ストップビットは、1文字の終了を示すためのビットです。一般的には1ビットが使用されます。

フロー制御



フロー制御は、データの送受信速度を制御するための仕組みです。ハードウェアフロー制御とソフトウェアフロー制御があります。ハードウェアフロー制御は、RTS/CTSやDTR/DSR信号線を使用し、ソフトウェアフロー制御はXON/XOFF文字を使用します。

仮想シリアルポート



仮想シリアルポートは、ソフトウェアによってシリアルポートをエミュレートする技術です。物理的なシリアルポートが不足している場合や、特殊なシリアル通信を行う場合に役立ちます。Bluetoothデバイスとの通信や、Serial over LAN/Ethernetといった用途にも利用されます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。