2Mhz samples differential 10bit ADC with hardware FFT

Showing results for 
Search instead for 
Did you mean: 

2Mhz samples differential 10bit ADC with hardware FFT

Senior Contributor II


I was not sure where to post this inquiry or who to ask locally. 

The project is essentially a 0-1Mhz spectrum analyser with smart FFT analysis functions that can give statistics about peaks (shape, SNR, mean amplitude over time, switching frequency etc) on each FFT frame over ~200mS of 2Mhz sampled data from a differential ADC input (12bit or better). We will likely need to do FFT’s on the time series over 200mS of data i.e. FFT on specific bins or all bins to detect what frequency each bin is switching at.

Some of these features can be dropped or reduced to keep cost under control. Ideally the processor / DSP will be under USD$10, max USD$20.

Specific requirements:
- 1 x Differential 10bit (10 usable bits) ADC sampling at minimum 2Mhz (really needs to be usable 12bit+)
- Most likely requires Hardware FFT support as we have to do minimum 1024 (preference 2048 point) with windowing on the 2Mhz data (Hanning etc), may also require FFT’s on each of the 1024/2048 bins for the 200mS of sample data
- Nice to have DMA on the ADC so the 2Mhz samples ADC fills a ping pong type ring buffer so while one buffer fills up we process the other buffer and enough RAM to take in 200mS of 2Mhz samples data which is 2 bit data (800KB on board ram, plus the requirements for the operating system etc so I imagine around 1MB). Or any other technique that allows the results of the FFT to happen on 2Mhz sampled data at minimum 1024-point FFT.
- External RAM for storing results of calculations and data for analysis after the ~200mS sample.

Not sure if a TI FAE can contact us directly to discuss? This project is based on a patent and has investment. We have already completed a proof of concept over the last 12 months using software defined radio hardware to get raw data samples and a low powered processor to do 512 point FFT’s at 500Khz so we have a pretty clear idea on what we need to achieve to go to stage 2 prototypes. 

Tags (2)
0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hi, Karl,

I think you can use MC56F84789 to develop the application, the on-chip ADC of MC56F84789 supports hardware triggering mode, you can use PIT module to trigger ADC via crossbar. The ADC conversion can reach up to 2MHz for  single channel, the ADC channel can be configured as single-end or differential, in differential mode, the input voltage is from -3.3V to +3.3V. The MC56F84789 uses DSP56800EX core, the core is suitable for the FFT. we provide FFT api function.

The on-chip Flash is 256KB, the on-chip RAM is 32KB, I think the RAM is enough to do 2048 points FFT.

This is the link of MC56F84789:

MC56F84xxx|Digital Signal Controllers|NXP 

The Tools is CodeWarrior for mcu ver10.x

Another option is KV5x/KV4x, it integrates the same ADC as MC56F84789, but it can extend external SRAM.

Kinetis® V Series: Real-time Motor Control & Power Conversion MCUs based on Arm® Cortex®-M0+/M4/M7|N... 

You can also use LPC54xxx, the ADC also supports hardware triggering, and can reach up to 5MSPS, but it only supports single-ended mode rather than differential mode, in the case, you have do the differential to single-ended conversion via OP AMP.. It can also extend external SDRAM and SRAM.

LPC54000|Power Efficient 32-bit Microcontrollers (MCUs)|Cortex®-M4 Core|NXP 

The i.mxrt10xx is also option:

Hope it can help you


Xiangjun rong

0 Kudos