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

 
 
> АЦП ATxmega
KIG
сообщение Jul 13 2011, 17:34
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Добрый вечер.

Проблема с АЦП AtXmega. Подаю переменное напряжение (1В) на диф входы АЦП. АЦП замеряет код с постоянной подставкой в 200мВ. Осциллограф также видет постоянную подставку. Величина подставки зависит от величины переменного напряжения. Кто-нибудь с таким сталкивался?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KIG
сообщение Jul 19 2011, 18:45
Сообщение #2


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

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Попробовал предложение Юрий_СВ. Получилось следующее: Отрицательное смещение пропало, когда подаю сигнал от генератора (у генератора смещение в половину размаха сигнала) (еще понаблюдаю).

Несколько вопросов:

1) Обнаружил наличие напряжения питания на отрицательном входе АЦП. Это напряжение поступает от МК. Почему так?
2) Почему нельзя использовать емкость как развязку по постоянному напряжению для того, чтобы избавиться от смещения?
3) Что означают знаки после слова SEI в команде asm ("SEI \n\t":sm.gif?
4) Начало преобразования у меня начинается после того как выполянется следующая команда ADCB.CTRLB|=(1<<3);? В описании написано что необходимо устанавливать стартовый бит для начала первого преобразования, я правильно понял?
5) После записи 3 бита в ADCB.CTRLВ начинается непрерывное преобразование точек АЦП. Причем частота дискретизации для предделителя 512 и частоты кварца 7372800Гц составляет 14150Гц. Вот код для инициализации кварца:

Код
void clock (void)
{
OSC.XOSCCTRL=0x43;
OSC.CTRL|=0x08;
do{} while ((OSC.STATUS & 0x08)==0);
asm ("ldi r16,0xd8");
asm ("ldi r17,0x03");
asm ("out 0x34,r16");
asm ("sts 64,r17");
OSC.CTRL&=~(1);
}


Почему такая большая частота дискретизации?

Заранее спасибо.

Сообщение отредактировал KIG - Jul 19 2011, 19:08
Go to the top of the page
 
+Quote Post
Юрий_СВ
сообщение Jul 20 2011, 11:24
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272



Цитата(KIG @ Jul 19 2011, 21:45) *
1) Обнаружил наличие напряжения питания на отрицательном входе АЦП. Это напряжение поступает от МК. Почему так?

трудно понять, что вы имели в виду...
я не телепат.
какой порт ? как "обнаружено" ? какие настройки порта? (должен быть 2-х тактный выход, работающий на вход, цифровой входной буфер - выкл)
Не мешает ли вам ЦАП или JTAG ?

Цитата(KIG @ Jul 19 2011, 21:45) *
2) Почему нельзя использовать емкость как развязку по постоянному напряжению для того, чтобы избавиться от смещения?

Если между выходом генератора и входом АЦП вы включите ёмкость - вы обязаны также включить и сопротивление от входа АЦП на корпус (это очевидно). (номиналы R и C надо правильно подобрать)
При положительной полуволне - всё в порядке. А вот при отрицательной.... абсолютно не понятно.
На входе контроллера - защитный диод. Скорее всего там шотка (мало понимаю в микроэлектронике).
Его характеристики нам абсолютно не известны !
В любом случае, характеристика у диода плавная, а не ступенчатая (закрыто/открыто).
Н-р, у Шотки 1N5819 уже при 0,2 вольта с небольшим прямой ток может достигать 0,1 А !!!
Это ток диода ограничит вам напряжение на резисторе и, соответственно, перекосит постоянную составляющую на ёмкости. На сколько перекосит - одному Богу известно.
(зависит от диода. характеристики которого не описаны)

Цитата(KIG @ Jul 19 2011, 21:45) *
3) Что означают знаки после слова SEI в команде asm ("SEI \n\t":sm.gif?

Inline Assembler Cookbook
Цитата
The linefeed and tab characters will make the assembler listing generated by the compiler more readable. It may look a bit odd for the first time, but that's the way the compiler creates it's own assembler code.


Цитата(KIG @ Jul 19 2011, 21:45) *
4) Начало преобразования у меня начинается после того как выполянется следующая команда ADCB.CTRLB|=(1<<3);? В описании написано что необходимо устанавливать стартовый бит для начала первого преобразования, я правильно понял?

Не пользовался непрерывным режимом. Нисего определённог не подскажу.
В описании не очевидно. По идее нужно первый раз запускать вручную. Но в описании применения AVR1300, как будто, без этого.

Цитата(KIG @ Jul 19 2011, 21:45) *
5) После записи 3 бита в ADCB.CTRLВ начинается непрерывное преобразование точек АЦП. Причем частота дискретизации для предделителя 512 и частоты кварца 7372800Гц составляет 14150Гц. Вот код для инициализации кварца:

Код
void clock (void)
{
OSC.XOSCCTRL=0x43;
OSC.CTRL|=0x08;
do{} while ((OSC.STATUS & 0x08)==0);
asm ("ldi r16,0xd8");
asm ("ldi r17,0x03");
asm ("out 0x34,r16");
asm ("sts 64,r17");
OSC.CTRL&=~(1);
}


Почему такая большая частота дискретизации?

Заранее спасибо.

Нельзя ли писать более понятно ? Или с комментариями...
(Лазить по всевозможным таблицам и искать что такое 0x34 или 64...)

Наверное, правильно, но время запуска я бы 256 тактов (для кварцевого резонатора) не ставил.
У меня 16000.

Насчёт частоты дискретизации... У вас она равна частоте синхронизации АЦП.
7372800 / 512 = 14 400
Такое возможно (если работает конвеер АЦП)
Должен ли он работать в вашем случае так сразу и не скажу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- KIG   АЦП ATxmega   Jul 13 2011, 17:34
- - ArtemKAD   В проце на входах стоят защитные диоды которые при...   Jul 13 2011, 17:55
|- - KIG   Попробовал подать переменный сигнал напрямую на но...   Jul 16 2011, 09:02
|- - Юрий_СВ   Цитата(KIG @ Jul 16 2011, 12:02) Попробов...   Jul 17 2011, 06:56
- - V_G   Диапазон напряжений на всех ногах процессора, вклю...   Jul 16 2011, 10:16
- - KIG   Источником сигнала является генератор типа PV6501....   Jul 17 2011, 16:48
|- - Юрий_СВ   Цитата(KIG @ Jul 17 2011, 19:48) Источник...   Jul 17 2011, 18:21
- - V_G   Уточните величину смещения вашего генератора. 1. Е...   Jul 17 2011, 22:46
- - ArtemKAD   ЦитатаИсточником сигнала является генератор типа P...   Jul 18 2011, 09:24
- - KIG   Генератор действительно выдает постоянный уровень ...   Jul 18 2011, 17:56
|- - V_G   Цитата(KIG @ Jul 20 2011, 05:45) 1) Обнар...   Jul 19 2011, 22:29
- - KIG   1) По первому вопросу: ПОРТ В , использую PIN0 (по...   Jul 20 2011, 15:21
|- - Юрий_СВ   Цитата(KIG @ Jul 20 2011, 18:21) 1) По пе...   Jul 20 2011, 17:28
- - KIG   Юрий_СВ, спасибо, теперь получилось   Jul 23 2011, 10:55


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

 


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


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