メディア

USARTって何?(非同期式/同期式のシリアルインタフェース)Q&Aで学ぶマイコン講座(81)(2/3 ページ)

» 2023年05月31日 10時00分 公開

同期式シリアル通信の仕組み

 同期式シリアル通信機能の主な構成要素は、同期用クロックを作る「クロック生成機能」、データを1ビットずつ入出力する「シフター」、送受信データを保管しておく「データレジスタ」です。「クロック生成機能」は1つあれば良いので、送信側もしくは受信側のどちらかにあります。クロックを出力する側をマスターと呼び、クロックを受ける側をスレーブと呼びます。図3に同期式シリアル通信の簡単な構成例を示します。

<strong>図3:同期式シリアル通信の仕組み</strong> [クリックで拡大] 図3:同期式シリアル通信の仕組み [クリックで拡大]

 この図では、クロック生成機能がマイコン側にあります。従って、マイコンがマスターになります。

 マイコンから通信相手にデータと同期用クロックを出力し、通信相手がデータを受信する例を示しています。

 マイコンは、まずデータレジスタの値をシフターに移します。次に、同期用クロックに同期して1ビットずつシフトし、データ線上に出力します。同時に同期用クロックも出力します。受信側は、データ線上のデータを、同期用クロックに同期しながら1ビットずつ受信し、シフターに入れていきます。

 データが8ビットの場合、同期用クロックは8発送られてきます。8発のクロックが送られると受信側のシフターが8ビットデータで満たされます。その8ビットのデータをデータレジスタに移して、シフターは次のデータの受信に備えます。

 この動作を繰り返すことによって、複数ビットのデータを送受信できます。

非同期式シリアル通信の仕組み

 非同期式シリアル通信機能の主な構成要素は、同期式シリアル通信とほぼ同じですが、「クロック生成機能」が送信側/受信側の両方にあります。また、送信側/受信側のクロックは同じ周波数にする必要があります。「シフター」と「データレジスタ」は、同期式シリアル通信と同じ役割を果たします。図4に非同期式シリアルの簡単な構成例を示します。

<strong>図4:非同期式シリアル通信の仕組み</strong> [クリックで拡大] 図4:非同期式シリアル通信の仕組み [クリックで拡大]

 この図は、マイコンから通信相手にデータを出力し、通信相手がデータを受信する様子を示しています。送信前に送信側の内部クロックと受信側の内部クロックの周波数を合わせます。これにより、送信側と受信側の送受信データのビットレベルでのタイミングが合います。

 マイコンは、データレジスタの値をシフターに移し、送信側の内部クロックに同期して1ビットずつシフトして、データ線上に出力します。受信側は、データ線上のデータを、受信側の内部クロックに同期しながら1ビットずつ受信し、シフターに入れていきます。この時、内部クロックのエッジでデータを取り込みます。送信側と受信側のクロック周波数が同じであれば、位相がずれていても問題なく取り込むことができます。この図では、送信側がクロックの立ち下がりエッジ(黒の破線)でデータを送信して、受信側も立ち下がりエッジ(赤の破線)で受信しています。位相がずれていますが、周波数さえ合っていれば問題なくデータを取り込むことができます。

 同期式シリアル通信では、クロックが出力され始めると通信が開始されますが、非同期式シリアル通信では同期用クロックが出力されません。そのため、通信開始と中止のタイミングを示す工夫が必要です。それがスタートビットとストップビットです。

 データ線上のデータは、通信をしていないとき常に1(ハイレベル)を維持していますが、通信を開始する際に1ビット分だけ0(ローレベル)を出力します。このビットをスタートビットと呼び、受信側はスタートビットを検知すると、データ取り込みを始めます。データの送信が終わると送信側は2ビット分の1(ハイレベル)を出力します。これがストップビットです。受信側はストップビットを検知すると、受信を中止します。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.