Favorited Favorite 88
UART
このシリアルパズルの最後のピースは、シリアルパケットの作成と物理的なハードウェアラインの制御の両方を行うものを見つけることです。
UART(Universal Asynchronous Receiver/Transmitter)は、シリアル通信を実装する回路のブロックです。 基本的に、UARTはパラレルインターフェースとシリアルインターフェースの間の仲介者として機能します。
UARTは独立したICとしても存在しますが、一般的にはマイクロコントローラーの中に入っています。 UARTが搭載されているかどうかは、お使いのマイコンのデータシートを確認する必要があります。 ないものもあれば、1つのものもありますし、たくさんあるものもあります。
頭文字のRとTが示すように、UARTはシリアルデータの送信と受信の両方を担当します。 送信側では、UARTは同期ビットとパリティビットを付加してデータパケットを作成し、そのパケットを正確なタイミングで(設定されたボーレートに従って)TXラインに送信しなければなりません。 受信側では、UART は期待されるボーレートに応じたレートで RX ラインをサンプリングし、同期ビットを取り出し、データを吐き出さなければなりません。
より高度なUARTでは、受信したデータをバッファに放り込み、マイクロコントローラがデータを取りに来るまでそこに置いておくことができます。 UARTは通常、バッファされたデータを先入れ先出し(FIFO)方式で解放します。
ソフトウェア
マイクロコントローラーが UART を搭載していない (または搭載数が少ない) 場合は、シリアル インターフェースをビットバンギング (プロセッサーが直接制御) することができます。 これは、SoftwareSerialなどのArduinoライブラリが採用している方法です。 ビット・バンギングはプロセッサに負荷がかかり、通常は UART ほど正確ではありませんが、ピンチの時には有効です!