реклама на сайте
подробности

 
 
> АЦП в Xmega
Nosaer
сообщение Jan 13 2016, 14:30
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 85
Регистрация: 6-02-15
Пользователь №: 84 967



Здравствуйте.
Начал разбираться с АЦП в Xmega и столкнулся с проблемой в результате которой получаю не совсем корректные данные.
Собственно вот код инициализации АЦП:
Код
void ADC_init()
{    
    //ADCA.CAL=0xff;                                            // Значение для калибровки АЦП
    ADCA.CTRLB = ADC_RESOLUTION_12BIT_gc;                     // 12 бит дескретизация
    ADCA.REFCTRL = ADC_REFSEL_INT1V_gc | 0x02;                // Опорное напряжение 1 В.
    ADCA.PRESCALER = ADC_PRESCALER_DIV256_gc;                    // Переферийная частота работы АЦП
    ADCA.CH0.CTRL = ADC_CH_INPUTMODE_SINGLEENDED_gc;        // CH0 настроен на внешний несимметричный вход
    ADCA.CH0.MUXCTRL = ADC_CH_MUXPOS_PIN3_gc;                 // Настраиваем как положительный вывод порта для АЦП
    ADCA.CTRLA|= ADC_ENABLE_bm;                                // Активирую АЦП
    ADCA.CTRLB|=(1<<3);                                        // Старт  автоматического преобразования АЦП
}


На 3 пин порта А, подаю напряжение заведомо выше 1В, ожидая получить с АЦП максимальное значение, что то в районе 4095(судя по даташиту для безнакового вывода)
В результате получаю значение в районе 2700.
Вроде бы все регистры уже перепроверил, никак не могу понять в чем проблема.
Надеюсь на Вашу помощь)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Александр1
сообщение Jan 14 2016, 05:45
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 465
Регистрация: 13-05-15
Из: Запорожье
Пользователь №: 86 663



Цитата(Nosaer @ Jan 13 2016, 17:30) *
Код
void ADC_init()
{    
    //
    ADCA.REFCTRL = ADC_REFSEL_INT1V_gc | 0x02;                // Опорное напряжение 1 В.
    
}


На 3 пин порта А, подаю напряжение заведомо выше 1В, ожидая получить с АЦП максимальное значение, что то в районе 4095(судя по даташиту для безнакового вывода)
В результате получаю значение в районе 2700.

Я так понял, что опорное напряжение для АЦП 1 В, а на вход АЦП подаете "заведомо выше 1 В"?
В этом случае результат преобразования будет некорректен. На вход АЦП должно подаваться напряжение не более опорного напряжения. Опорное напряжение соответствует максимальному значению преобразования.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th August 2025 - 21:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016