インテルのみ表示可能 — GUID: zpk1481130649720
Ixiasoft
インテルのみ表示可能 — GUID: zpk1481130649720
Ixiasoft
21.4.3.3. 自動CTSモード
次の条件が発生すると、自動CTSモードがアクティブになります。†
- AFCE (MCR.AFCEビットが設定されている)
- FIFOバッファーが有効になっている (FIFO Buffer Control RegisterのIIR_FCR.FIFOEビットを介して)
自動CTSが有効 (アクティブ) になっている際に、UARTトランスミッターは、cts_n入力が非アクティブ (High) になると無効になります。これにより、受信を行っているUARTのFIFOバッファーがオーバーフローすることを防ぎます。†
最後のストップビットの中央より前でcts_n入力が非アクティブにならなかった場合、トランスミッターが無効になる前にさらに1つの文字が送信されます。トランスミッターが無効になっている際は、送信FIFOバッファーに書き込みを続け、オーバーフローさせることも可能です。†
自動CTSモードでは、次のシーケンスが必要です。
- UARTのステータスレジスターを読み出し、送信FIFOバッファーがフルであることを確認します (UART Status RegisterのUSR.TFNFが0に設定されている)。†
- Transmit FIFO Level (TFL) レジスターを介して現在のFIFOバッファーのレベルを読み出します。†
- プログラミング可能なTHRE割り込みモードを有効にし、FIFOバッファーフルのステータスにLSRからアクセスします。†
FIFOバッファーフルのステータスを使用している場合、ソフトウェアでは、送信FIFOバッファーへのそれぞれの書き込みの前にこのステータスをポーリングすることができます。cts_n入力が再びアクティブ (Low) になると、送信が再開します。FCR.FIFOEビットでFIFOバッファーが無効になっている場合は、他の設定に関係なく自動フロー制御も無効になります。自動CTSが実装されていない、もしくは無効になっている場合、トランスミッターはcts_nの影響を受けません。†