UARTの代わりにUSARTを使用する必要があるのはいつですか?


10

PIC18F4550とPCの間で通信を行いたいのですが、長距離通信にUARTとUSARTのどちらを使用するべきか悩んでいます。どちらか一方をもう一方の代わりに使用する方が有利な場合は?


2
さて、PCがガジェットに接続するための同期トランシーバーを誰が利用できますか?
PlasmaHH 2018年

回答:


11

あなたの目的のために、UARTとUSARTは同じものです。UARTは、ユニバーサル非同期レシーバー/トランスミッターの略です。USARTの追加のSは同期を意味します。これは、マイクロチップがモジュールに追加した機能のほんの一部であり、場合によってはより便利になります。その追加機能はあなたの場合には適用されません。

PC COMポートは、UARTとのみ通信します。USARTが別の方法で使用された可能性があるという事実は、正しい方法で設定する必要がある追加の構成ビットがある場合を除いて、あなたには無関係です。


3

短い答え:チップにあるものを使用してください

質問を完全に調べるには、頭字語を解読する必要があります。

A U niversal A同期R eceiver T ransmitterであるあなたの伝統的な"シリアルポート"。これは、単一の信号のみが関与するという意味で非同期です。クロックは送信されず、代わりにレシーバーは通常、オーバーサンプリングによってクロックを回復する必要があります。

対照的に、A U niversal S ynchronous A同期R eceiver T ransmitterはUARTスタイルでより汎用性の高い装置である非同期モードでなく、必要に応じて動作するように構成することができる同期クロックがデータと共に送信されるモード。機能によっては、よく知られている同期シリアル形式(SPIやI2Sなど)との相互運用が含まれる場合があります。

一部のMCUは、両方のタイプのペリフェラルを提供している場合があります。基本的な非同期シリアルが必要な場合は、どちらかを選択できます。ただし、選択は、特定のペリフェラルが動作できるピン、システムの他のニーズなどに影響される場合があります。工場出荷時のROMブートローダーは一部のペリフェラルでのみ動作し、他のペリフェラルでは動作しない場合があります。バッファサポート、ワード長、パリティサポート、関連する制御信号などにも違いがある可能性があります。また、ソフトウェアインターフェイスは2つで完全に異なる場合があります。


3

それらは基本的にマイクロコントローラーと同じです。

USARTは、ユニバーサル非同期および同期レシーバー/トランスミッターの略です。UARTはユニバーサル非同期レシーバー/トランスミッターの略です。

この通信プロトコルでは、ほとんどの場合、非同期データ送信が使用されます。SPIやI2Cなどのより優れた同期通信プロトコルを使用しているため、同期データ伝送はほとんど使用されません。


SPIやI2Cなどの同期通信プロトコルの方がはるかに優れているため、同期データ伝送はほとんど使用されません。」リンゴとオレンジを比較しているようです。USARTの同期モードは、通常、長距離のインターフェース(複数フィート以上など)に使用されます。同期モデムに接続するために、V.35やV.24のオプションの同期信号など、多くの同期通信インターフェースを使用してきました。それらはすべてUSARTを必要とし、SPIとI2Cでうまく置き換えることができませんでした。
SamGibson、

情報ありがとうございます。
ティンLêQUI

1

マイクロコントローラー(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)が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.