Forums

Data acquisition on Blackfin

Started by sanjana July 16, 2003
Hi all
Is it possible to acquisit data from the ext.device to the ext.mem if
the length of data coming into the
ext.device(e.g 60MSPS ADC)is not known...ie the number of points
coming out from the ADC onto the DMA bus is not known.....because if
the count is not known then the DMAcount register cannot be
configured...
Thnaks in advance
Sanjana
sanjana0706@yahoo.com (sanjana) wrote in message news:<ef48202a.0307161629.3adee257@posting.google.com>...
> Hi all > Is it possible to acquisit data from the ext.device to the ext.mem if > the length of data coming into the > ext.device(e.g 60MSPS ADC)is not known...ie the number of points > coming out from the ADC onto the DMA bus is not known.....because if > the count is not known then the DMAcount register cannot be > configured... > Thnaks in advance > Sanjana
As far as I understand, you set DMA transfers, for continue (or unknown) number of data transfers, in blocks of samples, for later block processing. So, you set the DMAcount register up to tell the DMA engine how many samples to acquire before triggering the processing of the samples. The idea is to have some kind of pipelining: To have the dsp core doing number-crunching on a previous set of data, while still acuiring data via the DMA engine. For example, if you are performing 1024pt FFT analysis on continuosly incoming data (or a defined number of samples, which is unknown for you), you can set the DMAcount register to 1024, then start the process. Once the first frame of 1024 data samples is into the DSP memory (by means of DMA transfer), you trigger the 1024opt FFT routine, which should be performed in the a shorter period of time than the period of time it takes the DMA to fill a buffer of 1024 samples again, or at least the same time (1024/Fs). If it takes the DSP a longer period of time to process the block of samples than the ADC+DMA engine to aquire the data, you will lose incoming data. While the block of data is being processed by the DSP, the DMA engine is busy filing up the memory with a new block of data. I hope this helps. JaaC www.sanjaac.com