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

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

21.5.6. 受信FIFOのアンダーフロー

トランザクション・ソースのバースト長をウォーターマーク・レベルよりも大きく設定すると、アンダーフローが発生する可能性があります。これは、ソースのバースト要求に対応する十分なデータがない状態です。そのため、次の計算式に従いアンダーフローを回避する必要があります。†

DMAバースト長 = IIR_FCR.RTをデコードしたウォーターマーク・レベル + 1

バースト要求が行われた時点の受信FIFO内のデータアイテム数がソースのバースト長と等しい場合、バースト・トランザクションの完了時に受信FIFOが空になることはありますが、アンダーフローになることはありません。最適な動作を実現するには、DMAバースト長をウォーターマーク・レベル (IIR_FCR.RTをデコードしたウォーターマーク・レベル) に設定する必要があります。†

この計算式に従うことで、ブロック転送におけるDMAバーストの数を減らします。それによってアンダーフローを回避し、バスの使用率を高めます。†

バースト時に、UARTコントローラーがUARTシリアル受信ラインで1つもしくは複数のデータアイテムを正常に受信している場合は、ソースのバースト・トランザクションの終わりに受信FIFOバッファーは空になりません。†

図 123. 受信FIFOバッファー