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

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

19.5.6.6. 受信FIFOバッファーのアンダーフロー

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

DMAバースト長 = DMARDLR + 1

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

この計算式に従うことで、ブロック転送あたりのDMAバーストの数を減らし、バスの使用率を高めます。†

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