記事 ID: 000085649 コンテンツタイプ: トラブルシューティング 最終改訂日: 2012/08/21

UART (RS-232 シリアルポート) を使用している場合、ボーレートが不正なのはなぜですか?

環境

  • インテル® Quartus® II サブスクリプション・エディション
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    Quartus® II ソフトウェア・バージョン 11.0 の Qsys デザインで UART (RS-232 シリアルポート) コンポーネントを使用している場合、この問題が発生する可能性があります。  これにより、UART が他方の端と同期または通信しなくなる場合があります。

    この問題を回避するには、UART に割り当てられた UART 入力クロック周波数を割り当てられたボーレート (bps) で割って、正しいdivisor_constantを計算し、この値が生成された_uart_0・ファイルのdivor_constant・シミュレーション・変数に割り当てられているかどうかを確認します。 必要に応じて、割り当てられた値を計算に合わせて変更します。

    例えば、Qsys UART への入力クロックは 83MHz です。 割り当てられたボーレート (bps) = 115200。 除数は 83,000,000 / 115200 = 720 にする必要があります。 _uart_0 ファイルでこの値を確認すると、次のコード行があります。

    合成translate_on
    合成read_comments_as_HDLオン
    divisor_constant = 434 を割り当てます。
    合成read_comments_as_HDLオフ

    以下のように divor_constant = 720 を変更します。

    divisor_constant = 720 を割り当てます。

    この問題は、Quartus® II ソフトウェア・バージョン 11.0 SP1 で修正されています。

    関連製品

    本記事の適用対象: 1 製品

    インテル® プログラマブル・デバイス

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。