EmbeddedRelated.com
Forums

ARM with 12-bit ADC

Started by ravi February 22, 2008
--- In l..., "Victor Suarez"
wrote:
>
> I need to achieve 400Khz sampling (one channel) with an LPC2138. I can
> do pooling and any sort of tricks, but I need the time between samples
> to do some processing.
> Can it be done? 5us per sample as proposed is too much for my
> application. Any recommendations?
> Anyone knows if I can operate the two ADC interlevaded or in parallel
> to achieve 800KHz sampling?
>

We use a LPC213x with 200 KHz sampling for a DAC interleved with 2
channels of ADC, each at 100KHz. It's pusing it to its limits, though:
getting the samples in and out of the device at those rates is quite a
challenge if any time is to be left for processing.

For a start, I assume you're talking about using external ADCs? 400 KHz
would not be possible with the internal ones, AFAIK, due to the
conversion period.

If I were you I'd look at something like:

- tie the "conversion done" bit into the an external interrupt i/p pin
on the LPC21xx configured as an FIQ
- preset all the banked FIQ registers to something useful values, so
you don't have to save/restore them
- clock the ADCs from a timer o/p configured as a PWM.

I'm not sure you'd get 800 KHz sampling, though, even doing that.

Just as a metter of interest, what type of signal is it?

Brendan

An Engineer's Guide to the LPC2100 Series

> How many gadgets do you intend to build? If chip cost is not an issue,
>why not use a 12 bit A/D with parallel interface and couple it to a 500
>MHz Blackfin processor with a DMA channel?

I cannot afford for the costs of a blackfin processor. My platform is
based on LPC. I need to know the possibilities of that processor in
order to take the inal decision. What I need to know in this phase of
developent, is whats de maximum frequency of sampling achievable with
LPC2138. Information needs NOT to be regulary sampled, I can sample as
fast as I can or mix a variable count of instruccions between samples.

>With this approach you can meet the sampling requirements and still
>have a lot of compute cycles for processing.

Nlakfin processors seems very attractive but not for my current
project. Im considering them for future projects. An interesting ADC
I plan to use is
http://focus.ti.com/docs/prod/folders/print/ths1215.html

Now I want to know capabilitises of LPC chips. Any further information?

>A/D: http://www.analog.com/en/prod/0,,AD7854,00.html
>Blackfin: http://www.analog.com/processors/blackfin/
>Oh, and the Blackfin has DSP capability if you want to manipulate the
>incoming A/D samples.

Nice chips, Ill consider it. Thanks.
DSP is not needed, Ill send samples to a PC for further processing.
Oversampling is often done because the analog anti-aliasing filter
before the A/D does not suppress the frequencies outside of the
desired downsampled bandwidth well enough.

For example, lets say you want to sample a signal with 100 kHz maximum
frequency (200 kHz sampling rate), and reject all frequencies above
this. A regular single pole RC anti-aliasing filter only suppresses
high frequencies at 20 dB/decade, so if there is, for example, some
unwanted signal at 150 kHz it will be aliased to 50 kHz in your
downsampled signal and only attenuated by 1 dB or so. But if one
samples at 2 MHz (10 times oversampling), and then applied a "perfect"
digital filter to filter out everything above 100 kHz, then mostly
signal between 1.9 MHz to 2.1 MHz can affect your signal, and this
will be attenuated by 26 dB = 20 log (2 MHz / 100 kHz).

Because designing good analog filters might require high tolerance
(and expensive) components, often a simple 2-pole filter is good
enough to roughly attenuate the high frequencies and then a more
accurate digital FIR or IIR filter can be used to more precisely
eliminate frequencies near the passband. For something like the LPC
ARM7TDMI chip with its limited processing power probably some hybrid
technique is best, especially if one can employ simple IIR filters
with power-of-2 coefficients (binary shifts).

Dan