AnsweredAssumed Answered

SPI and DMA and LTC2600

Question asked by Pietro di Castri on Mar 29, 2018
Latest reply on Apr 3, 2018 by Pietro di Castri

Good morning


I have the XTWR-ADCDAC-LTC. I need to book the LTC2600 for all of the channel at very fast rate.

It would be nice to get the DMA work without any polling or interrupt for updating in burst all of the DAC channels.

It seems impossible to do.

The DAC requires transfer of three or four bytes each one framed by the CS for every channel.

The SPI wants to transfer no more than 2 bytes. The DMA has the option to frame with the CS every transfer or the full

datalength. I don't see how to frame three or four bytes still the transfer continuing without any uC intervention.

The best solution I see is to transfer in chunk of three or four bytes with the CS continuously enabled, than in the DMA callback restart a new transfer with the next frame, all of this eight times for every tick of processing. 

In the end there is not so much to get from the DMA respect to the interrupt driven SPI, considering the KSDK function DSPI_MasterTransferEDMA(...) is not so light.

Maybe there is a way to bypass the limitations of the KSDK with some modifications in the initialization code.

I would like to get suggestion on the subject...


Thank You