Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Reading/saving 1MSPS from ADC

Status
Not open for further replies.

SK245230

Member level 3
Joined
Nov 24, 2015
Messages
57
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,288
Activity points
1,844
Hi,
Lets say I want to use any ADC that has at least 16bit-1MSPS (LTC2378-16 for instance or any other). I would like to know what I should use for reading/saving these 1MSPS from an ADC. Should it be an FPGA? a CPLD or a microcontroller can do the job?
In my application I have an event that triggers every 2ms and after this event I need to read 400 samples at 1MSPS. Everything should be synchronized from the event to the reading data. The measured data does not need to be preprocessed, it should be only readed and saved in a bloc of data. Afterwards, I would transfer this raw block of data on my computer through serial port.
I point out that I am a newbie in electronics and so far I have worked only on AVR and Arm-based microcontrollers. So I don't know nothing about CPLD or FPGA.

Thank you,
 

I recently designed a similar data acquisition instrument based on an Arduino board and a MAX10 FPGA. The smallest 10M02SC device has already 108 kbit of internal RAM and can store 6k 16-bit ADC samples. It's operating from a single 3.0 to 3.3V supply, resulting in a slim design. Under circumstances, you don't even need a microprocessor if you implement a simple low level serial interface in the FPGA.

The other option is a microprocessor with external parallel interface that can shuffle data per DMA to internal RAM. A midscale ARM processor can probably handle 1 MS/s, the FPGA solution won't care if the data rate is 1, 10 or 100 MS/s.
 
Hi,

400 x 2bytes every 2ms gives a raw data rate of 400kbytes/s. I don't think a UART interface can handle this safely.
Maybe look for a high speed parallel_to_USB interface, like FTDI. Then a CPLD should do the job.

Klaus
 

In my application I have an event that triggers every 2ms and after this event I need to read 400 samples at 1MSPS. Everything should be synchronized from the event to the reading data.

You did not mention whether the amount of triggering events are continous (real time) or if happens just at definite sparse intervals, otherwise you could consider to store acquired data at a local buffer and then forward raw data to the main process at a slightly less critical transfer rate. In general, processing rate do not necessarily need to be same of receiving rate from the peripheral device.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top