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

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

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

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

DMAバースト長 = IC_DMA_RDLR + 1

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

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

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