シリアル伝送では、毎秒何ビット送るかという伝送速度(bps)、データの1単位のビット長など、通信の方式について送信側と受信側が互いに合意している必要があります。そして
受信側は、送信側がデータを送るタイミングに合わせてデータを受信しなければなりません
。もしこのタイミングがずれたら、データを正しく受信できません
。受信側は、送信側が送り出した最初の1ビットから最後の1ビットまでを、最初の1ビットから最後の1ビットとして正しく受信する必要があります。もし最初の何ビットかを読みこぼし、途中のビットから受信を始めたら、受信データは数ビットずれてしまいます。このようなことが起こらないように、送信側と受信側が正しくタイミングを合わせることを「同期」
といいます。同期を取るための一番簡単な方法は、データの信号と並行して、タイミングを合わせるための信号を送ることです。この方法は配線が増えるという問題があるため、距離が離れている通信には実用的ではありません。そこで
伝送データを表す電気信号をうまく利用して、受信用のタイミング信号を受信側で生成
します(図1)。これなら、余計な配線は必要ありません。
非同期制御
調歩同期方式
とも呼ばれます。データをキャラクタ単位(通常7または、8ビット)ごとに区切り
、キャラクタの先頭にスタートビット
、(パリティビット)、終端にストップビット
を付加して同期をとります。通常、データの無いときはストップビット状態になっていて、スタートビットを検出した時点でキャラクタの受信を行います。受信側で文字単位に同期をとることが出来るので、通信異常の際に全てのデータが失われる危険性は少なくなります。キャラクタごとにスタートビット、ストップビットを付加するので、データが大きくなり、高速通信には向きません
。パソコンのシリアルポート(RS-232C)はこの方式で通信します。
キャラクタ単位で区切ったデータごとにスタート/ストップビットを間に挟むことでデータを正確に受信できるが、キャラクタごとに検査用ビットを挟むのでデータが大きくなる。
独立同期方式(SYNC synchronous)
キャラクタ単位で同期をとることからキャラクタ同期
、または単に同期方式、あるいは連続同期方式とも呼ばれます。最初にSYN(SYNchronous idle 同期信号)符号を2個以上送り
、そのあとに、連続してキャラクタを伝送
します。メッセージの最後にはトレイリングパッド
を付けます。非同期方式に比べデータ量が少なくすむため、伝送効率は上がります
が、SYN符号を検出できなかった場合は、より大きな単位でデータを失う危険性
を持っています。基本形データ伝送制御手順(ベーシック手順)で採用されています。
非同期制御よりも噛ませる検査用ビットがない分データ量が少ない。
キャラクタ同期方式 8ビットで構成されるテキストデータの送信に便利でよく利用されている
フレーム同期方式(frame synchronization)
特定のビット列で同期をとることから、
ビット同期方式とも
呼ばれます。データの最初と最後に特定のフラグパターン(HDLCでは01111110のビット列)を付加
して同期をとります。データは、キャラクタ単位でなく任意長
に送れるので、テキストデータ以外の伝送、および高速通信に適しています
。フラグパターンとデータを区別するために5つ連続した1の後に0を挿入します。HDLC手順で採用されています
データの大きさが任意調なのでテキスト以外のデータに向いている。
高速通信はなんでできるんだ?
フラグ同期方式 送信するビットは何ビットでも構わない。
感想
CSMA/CDでコリジョン、タイミングを合わせて、同期制御でフレームを正確に送れるようにする