Источником сигнала является генератор типа PV6501. Сигнал с выхода генератора поступает со смещением в половину размаха величины сигнала (под размахом понимаю разницу между максимальным значением и минимальным). Чтобы избавиться от смещения последовательно к выходу генератора подключаю емкость. Далее сигнал поступает на ножки АЦП.
Использую ATxmega192A3. Частота внешнего кварца 7.3728 МГц. Далее привожу код инициализации АЦП:
Код
void ADC_init()
{
ADCB.CTRLA=1;
ADCB.CTRLB=(1<<4)|(1<<2);
ADCB.REFCTRL=(1<<4)|(1<<1);
ADCB.PRESCALER=(1<<1)|(1<<2)|1;
ADCB.CH0.CTRL=3;
ADCB.CH0.MUXCTRL=0;
ADCB.CH0.INTCTRL=3;
}
void main()
{
ADCB.CTRLB|=(1<<3);//старт преобразований АЦП
}
Предделитель 512. Для данной частоты и 8 битного результата частота дискретизации АЦП должна быть 2880 Гц, а у меня получается 14150 Гц. Правильно ли я понял Даташит?
Как же все таки загрузить в калибровочные регисторы значение заводской калибровки (и как их определить)?
Даже когда подаю сигнал с генератора без емкости все равно присутствует отрицательное смещение.