RS-232ハンドシェイキング信号の詳細

pp.362-363
非公式訳
2つのデバイス同士で速く確実なデータ転送を行うためには、データ転送の取り決めをしておく必要があります。たとえばプリンターの場合がそうですが、受信側のバッファーに空きがなくてシリアルデータ通信のデータが受けられないときには、データの送信を停止するよう送信側に通知するための手段が必要です。RS-232コネクターの多くの端子は、ハンドシェイキング信号に使われます。それぞれの説明を下に示しますが、この種の信号はAVRのUARTペリフェラルでは処理できません。参考として示しただけですので読み飛ばして構いません。

  1. DTR (data terminal ready、データ端末準備完了):
    端末(またはPCのCOMポート)は、電源が入ってセルフテストを受けたあと、通信の準備ができたことを示すためDTR信号を送信します。COMポートに何か問題がある場合、この信号は有効になりません。この信号はアクティブLowの信号であり、コンピューターが問題なく動作していることをモデムに通知するのに使われます。DTRは、DTE (PCのCOMポート)からの出力端子の1つであり、モデムへの入力信号の1つです。(訳註: DTEはdata terminal equipment)

  2. DSR (data set ready、データセット準備完了):
    DCE (モデム)は、電源が入ってセルフテストを受けたあと、通信の準備が整ったことを示すためDSRをアサートします。したがってこの信号は、モデム (DCE)からの出力であり、PC (DTE)への入力です。これはアクティブLowの信号です。何か理由があってモデムが電話回線と通信できない場合、この信号は無効のままですので、それによって、データの送受信のできないことがPC (または端末)へ伝達されます、(訳註: DCEはdata communication equipment)

  3. RTS (request to send、送信要求):
    DTEデバイス(PCなど)は、送信すべきバイトデータのあるときにRTS信号をアサートすることにより、送信すべきバイトデータのあることをモデムへ伝えます。RTSは、DTEからの出力であり、モデムへの入力であり、アクティブLowの信号です。

  4. CTS (clear to send、送信許可):
    モデムは、受信するデータを格納するバッファーに空きのあるときにRTS信号を受けると、今データが受信できる状態にあることを示すためDTE (PC)にCTS信号を送信します。DTEへの入力であるこの信号は、DTEが送信を開始する手段として使われます。

  5. DCD (data carrier detect、データ搬送波検出):
    モデムはDCD信号をアサートすることにより、有効なキャリアが検出されたことと、双方のモデム同士の関係が確立されたこととをDTE (PC)へ知らせます。したがってDCDはモデムからの出力であり、PC (DTE)への入力です。

  6. RI (ring indicator、被呼表示):
    モデム(DCE)からの出力でありPC (DTE)への入力であるこの信号は、電話のかかってきていることを示す信号です。RIは、着信音に同期してオン、オフを繰り返します。6つあるハンドシェーク信号のなかで一番使われないのがこの信号です。電話への応答はモデムが担うからです。しかし電話への応答をPCが担うシステムの場合は、この信号が利用できます。

以上の説明から、PCとモデムとの通信は次のようにまとめることができます。DTR、DSRの各信号はPCとモデムがそれぞれ使い、それぞれが正常に動作していることを示します。実際にデータフローを制御するのが、RTSCTSの各信号です。PCは、データを送信したいときにRTSをアサートします。それを受けたモデムは、データを受信する余裕のある場合にはCTSを送り返しますが、受信する余裕のないときにCTSを有効にしません。その場合PCはDTRのアサートを解除し、もう一度送信を試みます。RTSCTSは「ハードウェア制御フロー信号」とも呼ばれます。