 Question: Help me Understand the DMA's FIFO.
Answer: Synchronized element transfers do
not make use of the DMA FIFO. If you are using a channel in split mode to service a serial
port, then you should be using both RSYNC and WSYNC for the elements. If you want to store
the in/out data buffers for use with the serial port in off-chip memory, without wasting
cycles by not bursting, the best thing to do would be to have smaller data buffers in
on-chip memory. When these buffers are full/empty, then signal another DMA channel to
burst the data to/from external memory. Since your data will be arriving/leaving the
serial port at a significantly reduced rate (as compared to the CPU and SBSRAM clock),
this should be a simple task. One thing to make sure of is that the DMA channel servicing
the serial port is a higher priority than the channel(s) servicing the external memory. |