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.
