Renesas Synergy™

FAQ 1006916 : マイコンに内蔵されているシリアル通信機能で、クロックがあるものとないものがありますが、この違いはどこからくるのでしょうか。

シリアル通信では例えば1バイト・データをビット・データに分解して1ビットずつ送信します。このようにして送信されたデータを受信側では元のデータに再構成する必要があります。この際、送られてきた信号のどこが有効なデータなのか、どこからどこまでがまとまり(バイト・データ)なのが分からないと元のデータに戻せません。



(a)同期式通信
どこが有効なデータかを示す簡単な方法はそのための信号を同時にやり取りすることです。このための信号が(シリアル)クロック信号です。下記の同期通信の例のようにクロックの立ち下がりでシリアル・データを変化させるようにしておけば、クロックの立ち上がりでは正しいデータを取り込むことができます。



これで正しいデータ(ビット)の位置が明確になりましたが、これを「ビット同期が取れた」と表現します。このように、クロック信号をやりとりすることでビット同期をとる通信方式を(クロック)同期式通信と呼びます。通常、マイコンに内蔵されている同期式通信機能ではデータを転送するときだけクロックをやりとりしています。このため、起動の順番を間違えなければ、どこがデータの先頭で、どこまでが1キャラクタのデータかが明確(これをキャラクタ同期やバイト同期などとよびます)になります。
この方式では、転送速度はデータと同時にやり取りされるクロック信号で決まるために比較的転送速度を自由にかつ高くできます。しかし、クロックをやり取りするため、クロックの受け取りを1つでもミスすると、データがずれてしまうことになります。このため、送信されているデータの途中から受信を開始した場合等には、データのビット位置がずれてしまい、その後は正しいデータの再生(受信)はできなくなります。これを避けるには通信の途切れたところでシリアル・コントローラを初期化する必要があります。「ハンドシェイク」も参照ください。

【備考】
一般的な通信方式としての同期式通信の場合にはクロックは連続しています。従って、どこからどこまでがデータなのかを判別することができません。この対策として、同期キャラクタをやり取りすることでキャラクタ同期をとり、どこからどこまでがデータかを明確にしています。この方式ではデータを転送していないときは同期キャラクタが転送されています。このように、同じ同期通信でも動作が異なります。

(b)調歩同期通信(非同期通信)
シリアル・クロックを用いることなく、データのやり取りを行う通信方式として、調歩同期通信(非同期通信)があります。この方式では、データ信号だけをやりとりするので、送信側と受信側で前もって転送速度を合わせておく必要があります。これで、データ(ビット)の間隔は決まりますが、これだけではどこが正しいデータかのタイミングは分かりません。



データ信号そのものから正しいタイミングを再生するためにデータ部以外にタイミングを決定するための部分が必要になります。このためにスタート・ビットやストップ・ビットと言った制御部が信号に付加されてやりとりされます。



上図のように、スタート・ビットが頭に付加されることで、信号の先頭が明確になり、ビット同期とキャラクタ同期を取ることができます。また、各キャラクタのスタート・ビットを有効にするためにはデータの最後にストップ・ビットを付加してデータ完了で一旦シリアル・データをハイにし、通信データがない状態ではハイを保持する必要があります。
受信側はスタート・ビットを正しいタイミングで検出するためには、ビット間隔よりも短い間隔でシリアル・データを監視する必要があります。このために、通信速度を同期通信程高速にすることができません。
なお、スタート・ビットとデータが0のビットとに基本的に差はありません。そのため、送信されているデータの途中から受信を開始した場合には間違えたデータを受信してしまいます。この場合には、1キャラクタ分のデータがない部分が途中あれば、それ以降は正しく受信できるようになります。

【備考】
基本的に調歩同期通信では、送信側と受信側で転送速度を合わせておく必要があります。しかしながら、通信の頭で特定のデータ(通常は55H)を送ることで、転送レートの合わせこみを行うことができます。受信側で、シリアル・データの信号幅をタイマ・カウンタで測定して転送速度を求めることもできます。また、9600ボー/19200ボー/38400ボーのように使用される転送速度がある程度限られている場合には、可能性のあるもっとも高速の転送速度で受信します。受信したデータの個数とデータの値から転送速度を類推します。

 

適用製品

RL78 ファミリ
78K ファミリ
他にご質問がございましたら、リクエストを送信してください