検索キーワード履歴
      • 発行日 2024年1月26日
      • 最終変更日 2024年1月26日
    • 1

    UARTとは?

    UART(Universal Asynchronous Receiver/Transmitter)マイクロコントローラーとプロトコルに関する情報、動作原理、およびそれらを使用する際の用途について紹介します。

     UART Banner

    UARTは、ユニバーサル非同期受信送信機(Universal Asynchronous Receiver/Transmitter)の略です。その名前が示すように、このチップはデバイスがデータを受信および送信できるようにするために回路基板に配置されます。デバイス間通信プロトコルとも呼ばれ、UARTは安全で信頼性のあるデータ伝送を可能にする最初のテクノロジーの一つでした。

    UARTチップの発明以来、この技術は進化しており、多くの現代のデバイスが代替プロトコルを使用していますが、それでもUARTは回路基板に使いやすいシリアルプロトコルを追加したいと考えている人々にとって低コストなオプションです。

    このガイドでは、UARTの開発の歴史を概説し、UARTの動作と、用途について解説します。

    UART Chip

    UART IC(チップ)とは何ですか?

    UART IC(チップ)は、データの転送を可能にするために回路基板に取り付けることができる物理的なコンポーネントです。回路基板には通信が行われるために2つのUARTチップが取り付けられます。

    UARTチップは、情報をビットに分解し、分解した情報を1つずつ転送することで通信を実現します。この転送はいつでも開始または停止できるため、「非同期」の用語がUARTに含まれています。

    UART ICを見る

    UART プロトコルとは何ですか?

    UARTプロトコルは、UARTチップ間でデータが転送される方法です。UARTプロトコルは非同期であり、データの送受信を同期化および制御するためのクロックに依存しません。

    代わりに、送信するUARTチップは、データバスから受信したデータパケットに開始ビットと停止ビットを追加します。これらのビットは、データ転送が開始されたときおよび終了したときに、受信側のUARTチップに知らせます。ユーザーは回路基板内のUARTを接続して、データ転送の速度および周波数、いわゆるボーレートを制御することができます。

    UARTの歴史

    最初のUARTチップは、Chester Gordon Bellというエンジニアによって開発され、一つの回路基板のサイズでした。この回路基板はコンピュータのプログラマムデータ処理に使用するために設計されました。

    1990年代には、UART技術が洗練され、オンチップバッファの使用によりデータ転送が速く、安全になりました。2000年代には、UARTはシリアルバス技術の進展に合わせて進化しました。これもの技術もデータの正確な転送を高速化しようとしたものでした。

    これらにより、USBからUARTへのコネクタやブリッジといった技術が開発されました。これはUSBで接続されたデバイスからデータを受け取り、UARTを介して転送します。これらはRS232ポートの代替として広く使用されています。USBからUARTコネクタはマイクロコントローラから直接制御されるため、より柔軟で多目的に使用できます。

    その他の現代のUARTマイクロコントローラには次のものがあります:

    • Raspberry Pi UART:このタイプのUARTにはPL011とMini UARTの2つのモデルがあります。Mini UARTは主にLinuxコンソールで使用され、PL011はBluetoothアプリケーションに使用できます。両者の主な違いは、データ転送の安定性で、Mini UARTはコアGPUからの周波数を使用しており、データの損失や損傷が発生する可能性があります。PL011はより高度で安定した技術であり、データの転送時に安全性が向上しています。
    • Arduino UART:ArduinoはUARTデータ転送を使用するマイクロコントローラまたはプログラマブル回路基板です。Arduino UARTは他の技術と比較してデータの転送が遅いですが、使用は簡単でオンラインで多くのチュートリアルやリソースが利用できるため、電子工作を行うユーザーに人気があります。

    UARTはどのように動作する?

    UARTは、データ信号(またはパケット)を、互いに2本のワイヤで接続された並列の2つのチップ間で送信します。これらのチップは、データの送信または受信に応じて送信および受信UARTと呼ばれます。 それぞれのチップは、データを送信または受信するデバイス内のデータバスに接続されています。したがって、UARTプロトコルは次のように動作します: まず、送信UARTチップはデータバスから信号を受信します。このデータバスは、この信号をチップに平行形式で送信し、チップ内のデータがバスによって送信されたデータと同じであることを意味します。 データが受信されると、送信UARTチップは受信データ(データフレームと呼ばれる)に開始ビット、パリティビット、ストップビットを追加して送信の準備をします。これらのビットは1または0で表現されます。開始ビットとストップビットはデータ転送の開始と終了をマークし、UARTデータ転送の非同期性の重要な要素となっています。 これにより、データパケットが作成されます。このパケットには次が含まれます:

    • 開始ビットはデータ転送プロセスを開始するために電圧を低下させます。
    • データフレームは通常、5から8つのデータビットで構成され、転送される実際の内容です。これは、受信データバスで使用されるデータです。
    • パリティビットはデータの品質チェックシステムとして機能します。受信UARTはこれを読み取り、すべてのデータが転送されたかどうかを判断します。パリティビットが1を読み取ると、フレーム内の1として表現されるデータビットの数は偶数である必要があります。0を読み取ると、数は奇数である必要があります。データとパリティビットが一致しない場合、一部のデータが転送中に失われています。
    • ストップビットは電圧を上昇させ、データ転送の終了をマークします。
    • 転送準備が整ったら、データパケット全体が設定されたボーレートで受信UARTチップに送信され、開始ビットで始まりストップビットで終了します。
    • 受信UARTは開始、ストップ、およびパリティビットを削除し、データフレームをそのままにして送信され、データ転送が完了します。

    UARTの使い方

    UARTプロトコルを使用するには、2つのUARTチップを2本の回線を介して接続する必要があります。これらのチップのそれぞれは、回路基板内の個別のデータバスにも接続する必要があります。UARTを正しく使用するには、以下のポイントを押さえておくことが重要です。

    UART Chip
    • データが損傷したり失われたりしないようにするためには、各UARTチップ内の送受信周波数(つまりボーレート)の差が少なくとも90%内に収まるようにする必要があります。これにより、UARTによって送信されるデータが安定し、安全に保たれます。
    • UARTパケット内のデータフレームは最大9ビットまでと制限されているため、より複雑な通信を行いたい場合には適していないかもしれません。
    • UARTはプロトコルの並列性を活かしてデータパケット構造を変更できますが、これらのシステムは複数のマスター・スレーブ通信モデルをサポートすることができません。

    セットアップの容易さから、UARTにはGPSユニット、ワイヤレス接続、内部コンピュータ処理など、さまざまなアプリケーションがあります。また、UARTプロトコルに関するヘルプやアドバイスは豊富にあり、データを送信する電子回路を作成する際に利用される選択肢となっています。

    UARTのテスト方法

    最適なテスト方法は、UARTの機能を評価するためにスクリプトを使用することです。これらのスクリプトはオンラインで簡単に見つかり、UARTを通じてテストモードを実行し、データが正常に転送されたかどうかを示します。

    UARTのデータ転送の効率と安定性を分析するためには、購入できるテストプログラムもあります。これらのプログラムはUART全体のシミュレーションを実行し、機能にエラーがあるかどうかを検出します。

    もっと読む