The ADC block is rated for 200Ksps max. The easiest thing to do is a quick char device driver that configure the ADC with the right settling times and have the DMA engine gather the data. Once you have that all you need to do is cat /dev/foobar > file.
The block doesn't run from 24MHz. It is divided down. IIRC, it needs to be around 6MHz. The PRU is indeed unnecessary and a waste of resources. All that does is turn the flexible PRU into a DMA engine but there is a hard DMA engine on the SoC already. In Monday, June 20, 2016 12:09:03 [email protected] 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. > > Thank -- Hunyue Yau http://www.hy-research.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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/1496053.WtKKS7Pqg7%40acer0. For more options, visit https://groups.google.com/d/optout.
