I have been working on adding DMA to the ADC driver, but it currently it throws 
overflow errors before DMA starts. The DMA should trigger when the ADC fifo 
reaches a predefined threshold, but for some reason there is a delay before DMA 
triggers. The ADC driver uses the IIO framework and I’m using their 
experimental DMA buffer framework which has its share of issues. I’m trying to 
diagnose the error by replicating the setup in Starterware.  Unfortunately the 
CCS debugger isn’t all that helpful so now I’m trying to get my Lauterbach 
working Starterware, but I have to translate the CCS GEL scripts to Lauterbach 
Practice scripts. 

Regarding the sampling rate, the datasheet does specify 200ksps, but if you 
setup the sample delay, open delay, etc, it should be possible to achieve 
something like 1.5msps, but I haven’t been able to verify this yet. 

Regards,
John




> On 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 
> <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 
> <mailto: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 
> <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/0543FF25-240A-4275-8BB4-5F93E48F28D9%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to