回答:
短い答え:チップにあるものを使用してください
質問を完全に調べるには、頭字語を解読する必要があります。
A U niversal A同期R eceiver T ransmitterであるあなたの伝統的な"シリアルポート"。これは、単一の信号のみが関与するという意味で非同期です。クロックは送信されず、代わりにレシーバーは通常、オーバーサンプリングによってクロックを回復する必要があります。
対照的に、A U niversal S ynchronous A同期R eceiver T ransmitterはUARTスタイルでより汎用性の高い装置である非同期モードでなく、必要に応じて動作するように構成することができる同期クロックがデータと共に送信されるモード。機能によっては、よく知られている同期シリアル形式(SPIやI2Sなど)との相互運用が含まれる場合があります。
一部のMCUは、両方のタイプのペリフェラルを提供している場合があります。基本的な非同期シリアルが必要な場合は、どちらかを選択できます。ただし、選択は、特定のペリフェラルが動作できるピン、システムの他のニーズなどに影響される場合があります。工場出荷時のROMブートローダーは一部のペリフェラルでのみ動作し、他のペリフェラルでは動作しない場合があります。バッファサポート、ワード長、パリティサポート、関連する制御信号などにも違いがある可能性があります。また、ソフトウェアインターフェイスは2つで完全に異なる場合があります。
それらは基本的にマイクロコントローラーと同じです。
USARTは、ユニバーサル非同期および同期レシーバー/トランスミッターの略です。UARTはユニバーサル非同期レシーバー/トランスミッターの略です。
この通信プロトコルでは、ほとんどの場合、非同期データ送信が使用されます。SPIやI2Cなどのより優れた同期通信プロトコルを使用しているため、同期データ伝送はほとんど使用されません。
マイクロコントローラー(MCU)には、ユニバーサル同期/非同期レシーバー/トランスミッター(USART)が含まれています。この機能ユニットは、同期通信モードと非同期通信モードをサポートしています。
同期モードでは、トランスミッタTxは、CLOCKワイヤとDATAワイヤによってレシーバRxに接続されます。CLOCK周期ごとに1回、TxはDATAに別のビットを送信し、RxはDATAから別のビットを取得します。転送タイミングはCLOCKによって制御されるため、TxとRxの両方で認識されます。そのため、TxとRxの両方で、非同期モードよりも高いビットレートを使用できます。
ただし、1本ではなく2本のワイヤ/コネクタピンが必要であり、CLOCKとDATA間の過度のスキューまたはジッターにより、破損したデータが受信されます。このスキューを低減するには、CLOCKとDATAを伝送するラインドライバーとラインレシーバー内のタイミングを厳密に一致させる必要があります。インターフェースと2線式の要因はどちらも、長いケーブルや複数の接続ホップを使用すると、距離が長くなるほど顕著になります。
非同期モードでは、送信機TxはDATAワイヤによって受信機Rxに接続されます。時限ビット周期ごとに1回、TxはDATAで別のビットを送信し、RxはDATAから別のビットを取得します。転送タイミングは、TxとRxの周波数別のオシレーターによって制御されます。これらのオシレーターのそれぞれは、未知であり、わずかに異なります。したがって、最大信頼ビットレートは同期モードよりも低くなります。
すべての新しいバイトの開始時に、Rxは開始STOP-STARTビット遷移を使用して、着信ビットシーケンスタイミングに再同期します。これにより、ラインドライバー/レシーバー、ケーブル、およびコネクターからの遅延は、ビット品質ではなく、ビット周期のタイミングに関係なくなります。通信信号ごとに2本ではなく1本のワイヤーで済み、ケーブル、コネクター、ラインドライバー/レシーバーのコストを削減します。
したがって、許容できるコスト、移動距離、TxとRxの機能によって異なります。PCは、標準COMポートで非同期モードのみをサポートする可能性が高く、同期モードには特別なポート(PCIeまたはUSB、おそらくUSB)が必要です。