What port to use for >1MSPS ADC acquisition?

67 views
Skip to first unread message

w8ryanb

unread,
Nov 23, 2010, 11:01:20 AM11/23/10
to Beagle Board
I'm getting ready to start a project that I'm required to read from an
ADC at speeds beyond I2C devices I have found. Data will be >1MSPS 8
to 16 bit depending on what's possible.

My idea is to have an ADC interface a small FPGA, which will condition
the signals to interface to MMC expansion port, IO Port, OR the Camera
Interface Port.

Any ideas on which port will give me the best performance/least
processor usage?

Many thanks in advance for the help.

Seppo Nikkilä

unread,
Nov 23, 2010, 11:47:49 AM11/23/10
to beagl...@googlegroups.com
Hi Walter,

You have several options here.
I would use one of the McBSPs for data traffic (and maybe misuse another one for the system clock). Further I would use one of the SPIs for converter control (rather than I2C).

I implemented a 24-bit 192 kS/s DAC this way via the BeaglBoard expansion connector.
I even powered the analog part of the board from it with a +/- 18 volt switching DC-DC converter on my expansion board. I did it this way to keep the drivers very simple (not even DMA).

The other, maybe more elegant but much more involving approach would be to just
use the HS USB 2.0 host interface. You then have to implement the USB stack.

Hope this helps,
siñ


--
You received this message because you are subscribed to the Google Groups "Beagle Board" group.
To post to this group, send email to beagl...@googlegroups.com.
To unsubscribe from this group, send email to beagleboard...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.




--
Developing next generation wireless audio

freddyglima

unread,
Nov 23, 2010, 4:26:31 PM11/23/10
to Beagle Board
If you have an ADC with parallel output, it could be connect to GPIOs
from the GPIO 5 Module of the OMAP3530. You could save the whole
register in a certain memory address and treat the data the way you
want. That would be definitely faster than the 1MSPS.
The I2C2 has a speed of only 400Kbits/s.
The McSPI works with a maximum frequency of 48MHz. For the 8 bits, it
would probably work. However, it would probably be complicated for the
16 bits...
Regards,
Frederico

Seppo Nikkilä

unread,
Nov 24, 2010, 5:17:01 AM11/24/10
to beagl...@googlegroups.com
I heard rumors that the GPIO is implemented with a state machine and may be
quite slow. Haven't tested so I don't know for sure.

I still think that having data traffic through McBSP and control by McSPI would be the easiest
fast way to do it. And HS USB 2.0 the most elegant.

siñ

--
You received this message because you are subscribed to the Google Groups "Beagle Board" group.
To post to this group, send email to beagl...@googlegroups.com.
To unsubscribe from this group, send email to beagleboard...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.

w8ryanb

unread,
Nov 24, 2010, 1:59:36 PM11/24/10
to Beagle Board
Thanks Seppo and Frederico. Good pointers. I'll start looking at these
interfaces.

On Nov 24, 5:17 am, Seppo Nikkilä <seppo.nikk...@innovativeideas.fi>
wrote:
> I heard rumors that the GPIO is implemented with a state machine and may be
> quite slow. Haven't tested so I don't know for sure.
>
> I still think that having data traffic through McBSP and control by McSPI
> would be the easiest
> fast way to do it. And HS USB 2.0 the most elegant.
>
> siñ
>
> On Tue, Nov 23, 2010 at 11:26 PM, freddyglima <freddygl...@googlemail.com>wrote:
>
>
>
> > If you have an ADC with parallel output, it could be connect to GPIOs
> > from the GPIO 5 Module of the OMAP3530. You could save the whole
> > register in a certain memory address and treat the data the way you
> > want. That would be definitely faster than the 1MSPS.
> > The I2C2 has a speed of only 400Kbits/s.
> > The McSPI works with a maximum frequency of 48MHz. For the 8 bits, it
> > would probably work. However, it would probably be complicated for the
> > 16 bits...
> > Regards,
> > Frederico
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Beagle Board" group.
> > To post to this group, send email to beagl...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > beagleboard...@googlegroups.com<beagleboard%2Bunsu...@googlegroups.com>
> > .

freddyglima

unread,
Nov 24, 2010, 3:40:05 PM11/24/10
to Beagle Board
Hello,

> I heard rumors that the GPIO is implemented with a state machine and may be
> quite slow. Haven't tested so I don't know for sure.

I was obtaining 16MHz using it a while ago. The problem is that I
don't really remember what I had set at that time.
But I have now been working around 4 or 5 MHz. The advance is to save
all the bits of GPIO5 module at the same time. That way, it would be
possible to get a 18 bit resolution signal with the 4MHz or even 16MHz
which I had before...


> I still think that having data traffic through McBSP and control by McSPI
> would be the easiest
> fast way to do it.

Acquiring the data using McSPI is a lot easier. However, higher
resolutions would decrease the MSPS.

Regards,
Frederico
Reply all
Reply to author
Forward
0 new messages