The ADC module is a 200ksps SAR module . . .You're only going to be able to
sample 200k samples per second . . .

Additionally you can use:


   1. PRUs ( Programmable Real-time Units )
   2. IIO ( industrial IO )
   3. /dev/mem/ + mmap()


To read 200ksps. Personally, I've proven that /dev/mem + mmap() can work
for reading 200ksps for 7 channel simultaneously. But CPU usage is so high,
that you're not going ot be able to do a whole lot more in addition to
reading the ADC in this fashion. Hence, the PRU are best used, as this
offers hardware offload( very little CPU load needed - and only when
reading values out  ).

On Mon, Jun 20, 2016 at 12:00 PM, Stewart <snelson.st...@gmail.com> wrote:

> I'm looking to write a simple app for BBB.  When started from the command
> line, it would set up the ADC in continuous mode and read ~1 M samples from
> e.g. AN0 into memory.  After the capture is complete, it would write the
> data to a file and exit.
>
> Ideally, it would run at the hardware limit of 1.6 MSPS (15 cycles of 24
> MHz adc_clk per sample).  If that's not practical, 800 KSPS or better would
> be acceptable.
>
> What is an easy way to do this?  Most Beaglebone ADC examples sample at
> kilohertz rates or slower.
>
> This guide:
> http://processors.wiki.ti.com/index.php/Linux_Core_ADC_User%27s_Guide
> speaks of 200 KSPS.  What is the limitation here?
>
> I've seen various suggestions to use the PRU, but don't understand why.  I
> would think that since DMA would be required anyway, there should be no
> requirement to otherwise access the hardware with tight timing.  If PRU is
> indeed necessary, is there a suitable example or tutorial?  (None of the
> libpruio built-in examples deal with rapid sampling or large amounts of
> data.)
>
> Any other ideas for a simple way to capture data fast will be gratefully
> appreciated.
>
> Thanks.
>
> --
> 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 beagleboard+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beagleboard/aeaf9852-fb4c-4fd1-9594-8aad0ad5fd3c%40googlegroups.com
> <https://groups.google.com/d/msgid/beagleboard/aeaf9852-fb4c-4fd1-9594-8aad0ad5fd3c%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CALHSORp6fi1O6wbX92umVoCWhQwOQRC2bpNKe%3DkFEQ3vBE%3D-8A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to