If your requirements are pretty relaxed (like running a touch screen), then you 
could use four GPIO outputs as address inputs for a 16-to-1 analog MUX chip.  
Your program would select the input you want to measure (of 16 possible), which 
would connect that input to an ADC pin.

If you really need 10 perfectly synchronized samples, then I suggest you build 
a board with 10 individual ADCs all connected to one common “sample & convert” 
signal.  The Beaglebone can drive that signal using one GPIO output, wait for 
the maximum A-to-D conversion time, and then read all of the ADCs using an SPI 
or I2C chain.  (Each ADC output connected to the next ADC input.)

Of course, if you need those samples to be perfectly periodic (like for an 
FFT), then you will have to drive that “sample & convert” output using one of 
the PRUs or a hardware timer.  There is too much going on in a Linux system to 
make anything happen in software at a precise time.  The sampling jitter would 
be many milliseconds, and still too large for any kind of signal processing 
even with the realtime patches in the kernel.  This is the kind of application 
TI had in mind when they included the PRUs:  Each is a 200 MHz processor with 5 
nsec instructions and no interrupts or tasks to make their responses 
non-deterministic.  They are yours to command, and they can talk directly to 
all the hardware registers without needing drivers, kernel execution state, 
virtual addresses, etc.

From: liyaoshi 
Sent: Thursday, February 13, 2014 5:16 PM
To: [email protected] 
Subject: Re: [beagleboard] can I use any of the GPIO of the Beaglebone, for 
analog reading?

This patch is for ADC touch screen , generally resistive touch screen will have 
4 lines for ADC X+ X- Y+ Y-

so , this will cost 2 ADC

for my understand ,  this round robin is just between this 2 ADC , instead of 
two sensors in one ADC converter.

>From top thread , if you want to use over 10 sensors for ADC , you need 
>external ADC chip . and do some communication work with am3358

If you want to have some flexable and no much than 10 sensors ,

what about add a stm32 ?



2014-02-14 5:01 GMT+08:00 <[email protected]>:



  On Wednesday, February 12, 2014 8:42:27 PM UTC-5, Karl Longen wrote: 
    DOH 

    You make a good point...I thought that the GPIO were configurable between 
analog and digital.

    as ADC I've found this: not sure if it is right for me thou. I need these 
sensors to shoot data concurrently, while I think this board, allow only one 
signal at time, unless you switch input

  The system is capable of reading the ADC inputs rapidly in round-robin 
fashion.  It depends on having kernel support for this.  The changes went into 
the mainline kernel last fall:
    http://beagleboard-gsoc13.blogspot.com/


  -- 
  For more options, visit http://beagleboard.org/discuss
  --- 
  You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
  To unsubscribe from this group and stop receiving emails from it, send an 
email to mailto:beagleboard%[email protected].
  For more options, visit https://groups.google.com/groups/opt_out.


-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to