Visible to Intel only — GUID: ege1679358911271
Ixiasoft
Visible to Intel only — GUID: ege1679358911271
Ixiasoft
5.10.7.6.3. Transmit FIFO Buffer Overflow
Setting the DMA transaction burst length to a value greater than the watermark level that triggers the DMA request may cause overflow when there is not enough space in the transmit FIFO buffer to service the destination burst request. Therefore, the following equation must be adhered to in order to avoid overflow:
DMA burst length <= FIFO_DEPTH - DMATDLR
In Example 2: Transmit Watermark Level = 192, the amount of space in the transmit FIFO buffer at the time of the burst request is made is equal to the DMA burst length. Thus, the transmit FIFO buffer may be full, but not overflowed, at the completion of the burst transaction.
Therefore, for optimal operation, DMA burst length should be set at the FIFO buffer level that triggers a transmit DMA request; that is:
DMA burst length = FIFO_DEPTH - DMATDLR
Adhering to this equation reduces the number of DMA bursts needed for block transfer, and this in turn improves bus utilization.
The transmit FIFO buffer may not be full at the end of a DMA burst transfer if the SPI controller has successfully transmitted one data item or more on the serial transmit line during the transfer.