Pre Project Brainstorm - "mid speed ADC"? - Page 1
Forum section: electronics / projects

author: max_torque
author_rank: Super Contributor
timestamp: August 30, 2017, 08:49:35 pm
content: I thought it would be fun to do a mid speed ADC kinda of project. Something around 1Msps perhaps on one channel, with 14 to 16b of (theoretical) ADC resolution (i'd accept noise trade offs in the front end to reduce cost / complexity, so delivering a true 12 to 14 bits would be enough). Ideally, that 1Msps could be switchable / shared across say 4 channels with a lower bandwidth (selectable AAF required). Input voltage range would be +-10 and should be differential for each channel.. ADC data buffered and sent up a USB 2.0 to a host PC (probably via a USB to parallel host, ie FTDI chip etc)This is a fun project, to learn about ADCs etc, and not meant for commercial or volume manufacturer (because i'd just buy one of the many exisiting harware solutions from NI etc !!)I was wondering how people would approach this? Use an ARM uC with DMA, or jump straight to an FPGA to do the data shovelling? i have ZERO experience with FPGAs so the learning curve would be a lot steeper!What ADC, RAM, and front end amplifer / input switching architecture would people use?

author: suicidaleggroll
author_rank: Super Contributor
timestamp: August 30, 2017, 09:16:59 pm
content: 1 MSPS at 16 bits is 16 Mbps continuous. Most regular MCUs would probably struggle with that. Larger ones should be ok, but at that point you're basically at the cost of a small FPGA. Personally I would just go to an FPGA. Yes it'll be a learning experience, but that's the whole point isn't it?A while back I did a little design using an AD7760, Artix-7, SDRAM, and FT2232 USB 2.0 interface running in parallel FIFO mode. The ADC is fully configured and initialized through commands from the USB interface software through the FPGA, so you can change decimation rates/sample rates and filters on the fly, and the output is buffered using the SDRAM to ride through USB/computer hiccups. Over the last year I've used that little board for so many different projects, it's been indispensable. The FPGA has plenty of extra capacity for adding digital downconversion, filtering, decimation, it includes a PPS and RS232 input for timestamping from an external GPS module if desired, etc. Honestly for this kind of task, I think an FPGA is actually much simpler to use than an MCU. Everything has rigid timing, it's all pipelined, etc., very straight forward.

author: danadak
author_rank: Super Contributor
timestamp: August 30, 2017, 09:17:35 pm
content: Do a PSOC design., SAR, 12 bit, will hit 1 MSPS. You can also use theDelSig, to 20 bits, but very slow MSPS.And you can play around with the digital filter. All on chip + tons more stuffto play with.Regards, Dana.

author: max_torque
author_rank: Super Contributor
timestamp: August 31, 2017, 05:05:51 pm
content: To date i've shied away from FPGA's due to the complexity and also the cost of the development environments. However, there are now some "free" FPGA software suites (they all come with some catch or other of course, but they are not financially crippling like they used to be) so perhaps it's time i looked at that option in more detail.As a complete newby to FPGAs, where does one start? Starter kit? Tutorials? etc etc

author: DaJMasta
author_rank: Super Contributor
timestamp: August 31, 2017, 06:07:02 pm
content: Basically, all the major manufacturers have free development tools and the limitations are usually on the number of blocks/IO pins on the chip and the length of the simulation time that it can do - then you pay the thousands, but for almost any small to moderate sized FPGA you just get the fully featured software suite with simulation capability for free.I think the best place to start is a dev kit, in fact, it may be best to get a dev board for the ADC you're considering as well as one for the FPGA you're considering. Both will have some specialty layout and supply requirements, but getting a dev board will get you a well laid out, to-spec chip to experiment around on when you work out what circuit you're actually going to build up into a board. Also gives you a comparison point when you build your board if you find performance isn't to what you expected. Both boards would probably have a USB connection, so you can even do some sanity checks directly hooked up to a computer before you have your elements directly interfacing with each other.Not only that, it probably won't even cost too much and it will come with example software. Maybe you'll even get some new ideas on things you can do with your hardware when it's done.