cancel
Showing results for 
Search instead for 
Did you mean: 

Non continuous SPI master RX only ?

Nickname13162_O
Associate
Posted on May 20, 2010 at 23:33

Non continuous SPI master RX only ?

2 REPLIES 2
chikos332
Associate II
Posted on May 17, 2011 at 13:51

Hi Michel;

that's really interesting,

I can understand that an interrupt would be missed, but with DMA it should be much better.

Let me add a note: the SPI RX only mode is more suitable for circular continuous transfers more than limited size transfers.

 - Could you please add some information about the HCLK frequency (and system frequency) and the SPI prescaler you are using into your code?

 - Have you tried to get the SPI RX DMA channel with highest priority?

 - Are there other DMA transfers that may interfer with SPI DMA transfer? how many ?

Thanks for sharing this issue with us, it is really interesting !

Nickname13162_O
Associate
Posted on May 17, 2011 at 13:51

correct  RX mode seam more addapted to circular buffer than  fixed size packets reception.

Actualy I do have to read once in a while 400 word data packet from a slave device  but i can't miss a single data and preferably not read extra bit. I'm farily confindent  the DMA could  get all data  but still we can ensure that the mcu will be able to disable SPIE on time after the last data bit,  so unless we change the slave (fpga base) to support this i'm stuck with the  RX only mode.

I was  plannig to use fPCLK/2 for the spi (fastest transfer) and keep slowest possible cpu freq (minimize power ) but i can change  if required for corect dma operation . 

One higher priority dma (audio) might  also be running on the system.. 

Anyway thansk for the answer ,  i'll see if i can get the slave changed   if not i can always use the full duplex mode as a backup.