Перейти к содержанию
    

ADC ATmega128

Доброе утро всем знатокам.

На 128 меге сижу уже второй год и вот появилась задача по измерению аналоговых сигналов.

Решил использовать внутренний АЦП.

Столкнулся с тем что если я в режиме Free Running опрашиваю один канал то впринципе все работает, но как только начинаю мультиплексировать каналы то начинается пляска данных.

Даташит затер до дыр перепробовал всякие варианты и по прерыванию и без. Идеи вобщем кончились.

Подскажите где собака зарыта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброе утро всем знатокам.

На 128 меге сижу уже второй год и вот появилась задача по измерению аналоговых сигналов.

Решил использовать внутренний АЦП.

Столкнулся с тем что если я в режиме Free Running опрашиваю один канал то впринципе все работает, но как только начинаю мультиплексировать каналы то начинается пляска данных.

Даташит затер до дыр перепробовал всякие варианты и по прерыванию и без. Идеи вобщем кончились.

Подскажите где собака зарыта.

В какой момент переключаете каналы ?

Покажите код, экстрасенсить дело утомительное :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если это не глюк связанный с моментом переключения то:

Есть у атмела инфа на даташите которая показывает псевдо схему устройства выборки и хранения . Конденсатор показан чтото в районе 10 пик если не ошибаюсь а сопротивления для заряда - 10к -100к . так что максимальная постоянная заряда получается в микросекунду или подольше . Поэтому после переключения мультиплексора подождите микросекунду или больше а затем начинайте преобразование. Иначе остаточный заряд УВХ от старого канала будет влиять на следующее измерение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда читается регистр данных АЦП, сначала читается ADCL а потом ADCH. В доке про это написано. Если делать наоборот - в одноканальном режиме все будет работать нормально, а в многоканальном начинаются проблемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброе утро всем знатокам.

На 128 меге сижу уже второй год и вот появилась задача по измерению аналоговых сигналов.

Решил использовать внутренний АЦП.

Столкнулся с тем что если я в режиме Free Running опрашиваю один канал то впринципе все работает, но как только начинаю мультиплексировать каналы то начинается пляска данных.

Даташит затер до дыр перепробовал всякие варианты и по прерыванию и без. Идеи вобщем кончились.

Подскажите где собака зарыта.

 

После переключения канала перед снятием информации необходимо выждать интервал времени, превышающий время 1 преобразования. Интервал одного преобразования зависит от частоты преобразования АЦП, но минимальный, вроде, 13.5 мкС, посмотрите по даташиту и пересчитайте к вашей частоте

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если первое измерение после переключения проигнорировать, а использовать второе и далее, то ошибок не будет.

В документации к ранним МК об этом писали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С мегой 128 с мультиплексе работал все ок было - единственное после переключения нужно ждать несколько мкс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я не понимаю - зачем ждать?

или пропускать одну конверсию

тем самым усложнять алгоритм?

если сделать подругому:

1) ADEN=0

2) UPDATE MUX

3) ADEN=1

4) start conversion

;---

теперь очередная конверсия уже с новым каналом ацп будет сопровождаться с одним дополнительным циклом преобразования...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Огромное всем спасибо за то что обсудили тему

Предполагаю что все мои проблемы связаны с последовательностью чтения регистров данных.

Как только проверю это то сообщу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...