Problem when receiving data as a SPI slave from a SPI master using DMA
Hello,
Ive looped a datatransfer between STM32 SPI Master Port (on SPI3) to a slave port (on SPI2) on the same STM32 MCU. When I use DMA to send (from Master port) the data in blocks of 15 bytes, the data is not properly received on the SPI2 rx buffer (also DMA is used here to put the data from SPI2 fifo into a buffer). Only the first byte is received properly, then second byte is already wasted.
However in a logic analyzer I can see that the data properly appears on the MOSI line. However what I also see is that when using the DMA (compared non-DMA transfer) there is no space in between the bytes. Can this cause an issue in synchronization on the receiver site or anything? And if yes how to get things running then?
Here's my setup:
CPOL = 0, CPHAS = 0, baudrate = 80MHz / 8 = 10MHz, datawith = 8bits, FIFORx thresholds = 1byte (quarter full).
STM device is a STM32L451CE
Thanks for any help on this issue. If you need additional information, please let me know.
Kind Regards,
Steve
P.S. If I increase the Baudrate effects get more drastical, if I decrease the data is received much more stable. Also to mention is that I use cables to connect the ports on a Nucleos eval board.
