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

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

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

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

DMAバースト長 <= FIFO_DEPTH - IIR_FCR.TETをデコードしたウォーターマーク・レベル

2番目の例で示されている、IIR_FCR.TETをデコードしたウォーターマーク・レベル = 64の場合は、バースト要求が行われる時点の送信FIFO内のスペースは、DMAバースト長に等しくなります。そのため、バースト・トランザクションの完了時に送信FIFOがフルになることはありますが、オーバーフローすることはありません。†

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

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

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

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