Prev: FFTW?
Next: Polarization Covariance Matrix
From: laurence on 18 Dec 2006 03:39 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 18 Dec 2006 08:41 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 18 Dec 2006 09:14 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 18 Dec 2006 16:20 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 19 Dec 2006 07:55 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 |