cancel
Showing results for 
Search instead for 
Did you mean: 

how to use 4 channels of ADC(192 KHz signal) with DMA such that out of total decided buffer size of 4096, we can populate the first 1024 buffers with ADC channel 1 , second 1024 buffers with adc channel 2 and so on ?

NKarn.1
Associate II

I am building a radar back end wherein I have to process 4 ADC channels coming in from radar front end and want to do processing on each channel and want to store the adc values in the buffer so that I can do DSP on it.

6 REPLIES 6
TDK
Guru

This cannot be done directly out of the DMA. You'll have to postprocess the values to arrange them how you want.

If you feel a post has answered your question, please click "Accept as Solution".

Hi ,Thanks for the reply. Can you elaborate on what you meant by postprocessing the values.?

TDK
Guru

Suppose your buffer length is 16. When the ADC/DMA is complete, your values in memory will be

`1234123412341234`

where 1 is a result from channel 1, 2 is from channel 2, etc.

You need to rearrange them so they are in the order:

`1111222233334444`

There's probably a way to do this with a minimal amount of temporary storage needed, but you could also create a separate 4096 size buffer and move them into that buffer in the correct order.

If you feel a post has answered your question, please click "Accept as Solution".

The DSP routines can be written/modified so that they take into account the staggered input data. Unless you want to throw at them some prechewed libraries you don't have sources for.

JW

Thanks... I will keep you informed about it goes.

Thanks... I will keep you informed about it goes.