
コンピュータへの最も基本的な外部接続の1つと見なされているシリアルポートは、20年以上にわたってほとんどのコンピュータに不可欠な部分です。新しいシステムの多くはUSB接続を優先してシリアルポートを完全に廃止しましたが、一部のプリンタ、PDA、デジタルカメラと同様に、ほとんどのモデムは依然としてシリアルポートを使用しています。3つ以上のシリアルポートを備えたコンピュータはほとんどありません。
基本的に、シリアルポートは、モデムなどのデバイスをコンピュータに接続するための標準のコネクタとプロトコルを提供します。ハウスタッフワークスのこの版では、パラレルポートとシリアルポートの違い、各ピンの機能、およびフロー制御について学習します。
- UARTが必要
- シリアル接続
- 流れに乗る
UARTが必要

シリアルポートは何十年も前から存在しているため、現在使用されているすべてのコンピュータオペレーティングシステムはシリアルポートをサポートしています。パラレルポートは最近の発明であり、シリアルポートよりもはるかに高速です。USBポートはほんの数年前のものであり、今後数年間でシリアルポートとパラレルポートの両方を完全に置き換える可能性があります。
「シリアル」という名前は、シリアルポートがデータを「シリアル化」するという事実に由来しています。つまり、1バイトのデータを受け取り、そのバイトの8ビットを一度に1つずつ送信します。利点は、シリアルポートが8ビットを送信するために1本のワイヤしか必要としないことです(パラレルポートは8を必要とします)。欠点は、8本のワイヤーがある場合よりもデータの送信に8倍の時間がかかることです。シリアルポートはケーブルコストを下げ、ケーブルを小さくします。
データの各バイトの前に、シリアルポートは値0のシングルビットであるスタートビットを送信します。データの各バイトの後に、バイトが完了したことを通知するためにストップビットを送信します。また、パリティビットを送信する場合もあります。
通信(COM)ポートとも呼ばれるシリアルポートは双方向です。双方向通信により、各デバイスはデータの受信と送信を行うことができます。シリアルデバイスは、異なるピンを使用してデータを送受信します。同じピンを使用すると、通信が半二重に制限されます。つまり、情報は一度に一方向にしか移動できません。異なるピンを使用すると、情報が一度に両方向に移動できる全二重通信が可能になります。
シリアルポートは、正常に機能するために、特別なコントローラーチップであるUniversal Asynchronous Receiver / Transmitter(UART)に依存しています。 UARTチップは、コンピュータのシステムバスのパラレル出力を受け取り、シリアルポートを介して送信するためにシリアル形式に変換します。より高速に機能するために、ほとんどのUARTチップには、16〜64キロバイトのバッファが組み込まれています。このバッファにより、チップはシリアルポートに出て行くデータを処理している間、システムバスから入ってくるデータをキャッシュすることができます。ほとんどの標準シリアルポートの最大転送速度は115Kbps(キロビット/秒)ですが、拡張シリアルポート(ESP)やスーパー拡張シリアルポート(スーパーESP)などの高速シリアルポート、460Kbpsのデータ転送速度に達することができます。
シリアル接続

シリアルポートの外部コネクタは、9ピンまたは25ピンのいずれかです。もともと、シリアルポートの主な用途は、モデムをコンピュータに接続することでした。ピン割り当てはそれを反映しています。モデムが接続されているときに各ピンで何が起こるかを詳しく見てみましょう。
9ピンコネクタ:
- キャリア検出-モデムが機能している電話回線に接続されているかどうかを判別します。
- データの受信-コンピュータはモデムから送信された情報を受信します。
- データの送信-コンピュータはモデムに情報を送信します。
- データ端末の準備完了-コンピュータは、モデムに通信の準備ができていることを通知します。
- 信号接地-ピンは接地されています。
- データセットの準備完了-モデムは、コンピュータに通信の準備ができていることを通知します。
- 送信要求-コンピュータはモデムに情報を送信できるかどうかを尋ねます。
- Clear To Send-モデムは、情報を送信できることをコンピュータに通知します。
- 呼び出し音インジケータ-呼び出しが行われると、コンピュータは呼び出し音が検出されたという信号(モデムから送信された)を確認します。
25ピンコネクタ:
- 使用されていない
- データの送信-コンピュータはモデムに情報を送信します。
- データの受信-コンピュータはモデムから送信された情報を受信します。
- 送信要求-コンピュータはモデムに情報を送信できるかどうかを尋ねます。
- Clear To Send-モデムは、情報を送信できることをコンピュータに通知します。
- データセットの準備完了-モデムは、コンピュータに通信の準備ができていることを通知します。
- 信号接地-ピンは接地されています。
- 受信回線信号検出器-モデムが機能している電話回線に接続されているかどうかを判別します。
- 未使用:送信電流ループリターン(+)
- 使用されていない
- 未使用:電流ループデータの送信(-)
- 使用されていない
- 使用されていない
- 使用されていない
- 使用されていない
- 使用されていない
- 使用されていない
- 未使用:現在のループデータを受信(+)
- 使用されていない
- データ端末の準備完了-コンピュータは、モデムに通信の準備ができていることを通知します。
- 使用されていない
- 呼び出し音インジケータ-呼び出しが行われると、コンピュータは呼び出し音が検出されたという信号(モデムから送信された)を確認します。
- 使用されていない
- 使用されていない
- 未使用:受信電流ループリターン(-)
ピンを介して送信される電圧は、オンまたはオフの2つの状態のいずれかになります。オン(バイナリ値「1」)は、ピンが-3〜-25ボルトの信号を送信していることを意味し、オフ(バイナリ値「0」)は、ピンが+ 3〜 +25ボルトの信号を送信していることを意味します。
流れに乗る

シリアル通信の重要な側面は、フロー制御の概念です。これは、あるデバイスが別のデバイスにデータの送信をしばらく停止するように指示する機能です。コマンドRequestto Send(RTS)、Clear To Send(CTS)、Data Terminal Ready(DTR)、およびData Set Ready(DSR)は、フロー制御を有効にするために使用されます。
フロー制御がどのように機能するかの例を見てみましょう。56Kbpsで通信するモデムがあります。コンピュータとモデム間のシリアル接続は115Kbpsで送信されますが、これは2倍以上の速度です。これは、モデムが電話回線を介して送信できるよりも多くのデータをコンピュータから取得していることを意味します。モデムにデータを格納するための128Kバッファがある場合でも、バッファスペースがすぐに不足し、すべてのデータストリーミングで正しく機能できなくなります。
フロー制御を使用すると、モデムは、モデムのバッファをオーバーランする前に、コンピュータからのデータのフローを停止できます。コンピューターは、Request to Sendピンで常に信号を送信し、Clear toSendピンで信号をチェックしています。Clear to Send応答がない場合、コンピューターはデータの送信を停止し、Clear toSendを待ってから再開します。これにより、モデムはデータの流れをスムーズに保つことができます。