シリアル通信(USBまたはRS232)のボーレートは正確である必要がありますか?


8

シリアル通信では、ボーレートは正確なクロック速度を使用する必要があるということですか、それとも使用できる速度の範囲ですか?

そして、それが正確な値である場合、それはどの程度正確でなければなりませんか?たとえば、シリアル通信回路のクロックとして555を使用できますか?


UARTは通常、約〜3%の偏差を許容できます。ただし、特定のものに依存します。
Eugene Sh。

USBの場合は、標準で指定されており、無料でダウンロードできます。
Photon

回答:


6

タイミングは、プロトコルが再同期する前にずれないように十分正確でなければなりません。


UARTシリアルは各バイトで再同期し、1バイトは約10ビットです(8ビットのデータと開始と停止)。UARTは各ビットの中央をターゲットとしていると想定しています。すべてが完璧で、片方の端だけが不正確で、リンクの両端の間に約5%の差がある場合。

しかしながら:

  1. リンクの両端は、公称値に対して不正確である可能性があります。最悪の場合、一方の端が公称値を下回っていても、もう一方の端点が公称値を超えている可能性があります。
  2. 体系的な不正確さがあるかもしれません。たとえば、ほとんどのUARTには、ボーレートジェネレータ設定の範囲に制限があります。
  3. UARTは、有限速度のマスタークロックに基づいています。クロッキングとボーレートジェネレータが完璧であっても、各ビットの正確な中間に到達しないことになります。

要するに、時計の1%の誤差はほぼ間違いなく問題ないということです。5%のエラーはほぼ間違いなく問題です。これらの2つの図の間では、全体像によって問題になる場合とそうでない場合があります。

これは、RCオシレーターにとっては難しい注文です。Rの許容誤差が1%で、Cの許容誤差が2%であるとします。これにより、RCネットワークの時定数に対して約3%の許容誤差が与えられます。これは、ドライバーチップによって発生するエラーについて考える前のことです。

つまり、一番下の行は、水晶振動子またはセラミック振動子を見る必要があるということです。


USBについては、第一原理から分析する経験はありませんが、https://www.silabs.com/community/interface/knowledge-base.entry.html/2004/03/15/usb_clock_tolerance-gVaiは1.5%と言っています低速では0.25%、全速では0.25%。


ボーレートを3%以上のステップでプログラムでき、適切な「トレーニング」シーケンスを使用できる場合、RCの精度は問題にならない可能性があります。相手が0xF8と0xF0を交互に繰り返し送信することがわかっている場合(それぞれ4ビットタイムと5ビットタイムで低い)、ボーレートを33%高速に設定すると、常に0xF0(5.33ビットタイム)と0x80(6.67ビットタイム)を受信するはずです。回)。他の値を受信すると、その「33%オーバー」の速度より速いか遅いかがわかります。0xF00x80を繰り返し受信すると、速度を25%下げて実際の通信を開始する必要があることを示します。
スーパーキャット'19

8

UART、典型的にはRS232型シリアルシステムで使用されるは、事前定義されたボーレート基本周波数クロックの分周に応じてデータラインのどこかの中間サンプリングにより、ビット働きます。そのため、送信されたデータと受信機が同じ周波数上にない場合、「サンプルポイント」は連続するビットのビットフレームのエッジに近づきます。

通常のUARTでは、バイトのビット長は10ビットまたは11ビットです。1スタート、8データ、1または2ストップビット。10ビット目の半分のワンダーは、0.5 / 10 = 5%のエラーに変換されます。

ただし、実際には、スタートビットのリーディングエッジからのオフセットを追加する基本周波数期間のレイテンシも追加する必要があるため、許容範囲はそれよりも小さくなります。基本周波数が高いほど、影響は少なくなります。

この目的で555タイマーを使用することについては、555回路で手動調整を行う予定がない限り、お勧めしません。

A USART一方が試みは、受信したデータへの送信を同期させることは、より複雑な制御方法を用います。これは、埋め込まれたクロックを持つデータパターンを使用するか、渡されたクロックを使用するか、または受信したデータエッジへの何らかの位相ロックによって可能です。(間違いなく、後者は本当に疑似同期です。)


あなたは何を話しているのか知っているので、この回答の一部であるはずの省略形「U S ART」に言及したいと思いました。まあ、それは私の意見では答えを完全にするでしょう、そしてその後私からの+1に値します。
Harry Svensson

1
@HarrySvenssonうーん..私は同意します..しかし、決定しようとすることは、555パッキングOPの答えをより混乱させるだけです。
Trevor_G '19

1
USARTは、同期できるという点で異なります。また、同期インターフェースとして使用する場合、クロックは両端で共通であり、クロック速度は関係ありません。
gbarry '19

1
ええと、代わりにコメントに含めることができます。@ gbarryに感謝します。私は気にしません。トレバーに+1。
Harry Svensson

@HarrySvensson私は...完全性の違いを簡単に手波状の説明を追加しました
Trevor_G
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.