2010-05-20 02:33 PM
Non continuous SPI master RX only ?
2011-05-17 04:51 AM
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 !2011-05-17 04:51 AM
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.