How about using UBB to extend a SPI ADC
Werner Almesberger
werner at almesberger.net
Fri Apr 8 18:26:03 EDT 2011
Jianming Liu wrote:
> I am writing to query about whether it is possible to use UBB to extend a
> SPI ADC (ads8341), because currently I am designing a data collection system
> using a SPI ADC ads8341 based on S3C6410.
That should work, yes. One question is what sampling rate you need
and how much delay and jitter your samples tolerate. UBB is
bit-banged, so your maximum data rate is limited to something like
1 Mbps (or ~30 kSa/s), at 100% CPU utilization.
The jitter depends on your trigger. Would you do periodic sampling,
have a trigger signal, or would your program decide when it's time
on its own ? For anything that uses a timer/external trigger, you
need to consider the Ben's interrupt latency.
Delay depends on latency plus how quickly you need to retrieve the
sample. In the best case, if you have interrupt-driven operation,
you'd first retrieve the previous sample and only then start the
next acquisition and conversion. That way, you only need one
interrupt per sample.
> I am considering whether it is
> possible use the UBB and JZ47xx instead for this.
If "JZ47xx" means that you'll design your own board, then you could
use the SPI controller and thus wouldn't have to worry about
bit-banging. You'd still have to think about the other timing
issues, though (like you would with any other processor).
> How to implement the driver for this under Linux,
That again depends on your requirements ;-) If they're modest
enough, even a user-space implementation might do.
Ben+UBB with a user-space driver may also be handy for prototyping.
- Werner
More information about the discussion
mailing list