AnsweredAssumed Answered

Question on STM32 DMA FIFO

Question asked by picciano.antonio on Feb 14, 2014
Latest reply on May 30, 2014 by waclawek.jan
Hi All,

reading the reference manual of the STM32, I have a question related to a transfer peripheral to memory using DMA, direct mode ( no FIFO )

In section 9.3.12, Direct Mode paragraph, i found:

Direct mode
By default, the FIFO operates in direct mode (DMDIS bit in the DMA_SxFCR is reset) and 
the FIFO threshold level is not used. This mode is useful when the system requires an 
immediate and single transfer to or from the memory after each DMA request.

When the DMA is configured in direct mode (FIFO disabled), to transfer data in memory-toperipheral mode, the DMA preloads one data from the memory to the internal FIFO to 
ensure an immediate data transfer as soon as a DMA request is triggered by a peripheral.
To avoid saturating the FIFO, itis recommended to configure the corresponding stream with 
a high priority.

My question is: even if the FIFO threshold is not used, is the FIFO still active? To say with other words: if the peripheral is sending bytes at a very high speed, it can happen that I lost a byte or the FIFO helps me to store the previous bytes? 

Thank you very much,