この記事ではマイコンで使用されるシリアル通信の基礎知識について解説しています。
シリアル通信とは
特徴
シリアル通信はマイコンとデバイス間でデータを1ビットずつ順番に送信・受信する通信方式です。例えば「0110 0101」というデータがあった場合、1ビットずつ順番に「0」 「1」 「1」 「0」 「0」 「1」「0」 「1」と送信します。
シリアル通信は1本の配線、あるいはプリント基板の配線パターンでデータ伝送できるため、配線が簡単で、低コストというメリットがあります。また通信のタイミングが規定されていれば、データ伝送における遅延やタイミングのズレの影響をほとんど受けないため、比較的長距離のデータ通信にも適しています。
半二重通信と全二重通信
シリアル通信にはデータの送受信を1本の配線で行うか、あるいは送信用と受信用で別々の配線で行うかの2つのパターンがあります。
1本の線でデータの送受信を行う方式を半二重通信、送信と受信を別々の配線で行う方式を全二重通信と呼びます。それぞれにメリット・デメリットがあります。半二重通信はより配線が少なくなるため低コスト化に向いており、全二重通信はデータ通信の効率性が高いため高速通信用途に適しています。
同期通信と非同期通信
シリアル通信にはデータの送受信するタイミングに関して2つの制御方式があります。1つが同期通信、もう一つが非同期通信です。同期通信と非同期通信の大きな違いは、タイミングを制御するためのクロック信号の有無です。
同期通信とは
同期通信ではクロック信号を用いて送信側と受信側のタイミングを同期させます。
データ信号とは別にクロック信号を共有することで、データの送信タイミングと受信タイミングが一致させます。同期通信のメリットは、クロック信号によって高速かつ信頼性の高いデータ通信が可能となることです。一方でデメリットは、データ用の配線の他にクロック信号用の配線を必要とすることが挙げられます。
非同期通信とは
非同期通信は送信側と受信側のクロック信号を同期させずにデータを送受信します。
非同期通信ではデバイス間であらかじめデータの通信速度を規定し、スタートビットとストップビットを使ってデータの開始と終了を示すことでデータ通信のタイミングを制御します。非同期通信のメリットは配線が簡単で、データの送信タイミングの柔軟性が高いことです。一方でデメリットは、スタートビットとストップビットによって余分なデータを送受信する必要があり、それによってデータの伝送効率が低くなることが挙げられます。ちなみに非同期通信は、調歩同期方式と呼ばれることがあります。これはスタートビットとストップビットによって送受信間で足並みを調整することに由来しています。
代表的なシリアル通信
マイコンで使用される代表的なシリアル通信規格としては UART、SPI、I2Cの3つが挙げられます。
UART
UARTは全二重通信であるため送信Txと受信Rxの2つの端子を備えており、マイコンとデバイスのTxとRxが互いにクロスするように配線されます。
また非同期で通信を行うためにUARTではボーレートによって通信速度を規定します。ボーレートの単位は bit per second [bps]となっており、1秒間に何ビットのデータを送信するかを表します。UARTによる通信を行う場合は 9,600bps、あるいは 115,200bpsあたりに設定することが一般的です。UARTの用途はマイコンとPCの通信に使用されるケースが最も多いです。
SPI
SPIは同期制御のためのクロック信号を有しており、数10Mbpsクラスの高速なデータ通信できることが特徴です。
また1つのマイコンで複数のデバイスと通信する、1対多の通信に対応しています。これはマイコンがマスター、周辺デバイスがスレーブの役割となることで、クロックに同期して複数のデバイス制御できるためです。SPIは高速通信が必要な用途、例えばマイコンがプログラムを読み込むためのフラッシュメモリや文字や画像を表示するためのディスプレイとの通信に使用されることが多いです。
I2C
I2Cの正式名称は Inter-Integrated Circuitで、アイ・ツー・シー以外にもアイ・アイ・シーやアイ・スクエアド・シーと呼ばれることもあります。I2Cはクロック信号SCLによってマイコンとデバイスが同期制御されますが、半二重通信のためデータの信号線はSDAの1本だけで構成されています。
I2Cも複数のデバイスと通信でき、センサとの通信に利用されることが多いです。SPIよりも信号線やポート数が少なくて済むため、小型化・低コスト化に適しています。
パラレル通信とは
特徴
シリアル通信と対をなすものとしてパラレル通信があります。パラレル通信は複数のビットを同時に送信する通信方式です。例えば「0110 0101」というデータの場合、マイコンとデバイス間に8本の伝送線路を配線して8ビット分のデータを同時に送信します。
長所
パラレル通信は同時に複数のデータを送信できるため通信速度を高めやすいです。同じクロックで動作する場合、シリアル通信よりも多くのデータを送受信できます。またデータが同じタイミングで送信されるため、受信側の遅延も小さいです。
短所
ただし最近の電子機器ではパラレル通信を利用する場面は少なくなっています。最も大きな理由は電子機器が小型化したことで、配線スペースを確保する余裕がないためです。またパラレル通信は原理的に通信速度を高めやすいと説明しましたが、実際はデータ通信が高速化するほど配線間のタイミング(スキュー)の影響が大きくなり、実用的ではなくなります。このようにパラレル通信は近年の電子回路のトレンドとは相容れない部分が多いため、マイコンはシリアル通信用のインターフェースを備えていることが一般的となっています。
© 2024 T&Mコーポレーション株式会社