Utilities Web

UART ボーレート計算機

クロックと目標ボーレートから分周比・誤差・レジスタ値を計算

使い方

  1. モード(AVR / STM32 / Generic)を選びます
  2. クロック周波数を入力します(例: 16M)。よく使う水晶はボタンからも選べます
  3. 目標ボーレートを選ぶか、カスタムで入力します
  4. 実ボーレート・誤差率・書き込むレジスタ値(UBRR/BRR)と、許容範囲内かの判定が表示されます
  5. 総当たり表で、そのクロックで安全に使える標準ボーレートを確認します

こんな場面で使えます

  • マイコンのUART設定でボーレート誤差が許容範囲か確認したい時
  • UBRR / BRR などのレジスタ設定値をすぐに知りたい時
  • 手持ちのクロック(水晶)でどの標準ボーレートが使えるか調べたい時
  • 誤差0%にできる水晶周波数を選びたい時

よくある質問

ボーレート誤差は何%まで許容されますか? ▼

受信側は1ビットを16倍程度でサンプリングするため、送受信を合わせて±2〜3%程度が安全圏とされます。本ツールの既定は±2%で、許容誤差は変更できます。誤差が大きいとフレーム後半でサンプリング位置がずれ、受信エラーの原因になります。

UBRR と BRR の違いは何ですか? ▼

どちらもクロックを分周してボーレートを作るレジスタです。AVRのUBRRは「分周比−1」を格納し16倍(通常)/8倍(倍速)で分周します。STM32のBRRはUSARTDIV(= クロック ÷ ボーレート)をそのまま格納し、オーバーサンプリングは内部で16倍されます。本ツールはこの違いをモードで吸収します。

なぜ 1.8432MHz のような半端な水晶が使われるのですか? ▼

1.8432MHz やその倍数(3.6864 / 7.3728 / 11.0592 MHz など)は、9600・115200 などの標準ボーレートを誤差0%で割り切れるよう選ばれた「UART用水晶」です。これらを使うと分周誤差が出ません。総当たり表で誤差0%になることを確認できます。

関連ツール

JSON整形・バリデータ

JSONの整形、圧縮、バリデーション

JSON⇔スプレッドシート変換

JSONとスプレッドシートデータを双方向に変換。グリッドで確認・範囲選択してコピー

Base64エンコード/デコード

テキスト・ファイルのBase64変換

URLエンコード/デコード

URLエンコーディングの変換

正規表現テスター

正規表現のリアルタイムテスト・マッチング

テキスト差分ビューア

テキストの差分を比較表示

進数変換

2進数・8進数・10進数・16進数など任意の基数間で数値を変換

ビット演算シミュレータ

ビット単位の演算を視覚的にシミュレーション

SLA稼働率計算機

SLA稼働率からダウンタイムを計算

IPアドレス/サブネット計算機

IPv4・IPv6のサブネット計算、ネットワークアドレス、ホスト範囲を計算

Cronタイムライン

crontabの実行スケジュールをタイムライン・カレンダー・ガントチャートで可視化

ブルームフィルタ シミュレータ

ブルームフィルタの動作を視覚的にシミュレーション&最適パラメータ計算

systemd タイマー ジェネレータ

systemd の .timer / .service ユニットファイルをGUIで対話的に生成

PWM・タイマ設定計算機

クロックとプリスケーラ・カウンタ値からPWM周波数・デューティ・分解能とレジスタ設定値(PSC/ARR/CCR)を計算・逆算

タイマ割込み周期・クロック分周 計算機

クロックとプリスケーラ・カウント値から割込み周期・周波数を計算。目標周期から最適なPSC/ARRを逆算

ADC 分解能・LSB・電圧 計算機

分解能と基準電圧からLSB電圧・量子化誤差・ダイナミックレンジ・code↔電圧変換・ENOB・オーバーサンプリングを計算