インテルのみ表示可能 — GUID: afh1481130668556
Ixiasoft
インテルのみ表示可能 — GUID: afh1481130668556
Ixiasoft
21.5.2.2. IIR_FCR.TET = 3
IIR_FCR.TET = 3は、ウォーターマーク・レベル64にデコードされます。
- 送信FIFOのウォーターマーク・レベル = IIR_FCR.TETをデコードしたウォーターマーク・レベル = 64 †
- DMAバースト長 = FIFO_DEPTH - IIR_FCR.TETをデコードしたウォーターマーク・レベル = 64 †
- UART送信FIFO_DEPTH = 128 †
- ブロック・トランザクション・サイズ = 448 †
ブロック内のバースト・トランザクション数は次のとおりです。†
ブロック・トランザクション・サイズ/DMAバースト長 = 448/64 = 7 †
このブロック転送の場合、DMAブロック転送内には送信先へのバースト・トランザクションが15ありますが、ウォーターマーク・レベルであるデコードされたIIR_FCR.TETのレベルが高いため、UARTの送信アンダーフローの可能性は低くなります。これは、UART送信FIFOが空の状態になる前に、バースト送信先からのトランザクション要求を処理する時間がDMAコントローラーに十分にあるためです。†
よって、2番目の例では、ブロックあたりのバースト・トランザクションを増やすことでアンダーフローの可能性を下げています。そのため、最初の例よりもブロックあたりのバースト量が増加し、バスの使用率が低下する可能性があります。†
したがって、ウォーターマーク・レベルを選択する目的は、ブロックあたりのトランザクション数を最小限に抑えると同時に、アンダーフロー状態が発生する可能性を許容レベルに保つことです。これは実際には、UARTがデータを送信する速度と、DMAがバースト送信先からの要求に応答できる速度の比率の関係です。†