インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

21.4.2. UART (RS232) シリアルプロトコル

UARTコントローラーと選択されているデバイス間のシリアル通信は非同期であるため、追加ビット (スタートとストップ) がシリアルデータに追加され、開始と終了を示します。これらのビットを使用することで、2つのデバイスを同期させることができます。次に示すように、スタートビットとストップビットを伴うこのシリアルデータの構造は、文字と呼ばれます。†

図 115. シリアルデータの形式


追加のパリティービットをシリアル文字に追加することができます。このビットは、文字構造内の最後のデータビットの後、すなわちストップビットの前に表示されます。これにより、UARTコントローラーは、受信したデータの簡単なエラーチェックを行うことができます。†

Control Registerを使用し、シリアル文字の特性を制御します。データワードのそれぞれのビットは、スタートビットに続いて最下位ビット (LSB) から送信されます。それにオプションのパリティービットが続き、その後ストップビットになります。ストップビットは1、1.5、または2です。†

送信されるビットはすべて (1.5のストップビットを使用している場合の半分のストップビットを除く)、正確に同じ期間で送信されます。これは、ビット周期またはビット時間と呼ばれます。1ビット時間は16ボークロックに相当します。ラインの安定性の確保に向け、レシーバーは、スタートビットの検出後、ビット時間のほぼ半分の時点でシリアル入力データをサンプリングします。各ビットを送信する正確なボークロック数が分かっているため、サンプリングを行う中間点の計算は難しくありません。つまり、スタートビットの中間点をサンプリング後、16ボークロックごとに行われます。†

シリアル入力のデバウンスをともに使用することで、この機能は、誤ったスタートビットの検出回避にも有効です。短いグリッチはデバウンスによってフィルタリングされ、ライン上で遷移は検出されません。グリッチが大きく、デバウンスでフィルタリングされない場合は、立ち下がりエッジが検出されます。ただし、スタートビットは、ビット時間の半分が経過した後にラインが再びLowでサンプリングされた場合にのみ検出されます。†

図 116. レシーバーにおけるシリアルデータのサンプリング・ポイント


UARTコントローラーのボーレートは、シリアルクロックとDivisor Latch Register (DLHおよびDLL) によって制御されます。†