Technical discussions about the TI C28x DSPs (including the C2810, C2811, C2812, F2801, F2806, F2808, F2810,, F2811, F2812, R2811 and R2812).
Hi, I'm looking for a little clarification on how the ADC voltage reference is used on the C28xxx processors. I've used AVRs, ARM7s, and Cortex-M3s in the past and conversion from digital counts to analog voltage was always something like: Vin =3D ADCvalue/4096 * Vref Where the input range is Vagnd =96 Vref. However, on the C28xxx according to the ADC datasheet, the equation seems t= o be: Vin =3D ADCvalue/4096 * 3.0 This implies (to me at least) that the max scale is always 3.0V despite the voltage reference selected. Is my understanding correct? Furthermore, what's the advantage of having different voltage references other then stability? Thanks, - Kyle ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables develope= rs to start building applications based on the OMAP35x architecture: http:/= /www.DSPRelated.com/omap35x You can post a message or access and search the archives of this group on D= SPRelated.com: http://www.dsprelated.com/groups/c28x/1.php _____________________________________
Hello, I've found your thread because of searching about a Problem with adc on F2808. I Think there is always the 3.0V bcause the DSP is switching circuts internally when you select 2.048, 1.5 or 1.024V external reference. In other prrocessors the maximum input voltage is reference Voltage. Here it is always 3V. There may be an voltage divider at input stage to make it comperable with reference voltage. But I don't found any information about it in manual. Now looking my Problem ;) I Think you are using external reference. So it may be posible to help me. When I'm using internal voltage reference there is much noise in adc result. So I tried using extern reference from the ezdsp board. To do so I set following bits: AdcRegs.ADCREFSEL.bit.REF_SEL = 0x1; AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x0; AdcRegs.ADCTRL3.bit.ADCPWDN = 0x1; The rusult is not what I expected. The signal always hanging at 4095 (maximum of 12bit). - What other registers have to be set? - Has the internal bandgap reference active when im using external? (makes no sense, but i get results - very confusing! ) - Is there anywhere an example which uses external reference? Sorry form my bad english and thanks for help! ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x You can post a message or access and search the archives of this group on DSPRelated.com: http://www.dsprelated.com/groups/c28x/1.php _____________________________________
Hi Simon,
I've been using the internal reference only and not the external reference. I think the problem
is because of the bandgap and the delay that you need to give before you can start using the
ADC. Here's a sample code for the bandgap
AdcRegs.ADCTRL1.all = 0x4000;
asm(" NOP");
asm(" RPT #14||NOP"); //DELAY to keep the device in reset
AdcRegs.ADCTRL1.all = 0x0;
AdcRegs.ADCTRL3.all = 0x00E0; // Power up bandgap/reference/ADC circuits
DELAY_US(INTERNAL_ADC_INITIAL_DELAY);
where, INTERNAL_ADC_INITIAL_DELAY is defined as 6000L. After you do this, you can enter the
configuration of the ADC.
I'm not sure about the usage of external reference so I'm not in a position to answer the other
part of your question.
Hope this helps.
Thanks,
Vishal
--- On Wed, 7/9/08, m...@web.de <m...@web.de> wrote:
From: m...@web.de <m...@web.de>
Subject: [c28x] Re: Vref and max scale on C28xxx
To: c...@yahoogroups.com
Date: Wednesday, July 9, 2008, 7:37 PM
Hello,
I've found your thread because of searching about a Problem with adc on F2808.
I Think there is always the 3.0V bcause the DSP is switching circuts internally when you select
2.048, 1.5 or 1.024V external reference. In other prrocessors the maximum input voltage is
reference Voltage. Here it is always 3V. There may be an voltage divider at input stage to make
it comperable with reference voltage. But I don't found any information about it in manual.
Now looking my Problem ;)
I Think you are using external reference. So it may be posible to help me.
When I'm using internal voltage reference there is much noise in adc result. So I tried using
extern reference from the ezdsp board.
To do so I set following bits:
AdcRegs.ADCREFSEL. bit.REF_SEL = 0x1;
AdcRegs.ADCTRL3. bit.ADCBGRFDN = 0x0;
AdcRegs.ADCTRL3. bit.ADCPWDN = 0x1;
The rusult is not what I expected. The signal always hanging at 4095 (maximum of 12bit).
- What other registers have to be set?
- Has the internal bandgap reference active when im using external? (makes no sense, but i get
results - very confusing! )
- Is there anywhere an example which uses external reference?
Sorry form my bad english and thanks for help!
------------------------------------
OMAP35x EVM jump-starts low-power apps
------------------------------------
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building
applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
You can post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c28x/1.php
_____________________________________
@Vishal: I know this with that delay. It's done so in the examples. But as long as you are not converting in starting up time you don't need the delay. It's only for reverence Voltage to become stable. I've tryed it and there is no difference at all. Can you tell me how large your noise is if you are using internal reference and a constant input voltage? At my application its about +-3 bit noise. Thanks, Simon ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x You can post a message or access and search the archives of this group on DSPRelated.com: http://www.dsprelated.com/groups/c28x/1.php _____________________________________