インテルのみ表示可能 — GUID: tyy1481130674979
Ixiasoft
インテルのみ表示可能 — GUID: tyy1481130674979
Ixiasoft
21.5.6. 受信FIFOのアンダーフロー
トランザクション・ソースのバースト長をウォーターマーク・レベルよりも大きく設定すると、アンダーフローが発生する可能性があります。これは、ソースのバースト要求に対応する十分なデータがない状態です。そのため、次の計算式に従いアンダーフローを回避する必要があります。†
DMAバースト長 = IIR_FCR.RTをデコードしたウォーターマーク・レベル + 1
バースト要求が行われた時点の受信FIFO内のデータアイテム数がソースのバースト長と等しい場合、バースト・トランザクションの完了時に受信FIFOが空になることはありますが、アンダーフローになることはありません。最適な動作を実現するには、DMAバースト長をウォーターマーク・レベル (IIR_FCR.RTをデコードしたウォーターマーク・レベル) に設定する必要があります。†
この計算式に従うことで、ブロック転送におけるDMAバーストの数を減らします。それによってアンダーフローを回避し、バスの使用率を高めます。†
バースト時に、UARTコントローラーがUARTシリアル受信ラインで1つもしくは複数のデータアイテムを正常に受信している場合は、ソースのバースト・トランザクションの終わりに受信FIFOバッファーは空になりません。†