UART(Universal Asynchronous Receiver Transmitter)はマイコンに組み込まれた機能の1つで,他のマイコンや周辺機器との通信規格の1つです.
非同期式シリアル通信のため,配線が少なくすみます.
ここではUARTの通信の仕組みについて解説していきます.
UARTとは?
UART(Universal Asynchronous Receiver Transmitter)は非同期式シリアル通信の1つです.
非同期式というのは,データ伝送のタイミングを揃えない=クロックを使用しない,ということです.
UARTに対して,I2CやSPIは同期式シリアル通信と呼ばれ,クロックを使用してデータのタイミングを揃えています.
そのため,UARTはI2CやSPIと比べて仕組みが単純です.
TXとRX
UARTの通信にはTX, RXという2つのポートを使用します.
TXは送信(Transmitter),RXは受信(Receiver)のことを意味します.
UARTの場合には,自分側のTXと相手側のRX,自分側のRXと相手側のTXをそれぞれ接続します.
送信(TX)と受信(RX)が対になります.
TX,RXはそれぞれTxD,RxDなどと書かれることもあります.
ボーレート
UARTは非同期式でクロックが存在しないため,通信を行うにはデータ伝送のスピードを両者で合わせておく必要があります.
UARTではこのデータ伝送のスピードをボーレート(Baud Rate)といいます.単位はbps(bit per second)です.
ボーレートは1秒間に何bitのデータをやりとりできるかを意味します.
よく使われるボーレートは次の通りです.
- 4800bps
- 9600bps
- 19200bps
- 38400bps
- 57600bps
- 115200bps
通信の仕組み
UARTの通信の仕組みは非常に単純です.
電圧レベルは通常HIGHになっており,データの送信開始をLOWレベルで知らせます.(Start Bit)
その後,データを8ビット,ボーレートに合わせて送信します.
8ビット目が送信し終わると,電圧レベルをHIGHにあげてデータの送信終了を知らせます.(Stop Bit)
データの誤り検知のためにパリティビットが使われることもあります.