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

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

21.4.3.2. 自動RTSモード

次の条件が発生すると、自動RTSモードがアクティブになります。†

  • RTS (MCR.RTSビットおよびMCR.AFCEビットがどちらも設定されている)
  • FIFOバッファーが有効になっている (FCR.FIFOEビットが設定されている)

自動RTSを有効にすると、FIFOがフルに近い状態になった際に、rts_n出力ピンが非アクティブ (High) に強制されます。この「フルに近い状態」とは、FIFOで2つのスロットが使用可能であることを指します。rts_nが別のUARTデバイスのcts_n入力ピンに接続されると、もう一方のUARTは、受信FIFOバッファーに使用可能なスペースができるまで (完全に空になるまで)、シリアルデータの送信を停止します。†

受信FIFOバッファーのしきい値に選択可能な値は、1、¼、½、およびフルに対して2つ満たない値です。rts_nが非アクティブになった後、さらに1文字がUARTに送信されることがあるため (データがすでに他のUARTのトランスミッター・ブロックに入っていた場合)、しきい値をフルよりも2小さい値に設定すると、1文字のマージンを伴いFIFOバッファーを最大限に使用することが可能です。†

Receiver Buffer Register (RBR_THR_DLL) を読み出し、受信FIFOバッファーが完全に空になると、rts_nは再びアクティブ (Low) になり、他のUARTにデータの送信を続行するように通知します。†

MCRビットを正しく設定している場合でも、FIFOバッファーがFCR.FIFOEを介して無効になっている場合は、自動フロー制御もまた無効になります。自動RTSが実装されていない、もしくは無効になっている場合、rts_nMCR.RTSによってのみ制御されます。次の自動RTSのタイミング図の場合、送信を行っているUARTトランスミッターに入る次の文字の前にrts_nが検出されないため、文字Tを受信します。†

図 117. 自動RTSのタイミング図