UART ボーレート & フレームタイミング計算ツール
ボーレート、データ形式、MCUクロック周波数から、UARTフレームタイミング、スループット、およびUSART BRRレジスタ除数を計算します。ボーレート誤差を特定して、シリアル通信の信頼性を高めます。
公式
参考: STM32 Reference Manual RM0008 §27.3.4; ST AN2908
仕組み
この計算機は、信頼性の高いシリアル通信を実現するために、UARTのボーレート除数値とタイミング誤差を計算します。組み込みエンジニア、IoT 開発者、ハードウェア設計者は、このユーティリティを使用して、ほとんどのレシーバで必要な 2 ~ 3% のクロック許容範囲内でマイクロコントローラの UART を構成しています。UART 規格 (RS-232/EIA-232 から派生) によると、各フレームにはスタートビット、5 ~ 9 データビット、オプションのパリティ、1 ~ 2 ストップビットが含まれています。115200 ボーを対象とする 16 MHz MCU では BRR=8 (16 倍のオーバーサンプリング) で 0.16% の誤差が得られます。一方、9600 ボーでは BRR=104 で 0.08% の誤差が得られます。調査によれば、3.5% を超えるボーレートエラーは、10 フレームごとに 1 フレームでバイトフレーミング障害を引き起こすことがわかっています。標準レート (9600、19200、38400、57600、115200、230400、460800、921600 ボー) は、一般的な水晶周波数 (8、12、16、20 MHz) での除数の丸め誤差を最小限に抑えるように定義されています。115200 ボーでのビット周期は 8.68 マイクロ秒で、信頼性の高い 10 ビットフレーム受信のためには、1 ビットあたり 300 ナノ秒以内のタイミング精度が必要です。
計算例
車載ECUの設計では、16倍のオーバーサンプリングを備えた20MHzのシステムクロックを使用して115200ボーでUART通信を行う必要があります。標準の UART 実装の除数式に従うと、BRR = f_clk/(16 x ボー) = 20,000,000/(16 x 115200) = 10.85 となります。BRR=11 に四捨五入すると、実際のボー = 20,000,000/(16 x 11) = 113636 ボーになります。エラー = |115200-113636|/115200 x 100 = 1.36%。これは、ほとんどの UART レシーバーデータシートで指定されている最大値 2% を満たしています。フレーム構造:1 スタート + 8 データ + 1 ストップ = 合計 10 ビット、スループットは 11,364 バイト/秒です。比較すると、8倍オーバーサンプリング (BRR=22) を使用すると、同じ 1.36% の誤差で113636ボーが得られますが、ノイズ耐性は低下します。
実践的なヒント
- ✓STマイクロエレクトロニクスのアプリケーションノートAN4908によると、任意の標準ボーレートで0.5%未満の誤差を実現できる場合はフラクショナルBRRを使用してください
- ✓2メートルを超えるケーブルを介した3.3Vロジックの場合、RS-232仕様に従って400mVのノイズマージンを維持するために、ボーレートを115200に制限してください
- ✓オシロスコープによるタイミングの検証:連続10ビットを測定し、合計時間が予想値の 2% 以内(115200ボーで86.8us)以内であることを確認します。
よくある間違い
- ✗許容誤差が50ppmを超える水晶を使用する場合、25℃では誤差が 0.005% 増加しますが、極端な温度(-40℃~+85℃)では合計誤差が 2% を超えることがあります。
- ✗100000ボーなどの非標準のボーレートを選択すると、16MHzシステムでは 4.17% の誤差が生じるのに対し、115200ボーのシステムでは 0.16% の誤差が生じます。
- ✗フラクショナル・ボー・レート・ジェネレータ(STM32、LPCなどで入手可能)を使用すると、115200ボーで誤差が1.36%から0.1%未満に減少することを無視すると、誤差が1.36%から0.1%未満に減少します
よくある質問
Shop Components
As an Amazon Associate we earn from qualifying purchases.
関連電卓
Comms
I2C プルアップ
スタンダード (100 kHz)、ファスト (400 kHz)、およびファストプラス (1 MHz) モードの I2C プルアップ抵抗値を計算します。NXP UM10204 あたりの電源電圧とバスキャパシタンスから、最小抵抗、最大抵抗、推奨抵抗値を求めます。
General
RC 時定数
RC回路の時定数、充電時間を63.2%と99%、および−3dBのカットオフ周波数を計算します。フィルターとタイミング回路の設計に不可欠です。
Comms
クロックジッタ
FPGAおよびSoC設計のクロックツリータイミングバジェットを計算します。
Comms
SPI タイミング
ビット周期、フレーム時間、トレース容量によって制限される最大クロック周波数、信号スルーレートなどのSPIバスタイミングパラメータを計算