どの標準UARTレートがありますか?


33

私は9600、19200、38400、57600、115200、1.8432 Mbaudを知っていますが、他は知りません。なぜこれらの値が使用され、毎回単に倍になるのか、それとももっと複雑なものがあるのか​​(たとえば、38400の4倍は115200ボーではありませんか?)

この質問をする理由は、さまざまな異なるボーレートと相互作用する必要のあるものを設計しているからです。9600で初期化され、特定のボーレートに切り替わります。しかし、私が使用しているdsPIC33Fは16ビットBRGダウンカウンターに制限されているため、任意のレートをサポートしていないため、任意のレートをサポートできません。これに関しては、他の多くのプロセッサと同様です。


実際には、16ビットカウンターとプリ/ポストスケーラーは、任意のボーレートに "十分に近い"状態にするのに十分です。UARTシリアルは、わずかなボーレートの不一致を許容できます。
ピーターグリーン

uartは、STARTビットの中央で開始し、7〜10ビットをシリアル化した後、STOPビットの中央付近に留まる必要があります。これは、ノイズ処理するために、好ましくは、より良い、周りの2から3パーセントの最小クロック精度を行い、ジッタ、ソース周波数のずれ...
TEMLIB

回答:


36

それはずっと前にテレタイプで始まりました— 75ボーだと思います。それから、それはほとんど倍増しており、たとえば28,800のように、わずかな倍数(x1.5)倍数で、電話回線モデム技術に制約があり、倍増することができませんでした。

標準的な水晶の値はこれらの初期のボーレートから得られたものであり、それらの入手可能性は将来のレートを決定します。例えば、

7.3728MHz16=460800ボー7.3728MHz64=115200ボー

ほとんどのUARTは2n×16のボーレートのクロックを使用し、最新の部品(例:NXP LPC)は分数分周器を備えており、非バイナリの倍数を使用してより広い範囲を取得します。

他の一般的な標準は31,250(MIDI)および250K(DMX)であり、どちらも1MHzなどのような「ラウンド」クロックの適切な倍数として選択される可能性があります。


4
分数分周器は、非標準ビットレートを取得するためのものではなく、非標準MCUクロック周波数から標準ビットレートを取得するためのものではないと思います。
Johan.A

3
私は1926年の2年間のテレタイプを大学に改修し(1976年)、はい、約75ボーで実行しました。それらは、バウドテレタイプと名付けられました。110vacに差し込み、モーターがタイミングを提供し、それらの間を電気的に接続しました。ガソリンに浸してきれいにしました。(私に休憩を与えてください-私は18歳でしたが、うまくいきました!)Ctrl-Gは他の人に誠実さの鐘を鳴らしました。悲しいかな、私は彼らを誰に渡したかさえ覚えていません。:-(ええ、そう、メカニカルキーボードで入力すると、キーストロークが機械的にシリアル化され、相手側が読み取った連絡先を
Doug Null

イェー、20年代のRo音!質の高いテクノロジーが50年間持続し、カリフォルニア州ヘイワードにあるジョンシルバの小屋に集まりました。
ダグヌル

32

フリーウェアのWindowsターミナルプログラムであるRealTermは、ボーメニューに次のUARTレートをリストします。

110、150、300、1200、2400、4800、9600、19200、38400、57600、115200、230400、460800、921600

ただし、これらは実際にはボーではなく、1秒あたりのビット数(bps)です。以下を参照してください。

110ボーは、ASR-33などの8レベルのテレタイプで使用されていました。150ボーが使用された場所はわかりませんが、75ボーの2倍であり、5レベルTTYで一般的に(60ボーとともに)使用されます。

300 bpsは、1960年代に最初に広く使用された電話モデムの標準でした。毎秒30文字の端末が同時に登場しました。

単純な周波数シフトキーイング(FSK)を使用した300 bps / 300ボーを超えると、bpsとボー(シンボルまたはトーン/秒)の数値は同じではありません。たとえば、1200 bpsモデムは実際には600ボーで実行され、4800 bpsモデムは1600ボーで実行されます。これの帯域幅の下の表を参照してください記事の「。違いは、毎秒一定数のトーンパルスを使用することに加えて、位相シフトキーイングなどの方法を使用して、同じボーレートから追加の帯域幅を抽出し、より高いbpsを取得するためです。(したがって、56Kモデムは実際には8000ボーでのみ実行されています。)

ご覧のとおり、UARTレートのリストは基本的に75から始まり、38400になるまで絶えず2倍になり(600をスキップ)、1.5を掛けて57600になります。56Kbpsはアナログ電話回線の制限です。115200以上の高いレート(57600から再び2倍になる)は、ハードワイヤード接続に使用されます。

mikeselectricstuffが述べたように、14400と28800 bpsは、モデムの速度を2倍にすることができなかったが、もう使用されなくなったときに、1.5 x 9600と1.5 x 19200として導入されました。


7
つまらないものではありませんが、プログラムはハードウェアが許可する速度のみをサポートできます。質問することさえせず、単に標準速度をリストアップすることもあります。私のハードウェアを求め、zip(*serial.Serial('COM10').getSupportedBaudrates())それを返信:(50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)
ニック・T

2
80年代には600ビット/秒の半二重音響カプラを使用しました。ドイツのBTXシステムでは75ビット/秒が長時間アップロード方向で使用され、ダウンロードは1200ビット/秒でした。
スターブルー

2
62.5 kbaudも見ました。実際には、メインクロックにも依存します。どのボーレートが十分に低いエラーにつながるかを計算できます。
VSZ

5

長い間、通信には115,200の約数、つまり38,400の2のべき乗、または57,600または115,200の倍数を使用することが一般的でした。ほとんどのPCハードウェアはこれらのレートをサポートしています。一部のPCハードウェアは230,400または460,800をサポートできます。独自のクロック速度の約数であるデータレートのような多くの組み込みコントローラー、および一部のUSB-シリアルチップは3,000,000bpsの整数の約数をサポートできるため、1,000,000bpsまたは1,500,000bpsなどの速度がおそらくより一般的になることに注意してくださいUSBチップを介してPCに接続するデバイス。

ところで、言及する価値のあるもう1つのレートは、31,250bpsが標準MIDIに使用されるレートです。


4

元のIBM PCには8250 UARTがありました。これには1.8432 MHZクロックが必要で、それを整数で割って内部クロックを生成し、そのクロックはビットに対して16サイクルで実行されます。

除数レジスタに1を設定すると、115,200、2が57,600、3が38,400、6が19,200などになります。

最善の策は、DSPICで1.8432 MHzの倍数で動作するクロックを使用することです。

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