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

ID 683567
日付 1/25/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

20.5.5.3. 送信FIFOのオーバーフロー

DMAのバースト長を、DMA要求をトリガーするウォーターマーク・レベルよりも大きい値に設定すると、バースト送信先からの要求に対応する十分なスペースが送信FIFOにない場合に、オーバーフローが発生する可能性があります。そのため、次の計算式に従い、オーバーフローを回避する必要があります。†

DMAバースト長 <= FIFO_DEPTH - IC_DMA_TDLR

ケース2のIC_DMA_TDLR = 48の場合は、バースト要求が行われる時点の送信FIFO内のスペースは、DMAバースト長に等しくなります。そのため、バースト・トランザクションの完了時に、送信FIFOがフルになることはありますが、オーバーフローすることはありません。†

よって、最適な動作を実現するには、DMAバースト長は、DMA送信要求をトリガーするFIFOレベルに設定する必要があります。†

DMAバースト長 = FIFO_DEPTH - IC_DMA_TDLR

この計算式に従うことにより、ブロック転送に必要なDMAバーストの数が低減し、バスの使用率が向上します。†

転送時に、I2CコントローラーがI2Cシリアル送信ラインで1つもしくは複数のデータアイテムを正常に送信している場合、DMAバースト転送の終わりに送信FIFOがフルになることはありません。†