From: laurence on
Hi everybody !!!

Can someone help me to solve the following problem ?
I need to use an external signal in my program in order to make a good
enslavment of a signal.
So what, i want to get a very accurate value of my external signal.
I use the ADC module of the DSP 2812 but when I look a the value returned
there's a lot of noise on it.
Can someone explain me why this measure is so noisy and how i could
improve it ?
Thanks a lot

Laurence

From: Noway2 on

laurence wrote:
> Hi everybody !!!
>
> Can someone help me to solve the following problem ?
> I need to use an external signal in my program in order to make a good
> enslavment of a signal.
> So what, i want to get a very accurate value of my external signal.
> I use the ADC module of the DSP 2812 but when I look a the value returned
> there's a lot of noise on it.
> Can someone explain me why this measure is so noisy and how i could
> improve it ?
> Thanks a lot
>
> Laurence

There are many reasons why you can have noise in your signal. For the
sake of discussion we eliminate issues related to PCB layout, amplifier
selection, etc and focus on the F2812 itself.

The 2812 typcially performs poorly in regards to offset errors and has
a lot of small signal noise. A quick search on TI's dsp discussion
group will confirm this. I have have some DSPs that are rev E silicon
and some that are rev G and I have noticed that the 'noise' errors are
significantly less in the rev G version on the same circuit board, so
you may want to see what rev of processor you are using.

TI also provides an application note that will show you how to
calibrate the ADC using two reference signals. The calibration process
costs you a few percent at the upper and lower end at the expense of
overall acuracy. I have found that when I combine the calibration with
filtering and decimation that I am able to achieve a very stable signal
with a pretty high degree of accuracy (within about .2% over the entire
range). If you haven't already, you might want to consider
investigating these options as possible solutions.

From: Vladimir Vassilevsky on


laurence wrote:

> Hi everybody !!!
>
> Can someone help me to solve the following problem ?
> I need to use an external signal in my program in order to make a good
> enslavment of a signal.
> So what, i want to get a very accurate value of my external signal.
> I use the ADC module of the DSP 2812 but when I look a the value returned
> there's a lot of noise on it.
> Can someone explain me why this measure is so noisy and how i could
> improve it ?

The TMS 2812 has a lousy ADC indeed, and not much you can do about it.
First, make sure that the ADC clock and sample rate is in the integer
ratio with the other clocks and frequencies used by the 2812. This
cancels out intermod tones which are highly visible otherwise. Second,
you can run the ADC at the faster rate, and average several readings to
reduce the noise. It is convenient to do that using a burst mode, and
connecting your signal to the consequent inputs.

And, of course, the best option is using a good external ADC instead of
messing with the bad internal one.

Vladimir Vassilevsky

DSP and Mixed Signal Design Consultant

http://www.abvolt.com

From: PeteS on
Vladimir Vassilevsky wrote:
>
>
> laurence wrote:
>
>> Hi everybody !!!
>>
>> Can someone help me to solve the following problem ?
>> I need to use an external signal in my program in order to make a good
>> enslavment of a signal.
>> So what, i want to get a very accurate value of my external signal.
>> I use the ADC module of the DSP 2812 but when I look a the value returned
>> there's a lot of noise on it.
>> Can someone explain me why this measure is so noisy and how i could
>> improve it ?
>
> The TMS 2812 has a lousy ADC indeed, and not much you can do about it.
> First, make sure that the ADC clock and sample rate is in the integer
> ratio with the other clocks and frequencies used by the 2812. This
> cancels out intermod tones which are highly visible otherwise. Second,
> you can run the ADC at the faster rate, and average several readings to
> reduce the noise. It is convenient to do that using a burst mode, and
> connecting your signal to the consequent inputs.
>
> And, of course, the best option is using a good external ADC instead of
> messing with the bad internal one.
>
> Vladimir Vassilevsky
>
> DSP and Mixed Signal Design Consultant
>
> http://www.abvolt.com
>

As you note, the ADC on the 2812 is not 'particularly good'. I would say
(from my experience) that this is the case for most mixed signal devices
although I personally do not know why not having designed such devices.
Perhaps it's due to the tradeoffs involved.

I completely agree with Vladimir; if you need superior (or even
reasonable) A-D specs, use a standalone ADC designed for what you need.

Cheers

PeteS
From: Vladimir Vassilevsky on


PeteS wrote:

>>> So what, i want to get a very accurate value of my external signal.
>>> I use the ADC module of the DSP 2812 but when I look a the value
>>> returned there's a lot of noise on it.


>> The TMS 2812 has a lousy ADC indeed, and not much you can do about it.

[...]

>> And, of course, the best option is using a good external ADC instead
>> of messing with the bad internal one.
>>
>
> As you note, the ADC on the 2812 is not 'particularly good'. I would say
> (from my experience) that this is the case for most mixed signal devices
> although I personally do not know why not having designed such devices.
> Perhaps it's due to the tradeoffs involved.

The ADC on TMS 2812 has a 12 bit resolution, however the ENOB is only
about 9 bits. This is exactly what it is specified in the datasheet, but
subconsciously I expect much better results for a 12-bit device. That's
why the real performance of ADC on 2812 makes me feel disappointed.

The good mixed signal devices have two dies in one package - one for the
analog and another one for the digital part. That is expensive, and
having two separate devices is usually a better option.

VLV


 | 
Pages: 1
Prev: FFTW?
Next: Polarization Covariance Matrix