Hi,
My goal is to achieve the uDMA operation through SPI interface to read the samples continuously from LTC2333-16 ADC without much micro controller intervention.
Through TM4C1292NCPDT datasheet we understood that uDMA is possible with SPI interface. i.e SPI will issue DMA request whenever SPI data buffer gets filled. uDMA will be configured in ping-pong mode to receive the data from SPI to memory and generate the processor interrupt whenever uDMA ping/pong buffer gets filled.
LTC2333-16 ADC has an option for configuring control words i.e pre-determined order for channel selection in sequence mode of operation. However CNV i.e. convert signal is required for each channel to start the conversion from master. BUSY signal de-assert when conversion is complete and expecting SCKI signal from master to drive SDO data. Please look at the timing diagram for single sample below.
To use the internal sequencer of the LTC2335-16, we have to program it as described below with the desired sequence of up to 16 configurations. Each of these configurations specifies the desired channel number and SoftSpan range for one conversion. The LTC2335-16 will then apply the first configuration to the first conversion, the second configuration to the second conversion, and so on until the end of the programmed sequence is reached, at which point the cycle will start again from the beginning.
Now i have plan of using Timer pulses for handling CNV signal for each sample. However SPI should have some kind of handshake signal between ADC BUSY signal and drive the Master clock without processor intervention.
Please clarify the following.
- Should SPI capable of handling BUSY signal to drive the master clock to ADC without processor intervention for every sample read?
- Please suggest if any logic can be implemented to handle the handshake between BUSY signal and SPI master clock.
- Is it possible to give some signal from uDMA to ADC after every sample read from SPI buffer without processor intervention?
Thanks
Bala