feeding DAC output with delayed values of ADC input
Posted: Thu Aug 03, 2023 11:31 am
Hello everyone,
I'm totally new to FPGAs, and I think that I what I want to do is very simple, but I do not know where to start. Here it is: I would like to output from the DAC the data from the ADC after a possible large time delay (and maybe in the future some simple transformation, scaling, squaring), Essentially, what I want to do is a FIR filter with, e.g., 1e6 coefficients equal to zero and the last one being unity.
This must works without time gap and so I cannot simply "read" and subsequently "write" with either matlab or C API I believe since during this time data could be lost (or is some buffering preventing that possible ?)
I could already implement such an idea efficiently on a STM32 using DMA and reading and writing in a single memory buffer with simply a shift of one cell. Yet, it took me 3 months learning microcontroller programing to write, essentially, 5 lines of codes
My hope would be that I could achieve the same result with the RP using the C API and not having to mess around with the "wiring" of the FPGA, but, I could not find a full documentation of the C API and in particular how to talk to ADC and DAC. Is this documentation available somewhere ? In particular, I think that with one example of FIR filter or a look up table would certainly be a good starting point for me to get started.
thank you very much in advance for your help,
JJ.
I'm totally new to FPGAs, and I think that I what I want to do is very simple, but I do not know where to start. Here it is: I would like to output from the DAC the data from the ADC after a possible large time delay (and maybe in the future some simple transformation, scaling, squaring), Essentially, what I want to do is a FIR filter with, e.g., 1e6 coefficients equal to zero and the last one being unity.
This must works without time gap and so I cannot simply "read" and subsequently "write" with either matlab or C API I believe since during this time data could be lost (or is some buffering preventing that possible ?)
I could already implement such an idea efficiently on a STM32 using DMA and reading and writing in a single memory buffer with simply a shift of one cell. Yet, it took me 3 months learning microcontroller programing to write, essentially, 5 lines of codes
My hope would be that I could achieve the same result with the RP using the C API and not having to mess around with the "wiring" of the FPGA, but, I could not find a full documentation of the C API and in particular how to talk to ADC and DAC. Is this documentation available somewhere ? In particular, I think that with one example of FIR filter or a look up table would certainly be a good starting point for me to get started.
thank you very much in advance for your help,
JJ.