2010-02-14 13:37:10 spi framework bandwidth
Lars Weber Rasmussen (DENMARK)
Message: 86077
Hi!
Following scenario needs to be solved.
2 different device drivers need to transmitt on the same SPI interface.
dev1: every 10 ms a package of 1440 bytes is transmitted to a uC.
dev2: every 4 ms a package of 8 bytes is transmitted to a quad DAC.
SPIDEV framework is too slow for this, so I wonder if dma is the solution. I have read that sharing DMA is not possible but how about this scenario where the 2 dma's will run in stop mode?
Would like to trigger the dma tx with external/timer interrupt.
Appreciate if anyone can help with a SPI tx dma driver triggered by ext interrupt..
BR/Lars
QuoteReplyEditDelete
2010-02-15 06:13:27 Re: spi framework bandwidth
Wolfgang Muees (GERMANY)
Message: 86104
Lars,
you wrote nothing about the speed of your SPI transmission. Home many time does it cost to transmit the 1440 bytes to the uC?
SPIDEV framework is from userspace, and it's hard to get these timing requirement from userspace.
I do not think that DMA is needed for your problem - it depends on the speed of the transmission.
Write a kernel driver. Use a timer interrupt to get the trigger at the right time. Use the SPI kernel framework to do the transmissions.
How many jitter is allowed for the transfer to the DAC? This might be your worst requirement!
best regards
Wolfgang