回答:
いいえ、UARTとRS-232は同じではありません。
UARTは、一連のビットを送受信します。UARTの出力では、これらのビットは通常、ロジックレベルの電圧で表されます。これらのビットは、RS-232、RS-422、RS-485、またはおそらく独自仕様になります。
RS-232は電圧レベルを指定します。これらの電圧レベルの一部は負であり、±15Vにも達する可能性があることに注意してください。電圧振幅が大きいと、RS-232の干渉に対する耐性が高まります(ある程度ではありますが)。
マイクロコントローラUARTは、このような電圧レベルを単独で生成できません。これは、追加のコンポーネントRS-232ラインドライバーを使用して行われます。RS-232ラインドライバの典型的な例はMAX232です。データシートを見ると、このICにチャージポンプがあり、+ 5Vから±10Vを生成することがわかります。
(ソース)
UART(またはUSART)-ユニバーサル(同期)非同期受信機/送信機
これは、本質的にはシリアル通信インターフェースです。「ユニバーサル」部分とは、さまざまな特定のシリアルプロトコルをサポートするように構成できることを意味します。この用語は一般的なものであり、特定の標準を表すものではありません。少なくとも、シリアルデータストリームを送信し、シリアルデータストリームを受信TX
するRX
回線があることを意味します。
RS-232-2つのデバイス間の信号を定義し、信号名、その目的、電圧レベル、コネクタ、およびピン配列を定義する標準。
これは、機器の相互運用性を可能にする特定のインターフェイス標準です。2つのハードウェアにはUARTがある場合がありますが、それらが損傷することなく接続すること、または同じピン配置と電圧標準を持っていることを知らない場合、または相互接続に固有のコンバーターまたは特別に配線されたケーブルを含む場合を除き、適切に通信することはわかりませんこれら2つの特定のデバイス。特別なコンバーターやケーブルの必要性を回避するために、メーカーはRS-232標準に従うことを選択できます。そうすると、標準のRS-232ケーブルで2つが接続されることがわかります。
ただし、UARTもRS-232規格も、ラインTX
とRX
ラインで送信されるものを定義しません。一般に、RS-232を使用する場合、1つのスタートビットと1つのストップビットを持つ単純な8ビットNRZエンコードを使用します。現在製造されているほとんどの機器はこのエンコードを使用していますが、そうする必要はありません。パリティビットを含む、または7または9ビットを使用する古い機器を見つけることができます。UARTはその上で、これらの様々なプロトコルをサポートするように構成することができるTX
とRX
のライン。
UARTは通常、RS-232と直接インターフェースしません。UARTの出力をRS-232が必要とする+/- 12V標準に変換する必要があります。通常、完全なRS-232インターフェイスには、UARTとRS-232レベルコンバーターの両方が含まれます。さらに、RS-232規格には、TX
および以外のいくつかの信号ピンの定義が含まれておりRX
、接続する必要のある機器に応じて使用する必要があります。これらもレベル変換する必要があり、UARTはこれらの信号をサポートする場合としない場合があります。そうでない場合は、ソフトウェア/ファームウェアで直接制御する必要があります。
したがって、UARTはRS-232インターフェイスの実装に役立ちますが、RS-232インターフェイス自体ではありません。
UARTは、PCバスラインからのパラレルデータを、ラインドライバーを介してRS-232、RS-422、およびRS-485デバイスに送信するためのシリアルデータに変換するように機能します。UARTチップのクロックピンは、プログラム可能なクロックソースから供給されます。クロック速度は、デバイスが使用するボーレート設定によって決まります。クロック速度は16ボーレートです。UARTチップのクロックピンにオシロスコーププローブを配置し、周波数を決定してから16で割ることが、未知のボーレートを決定する1つの方法です。