I have to read from ADC at 20khz in a continuous manner. Maybe I need to use DMA and Timer (or another way).
I read some documents, but I still don’t know how to deal with ADC, DMA and Timer interrupt from linux filesystem.
Very helpful if I have some clues. Thank for advance.
On Tue, 9 May 2017 15:10:51 -0700 (PDT),
hieuhotxac@gmail.com declaimed the following:
I have to read from ADC at 20khz in a continuous manner. Maybe I need to
use DMA and Timer (or another way).
I read some documents, but I still don't know how to deal with ADC, DMA and
Timer interrupt from linux filesystem.
Very helpful if I have some clues. Thank for advance.
For some reason... "interrupt" and "linux filesystem" (I presume you
mean the sysfs [or whatever it is called] that exposes the various devices)
seem to be at odds in my mind.
I could be all wet -- but the filesystem access overhead seems to
preclude reliable response timing (after all, most I/O on the filesystem
will result in process swapping).
Have Check out libpruio. ADC is available in three different modes
- IO (ARM fetches value, sloppy timing)
- MM (fixed number of samples, several trigger options)
- RB (ring buffer for continuous measurement)