シリアル通信とは
シリアル通信は、デバイスからデバイスに一度に1ビットずつ情報を送信するデータ送信方法です。 低速デバイスと高速デバイスの両方の帯域幅について、長年にわたってさまざまなシリアル規格が開発されてきました。 データは通常、パラレル通信ではなくシリアル通信を使用して、はるかに長い距離で交換できます。 通常、シリアル通信は、プリンター、端末、カメラをコンピューターに接続するために使用されます。 また、外部ハードドライブ、デジタルビデオディスク(DVD)ドライブ、フラッシュメモリデバイスへのインターフェイスにも使用されます。
シリアル通信では一度に1ビットのデータしか送信されないため、パラレルインターフェイスに比べて必要な配線が少なくなります。 非常に最小限の接続には、データ用の1本のワイヤとグランド基準用の別のワイヤのみが含まれる場合があります。 実際には、多くのシリアルリンクには、複数のハンドシェイク信号と各方向のデータラインも含まれています。 コンピューターと周辺機器の接続に一般的に使用されるユニバーサルシリアルバス(USB)は、4つまたは5つの信号のみを使用し、そのうち2つは電源用です。 推奨される標準(RS)232シリアル接続では、実装に応じて最大20の信号を使用できます。
一般に、信号が少ないと、シリアル通信リンクのクロックが速くなり、長距離でより確実に動作できます。 パラレル通信は、データリンクが長いリンクを一緒に移動するときに、データビット間にスキューまたは干渉を引き起こす可能性があります。 通常、1,000フィート(300メートル)以上のRS 232シリアル接続は、115,200ビット/秒以上で操作できます。 対照的に、USB 2.0リンクは、高帯域幅ストレージデバイスをコンピューターシステムに接続するためによく使用されます。 通常、1秒あたり最大480メガビットでデータを交換できますが、ハブ間のケーブルは16フィート(5メートル)に制限されています。
シリアルリンクを介してデータが送信される場合、レシーバーは各バイトが終了して次のバイトが開始されるタイミングを知る方法を持っている必要があります。 非同期シリアル通信では、送信者は各バイトのビットが送信される前に「開始」ビットを挿入します。 また、開始ビットは内部クロックを同期して、受信したフレームの残りを個々のビットに分解するのに役立ちます。 これは、最も一般的に使用されるRS 232同期方法です。 同期シリアル通信では、個別のクロック信号を使用して、各ビットとバイトがいつ完了するかを示します。
RS 232データ交換を開始する前に、両側のデバイスが同じ数のデータとストップビット、および同じパリティタイプを使用するように設定する必要があります。 8データビット、1ストップビット、パリティなしは、一般的に8N1として表される構成です。 マークまたはスペースパリティが使用されている場合、パリティビットは送信者によってそれに応じて1またはゼロに設定されます。 偶数または奇数のパリティが使用されている場合、パリティビットは、1ビットの総数を偶数または奇数にする値に設定されます。 受信側は、受信したパリティビットがある場合はその値を確認し、予期される値と一致しない場合はエラーを示します。
パリティチェックに加えて、1つ以上のソフトウェアシリアル通信プロトコルを使用して、データ送信エラーから保護することができます。 たとえば、RS 232シリアルリンクを介したコンピューター間のファイル転送には、XMODEMまたはZMODEMプロトコルがよく使用されます。 これらのプロトコルは元々、リンクの両端でダイヤルアップ電話ベースのモデムで使用されるように設計されていましたが、それらなしでも動作します。 各プロトコルには、送信されるデータに対して計算された巡回冗長検査(CRC)チェックサムの検証が含まれます。 モデムが存在する場合、送信中もハードウェアで同様のCRCチェックを実行します。