Help in trying to send parallel 8 bit output from an ADC to a computer

Thread Starter

c1rcu1ts

Joined Oct 19, 2013
62
From what i have observed, i thought that it would make sense to set the specs high. From this, try to design for these high specs. If it is too high for various reasons (budget, time, complexity etc...) then reduce the specs to more practical, achievable ones. In my case, i had to conduct experiments on materials, up to the highest frequency possible.

Thanks for the advice danny.
I'm still learning :)
 

ifixit

Joined Nov 20, 2008
652
From a little googling it seems the arduino due supports DMA. You could connect the ADC directly to the arduino digital i/o pins. Avoid external shifting as that slows things down. Clock rates that you could achieve are dependant on internal cde processing time. DMA transfers into memory from the ADC have to be at a consistant rate and slightly slower than the time needed to read the data out and send to your main computer via blue tooth or ethernet wired link.

If a wired link is possible then there may be a "dumber", but faster way to do this. Use a propriatary serial or 8 bit parallel link. Just how much hardware design are you prepared to do? How far away is the sampler from your computer?
 

Thread Starter

c1rcu1ts

Joined Oct 19, 2013
62
Okay, i will not convert the signals into serial. It makes sense that the external shifting is unnecessary since the arduino has about 54 digital I/O pins. I would require about two 8-bit ADCs, parallel output, for two different analog parameters (apologies for now bringing up that i am using two ADCs) which would add up to about 16 pins and is significantly less than the 54 (i dont think i would be using much more than 16 anyways). I am still curious about the rate at which i could send data to the arduino for it to be sent to the computer. I understand that this is dependent on the code processing time. How do i calculate this? (i have a feeling this is calculations + guess work which would mean that a 'defined' bandwidth cannot be said)

What is a proprietary link? does this mean USB?

Just how much hardware design are you prepared to do?
Depends on the complexity but i am willing to put out to get this to work.

How far away is the sampler from your computer?
I would say that my circuit (MCU, everything) would be about 30cm away from the computer for the most.
 

ifixit

Joined Nov 20, 2008
652
Since you are so close you could connect the ADC s directly to an io card installed in your PC. Do you have a PC that can have io cards?

Re-read post #3, but instead of SATA, PATA would be better... or some other parallel interface card.

On the other hand if you have only USB, IEEE, serial type ways to get data into your pc then you are stuck with having to slow down to that speed.
Ther maybe a parallel to USB conversion box.

Ifixit
 

Thread Starter

c1rcu1ts

Joined Oct 19, 2013
62
Io card? What is this? How do i check this? i will be reading up on this now

I have a PC computer and a Laptop. On my laptop, i am seeing something written SATA with the USB sign next to eachother and both just above the port. I attached an image showing it. i tried to take a better a pic but this was the best. Is it familiar?

Thanks very much.
 

Attachments

ifixit

Joined Nov 20, 2008
652
I'm a little late getting back to you... stuck in a snow storm related traffic jam for 5 hours.

Google SATA and PATA. You would have to build hardware to adapt your ADC interface to them and write PC driver software as well. 5 weeks is not much time. Also google PCI card for your PC. Some of them have high speed ADC s for signal capture. However, if you need to use your own ADC s then use a PCI parallel io card to interface with.

Your laptop doesn't support PCI. The SATA is intended for an external disk drive. If you use it then you will need to convert ADC parallel data to serial and do whatever else is needed to make it work. Lots of design time.

Once you know what the choices are it will be decision time.
 

Thread Starter

c1rcu1ts

Joined Oct 19, 2013
62
I think i see where you are going with this. I would have to manually build hardware on my circuitry to allow for the capture of the signals from the ADCs. The signals would then be sent via the Parallel Advanced Technology Attachment and sent to the PCI port on my desktop. I would have to write software to determine how to analyse and make sense of the incoming signals.

I would need:
http://www.amazon.com/Drive-Adapter...2?ie=UTF8&qid=1455691662&sr=8-2&keywords=PATA

I found this adapter which would allow connection to my laptop or PC (and eliminates the need for the PCI). This is well within my budget. The issue i might have would be the development of the software and drivers to process this. I have 0 knowledge on this but i suspect that it would be very complex. (i am only a decent programmer in C++ right now).

In the layout of my project, considering the objectives that is required, the time left and my experience, i do not think that this is a practical method. This part is only a small section in my project. (Unless you think the software and connection to the ADCs could be done in like 7 days, for most)

Apart from all of that, thank you for educating me. I will actually go ahead and buy the cables. I feel like this opens up a door to alot of ideas for me in the future.

I may have to just use the internal ADCs on the arduino due after all. ( which drops the bandwidth i am able to operate at to about 500KHz; after accounting for Nyquist sampling theorem)
 

ifixit

Joined Nov 20, 2008
652
I agree, you'll have to pick a method that you can do with your current skill set and time available time.

PCs have a long history of being used to control industrial processes and in electronic insturments like DSOs. It would be wise to expand your knowledge in this area.

Good luck with your project and have fun with it.

Ifixit
 
Top