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

 
 
 
Reply to this topicStart new topic
> ADC ATmega128, Проблемы мультиплексирования
Инж
сообщение Apr 5 2007, 08:01
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 5-04-07
Пользователь №: 26 780



Доброе утро всем знатокам.
На 128 меге сижу уже второй год и вот появилась задача по измерению аналоговых сигналов.
Решил использовать внутренний АЦП.
Столкнулся с тем что если я в режиме Free Running опрашиваю один канал то впринципе все работает, но как только начинаю мультиплексировать каналы то начинается пляска данных.
Даташит затер до дыр перепробовал всякие варианты и по прерыванию и без. Идеи вобщем кончились.
Подскажите где собака зарыта.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 5 2007, 12:04
Сообщение #2


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Инж @ Apr 5 2007, 09:01) *
Доброе утро всем знатокам.
На 128 меге сижу уже второй год и вот появилась задача по измерению аналоговых сигналов.
Решил использовать внутренний АЦП.
Столкнулся с тем что если я в режиме Free Running опрашиваю один канал то впринципе все работает, но как только начинаю мультиплексировать каналы то начинается пляска данных.
Даташит затер до дыр перепробовал всякие варианты и по прерыванию и без. Идеи вобщем кончились.
Подскажите где собака зарыта.

В какой момент переключаете каналы ?
Покажите код, экстрасенсить дело утомительное smile.gif
Go to the top of the page
 
+Quote Post
_artem_
сообщение Apr 5 2007, 13:02
Сообщение #3


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



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


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
ZAO
сообщение Apr 5 2007, 14:01
Сообщение #4





Группа: Новичок
Сообщений: 8
Регистрация: 17-01-06
Пользователь №: 13 289



Когда читается регистр данных АЦП, сначала читается ADCL а потом ADCH. В доке про это написано. Если делать наоборот - в одноканальном режиме все будет работать нормально, а в многоканальном начинаются проблемы.
Go to the top of the page
 
+Quote Post
rat
сообщение Apr 5 2007, 14:19
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(Инж @ Apr 5 2007, 12:01) *
Доброе утро всем знатокам.
На 128 меге сижу уже второй год и вот появилась задача по измерению аналоговых сигналов.
Решил использовать внутренний АЦП.
Столкнулся с тем что если я в режиме Free Running опрашиваю один канал то впринципе все работает, но как только начинаю мультиплексировать каналы то начинается пляска данных.
Даташит затер до дыр перепробовал всякие варианты и по прерыванию и без. Идеи вобщем кончились.
Подскажите где собака зарыта.


После переключения канала перед снятием информации необходимо выждать интервал времени, превышающий время 1 преобразования. Интервал одного преобразования зависит от частоты преобразования АЦП, но минимальный, вроде, 13.5 мкС, посмотрите по даташиту и пересчитайте к вашей частоте
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Apr 5 2007, 14:32
Сообщение #6


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Если первое измерение после переключения проигнорировать, а использовать второе и далее, то ошибок не будет.
В документации к ранним МК об этом писали.
Go to the top of the page
 
+Quote Post
djmixi(Димка)
сообщение Apr 5 2007, 14:59
Сообщение #7


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

Группа: Новичок
Сообщений: 75
Регистрация: 13-02-07
Пользователь №: 25 307



С мегой 128 с мультиплексе работал все ок было - единственное после переключения нужно ждать несколько мкс.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Apr 5 2007, 19:35
Сообщение #8


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



я не понимаю - зачем ждать?
или пропускать одну конверсию
тем самым усложнять алгоритм?
если сделать подругому:
1) ADEN=0
2) UPDATE MUX
3) ADEN=1
4) start conversion
;---
теперь очередная конверсия уже с новым каналом ацп будет сопровождаться с одним дополнительным циклом преобразования...


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
Инж
сообщение Apr 6 2007, 07:25
Сообщение #9





Группа: Новичок
Сообщений: 13
Регистрация: 5-04-07
Пользователь №: 26 780



Огромное всем спасибо за то что обсудили тему
Предполагаю что все мои проблемы связаны с последовательностью чтения регистров данных.
Как только проверю это то сообщу
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:15
Рейтинг@Mail.ru


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