Author Topic: Custom Data Acquisition Systems for Newbies.  (Read 1018 times)

0 Members and 1 Guest are viewing this topic.

Offline GumbysauceTopic starter

  • Contributor
  • Posts: 14
  • Country: us
Custom Data Acquisition Systems for Newbies.
« on: August 10, 2020, 11:29:57 pm »
Hi All,

I am looking for information regarding the best way to construct a data acquisition system. Currently I am using a DAQ 6510 from Keithley to acquire signals from a single channel. However, my future projects will require more inputs that can simultaneously measure signals from an array of sensors. I need inputs that can sample simultaneously because I want to be able to use spatiotemporal information from the array to improve my SNR (beamforming filters) as well as to obtain spatial information (direction and position) from the array.

My specifications  (Please correct me if these don't add up)
  • At least 8 channels. One of the main benefits I see of constructing a custom system would be the ability to incorporate more channels for different projects.
  • Each channel should have a 16-bit (maybe more) ADC.
  • A maximum sample rate of ~1 MSPS for each channel.
  • An adjustable sample rate for each channel.
  • Compatible with many different front-ends. We use custom connectors, drivers and enclosures so a flexible form factor is essential.

I have looked into commercial solutions for data acquisition systems that would meet (and usually exceed) our specifications. However, the price per channel of these systems is usually very high. The companies lock you into using their software for getting reasonable performance out the instrument and if you use their APIs with other applications (MATLAB for example) things get slowed down significantly. So right now I am trying to perform a cost/benefit analysis of developing a custom system.

A bit about me
I am an electrical engineering graduate student working on unconventional sensor materials and their device integration.
I am comfortable developing and constructing analog front-ends to drive these sensors and to drive the ADCs afterwards. I am familiar with STM32 micro-controllers and their programming.
I am NOT experienced in developing high speed digital systems. I am not comfortable engineering solutions based on FPGAs (although I would like to be).

What have I done to approach the problem
I understand that the system can, roughly, be broken down into a few parts. The choice of the ADC is an important parameter. To simplify things, I have chosen the AD4000 series of SAR ADCs for the task. (They fit the spec and I have multiple reference designs for them). I am comfortable replicating the front-end design in the data sheet for these devices. The next section that is important is the interface. I am not sure of the complete reasoning, but from what I have gathered, most systems of this type utilize an FPGA to interface with the ADCs. I think this is in no small part because an FPGA can have a greater number of SPI peripherals than most micro controllers can offer as well as interface to a larger amount of memory. The next big choice in the design would then be to choose how much memory is integrated along with the FPGA. I don't know how difficult it is to obtain the IP for a controller to interface with external RAM from an FPGA. Any info regarding that component would be greatly appreciated. Once we know how many SPI interfaces we need and how much memory were interfacing with, I imagine that one can choose an FPGA that suits these needs. I am inclined to use an Intel FPGA since I have poked around in Quartus a bit while I have not ever used a Xilinx tool or FPGA. If you think that there would be a strong difference in the two brands for this purpose, please let me know. For now, I am inclined to go with the Intel MAX 10 FPGA since it is relatively inexpensive and appears to have the functionality I need. I am a bit concerned that I will not be able to generate the NIOS-2 IP that I need to create the integrated microcontroller without purchasing some extremely expensive software licenses but I intend to find that out once I get some feedback from the community regarding my approach. Finally, I need a way to interface with a PC for data processing. I think that FTDI offers a variety of ICs that make it fairly easy to create USB 2.0 to UART interfaces. (488 Mbits/sec might not five me real-time info, but it should be good enough with a large enough ram buffer linked to the FPGA) I have no experience with utilizing these chips for programming or data transfer and if the community knew of some resources to help me get started that would be great.

So this approach is heavily based on the work of Trenz-electronics AnalogMax-DAQ 1 module which is one of the reference designs I am working off of. I would love to implement something like this, but my lack of knowledge on the development of high-speed digital electronics is really holding me back. I don't even know where to start on developing the FPGA data handler and integrating it with a NIOS-2 micro controller seems to be well above me head at the moment. I would love some suggestions for resources and reference designs that may help me get started and I welcome criticism of my rather dough-y approach. If you all know of other ways of implementing this type of system please let me know. I am trying to gauge my options and choose the best approach for the task.

Thanks.
Electronic materials are my thing. The more esoteric, the better.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19508
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Custom Data Acquisition Systems for Newbies.
« Reply #1 on: August 10, 2020, 11:41:59 pm »
That's a decent question with lots of relevant detail and thought.

I think the first thing you should do is work out how to value your time. For example, you might choose to value learning FPGAs at zero cost, because that is a skill you want to have in the future. But you have an objective w.r.t. beamforming filters. How much cost should you assign to delaying working on and completing your objective?

Another approach is that if you cannot afford to buy equipment, perhaps renting would be practical. Decades ago the rule of thumb was that the monthly rental cost was ~1/10 of the purchase price.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline GumbysauceTopic starter

  • Contributor
  • Posts: 14
  • Country: us
Re: Custom Data Acquisition Systems for Newbies.
« Reply #2 on: August 11, 2020, 01:36:22 am »
That's a decent question with lots of relevant detail and thought.

I think the first thing you should do is work out how to value your time. For example, you might choose to value learning FPGAs at zero cost, because that is a skill you want to have in the future. But you have an objective w.r.t. beamforming filters. How much cost should you assign to delaying working on and completing your objective?

Another approach is that if you cannot afford to buy equipment, perhaps renting would be practical. Decades ago the rule of thumb was that the monthly rental cost was ~1/10 of the purchase price.


Thank you.

That's a really good point. It's difficult to judge the amount of time I would save before I truly understand the capabilities of the commercial systems that are available. But it would probably be a lot. I will look into what is available to rent.
Electronic materials are my thing. The more esoteric, the better.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Custom Data Acquisition Systems for Newbies.
« Reply #3 on: August 11, 2020, 02:58:05 am »
yokogawa has the answers for you.
they have multichannel recorders with deep memory , large bandwidth , high bitcount and synchronous sampling.
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline wizard69

  • Super Contributor
  • ***
  • Posts: 1184
  • Country: us
Re: Custom Data Acquisition Systems for Newbies.
« Reply #4 on: August 12, 2020, 04:17:09 am »
One thing that stood out to me was this: "An adjustable sample rate for each channel." which doesn't make sense if you need synchronous sampling.

As for cards have you look into the likes of products like this: https://www.bustec.com/products/detail/prodaq3430/.    If you want speed you will have to program them your self in C or C++.   While designing a card for this application might be good experience I suspect that it would lead to months or even years of delay to get the card up and running and reliable.   With a card like this you have 4 of your channels done and hopefully fully debugged.   This is just one example of  card ready for synchronized sampling.  By the way yes I know it will cost money but you likely will save yourself months of time to produce your own hardware to do the same thing.

 

Online Berni

  • Super Contributor
  • ***
  • Posts: 4955
  • Country: si
Re: Custom Data Acquisition Systems for Newbies.
« Reply #5 on: August 12, 2020, 07:37:53 am »
Yep the ScopeCorders from Yokogawa are the tool for the job. They make some top quality Japanese stuff.

https://tmi.yokogawa.com/solutions/products/data-acquisition-equipment/high-speed-data-acquisition/

You just populate it with the modules you want to give you any combination of speed and bit depth, all on galvanicaly isolated channels.
 

Offline gooligumelec

  • Contributor
  • Posts: 34
  • Country: au
    • Gooligum Electronics
Re: Custom Data Acquisition Systems for Newbies.
« Reply #6 on: August 12, 2020, 07:54:09 am »
One thing that stood out to me was this: "An adjustable sample rate for each channel." which doesn't make sense if you need synchronous sampling.

Not necessarily.  E.g. one input sampled twice as as fast as another, such that every 2nd sample is synchronous.
David Meiklejohn
www.gooligum.com.au
 

Offline max_torque

  • Super Contributor
  • ***
  • Posts: 1282
  • Country: gb
    • bitdynamics
Re: Custom Data Acquisition Systems for Newbies.
« Reply #7 on: August 16, 2020, 08:28:18 pm »
This is another of those "what is your project actually about" descisions!

If you ACTUALLY want to get on with your actual project, then just buy a proven solution. The money, time and effort expended in re-inventing the wheel is ime, usually so significant it tends to prevent the actual project from being completed. Yes, high speed, high precision instrumentation is expensive, but it's expensive precisely BECAUSE it is time consuming and expensive to develop. And of course, if you develop it yourself, how do you prove it's accuracy?  Buy an OTS solution and you'll get a proven level of accuracy.


The way to save money if you really have too, is, ime to write the software yourself and use a hardward product that has a suitable API already written, making it "Plug and play" as much as possible.  I use National instruments DAQ equipment fairly extensively and they have both a wide portfolio of well proven aquistion hardware covering a vast range of capabilities, but also enough technical support to enable a user to get on with what they are actually doing, and not just waste all their time getting something to work!

And whilst it might seem expensive, splashing out say $1,000 on a DAQ, when you sit down and work out how long it would take to actually make and validate one yourself, it's just about never worth it ime!

https://www.ni.com/en-gb/shop/pc-based-measurement-and-control-system.html

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf