プリンタ、マウス、モデムなどのケーブルが太く、巨大で不格好なコネクタが付いていたのを覚えていますか? 文字通り、コンピュータにねじ込まなければならないものでした。 これらのデバイスは、おそらくコンピュータとの通信にUARTを使用していました。 USBがそれらの古いケーブルやコネクターにほぼ完全に取って代わりましたが、UARTは決して過去のものではありません。
UARTとは、Universal Asynchronous Receiver/Transmitterの略です。 SPIやI2Cのような通信プロトコルではなく、マイクロコントローラ内の物理的な回路、またはスタンドアロンのICです。 UARTの主な目的は、シリアルデータを送受信することです。
UARTの優れた点は、デバイス間のデータ転送に2本のワイヤーしか使わないことです。
UART通信入門
UART通信では、2つのUARTがお互いに直接通信します。 送信側のUARTは、CPUなどの制御機器からのパラレルデータをシリアル形式に変換して受信側のUARTにシリアルで送信し、受信側のUARTはシリアルデータをパラレルデータに戻して受信機器に送信します。 2つのUART間でデータを送信するために必要なのは2本の電線だけです。
UARTは非同期にデータを送信します。つまり、送信側のUARTからのビットの出力と受信側のUARTによるビットのサンプリングを同期させるためのクロック信号がないということです。 これは、送信側のUARTからのビット出力と受信側のUARTによるビットのサンプリングを同期させるクロック信号がないことを意味します。
受信側のUARTは、スタートビットを検出すると、ボーレートと呼ばれる特定の周波数で受信ビットの読み取りを開始します。 ボーレートとは、データ転送の速度を示す指標で、ビット/秒(bps)で表されます。 両方のUARTは、ほぼ同じボーレートで動作する必要があります。
両方のUARTは、同じデータパケット構造を送受信するように設定する必要があります。
UARTの仕組み
データを送信しようとするUARTは、データバスからデータを受信します。 データバスは、CPU、メモリ、マイクロコントローラーなどの別のデバイスがUARTにデータを送信するために使用されます。 データはデータバスから送信側のUARTにパラレル形式で転送されます。 送信側のUARTは、データバスからパラレルデータを取得した後、スタートビット、パリティビット、ストップビットを追加してデータパケットを作成します。 次に、データパケットはTxピンでビットごとにシリアルに出力されます。 受信側のUARTは、Rxピンでデータパケットを1ビットずつ読み込みます。 その後、受信側 UART はデータをパラレル形式に戻し、スタートビット、パリティビット、ストップビットを削除します。
UARTの送信データはパケットにまとめられています。
Start Bit
UARTのデータ伝送ラインは、データを送信していないときは通常、高電圧レベルに保たれています。 データの転送を開始するために、送信側のUARTは1クロックサイクルの間、送信ラインをHighからLowに引き下げます。 受信側のUARTは高電圧から低電圧への遷移を検出すると、ボーレートの周波数でデータフレーム内のビットの読み取りを開始します。
データフレーム
データフレームには実際に転送されるデータが含まれます。 パリティビットを使用する場合は、5ビットから最大8ビットの長さになります。 パリティ・ビットを使用しない場合、データ・フレームは9ビットの長さになります。
パリティ
パリティとは、数字の偶数性や奇数性を表すものです。 パリティビットは、受信側のUARTが送信中にデータが変化したかどうかを判断するための手段です。 ビットは、電磁波やボーレートの不一致、長距離のデータ転送などで変化する可能性があります。 受信側のUARTは、データフレームを読み込んだ後、値が1のビット数を数え、その合計が偶数か奇数かをチェックします。 パリティビットが0(偶数パリティ)の場合、データフレーム内の1ビットの合計は偶数になります。 パリティビットが1(奇数パリティ)の場合、データフレーム内の1ビットの合計は奇数になります。 パリティビットがデータと一致した場合、UARTは送信にエラーがなかったことを認識します。
ストップビット
データパケットの終了を知らせるために、送信側のUARTはデータ伝送ラインを低電圧から高電圧へと少なくとも2ビット分駆動します。
2.
3. パケット全体が送信側のUARTから受信側のUARTへシリアルに送信されます。 受信側のUARTは、あらかじめ設定されたボーレートでデータラインをサンプリングします。 受信側の UART は、データフレームからスタートビット、パリティビット、およびストップビットを破棄します。
Advantages and Disadvantages of UART
完璧な通信プロトコルはありませんが、UARTはかなり優れています。 ここでは、プロジェクトのニーズに合っているかどうかを判断するのに役立つ長所と短所を紹介します。
長所
- 2本のワイヤーしか使わない
- クロック信号が必要ない
- エラーチェックを可能にするパリティビットがある
- データパケットの構造は、双方が設定されている限り、変更可能
- 文書化されており、広く使用されている方法
。
デメリット
- データ・フレームのサイズは最大9ビットに制限される
- マルチ・スレーブやマルチ・マスター・システムには対応していない
- 各UARTのボーレートは互いに10%以内でなければならない
このシリーズの第3部に続きます。
本シリーズのパート3「I2C通信プロトコルの基礎」に続き、電子機器の別の通信方法について学びます。 また、まだご覧になっていない方は、パート1の「SPI通信プロトコルの基礎」をご覧ください。