インテルのみ表示可能 — GUID: rcx1481130646521
Ixiasoft
インテルのみ表示可能 — GUID: rcx1481130646521
Ixiasoft
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_nはMCR.RTSによってのみ制御されます。次の自動RTSのタイミング図の場合、送信を行っているUARTトランスミッターに入る次の文字の前にrts_nが検出されないため、文字Tを受信します。†