Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cмена канала ADC.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
DeVOuR
Привет всем, пишу программу для регистратора звуковых сигналов. Основоне задание - цифровать и анализировать данные от микрофона.
Заказчик еще требует сделать проверку питания, на случай, если оно упадет ниже допустимого в сети.
т.е. иногда переключатся и измерять напряжение на другой ноге АЦП.
микрофон подключен к ADC7, питание для измерения на ADC6.

я наверное чето не так делаю, т.к. с ADC6 считывает постоянно 0.
Схематехника в норме, если отслеживать только ADC6 - то все нормально.

последовательность моих действий такова:
-----------------------------------------------------------
цифровка сигнала с микрофона.
раз в 2 секунды:
1. отключить ацп
2. сменить канал
3. включить ацп
-проверить напряжение на 6м канале
1.отключить ацп
2. сменить канал
3. включить ацп и вернутся к оцифровке звука.
---------------------------------------------------------------
Цитата
cli
clr tempH
out ADCSRA,tempH ;disable ADC
ldi tempH,0b00000110 ;ADLAR=0, MUX=0110 - 6 channel
out ADMUX, tempH ;change channel
ldi tempH,0b11101111 ;ADEN=1,ADSC=1,ADFR=1,ADIE=1,ADPS[2:0]=111
out ADCSRA,tempH ;enable ADC
sei


и обратно на 7-й канал переключаюсь аналогично.

ЗЫ, если можно на асме.. и если найдется - покажите примерчик.. с ацп впервые сталкиваюсь (
ЗЫЫ. ATmega8L


Спасибо.
ARV
отключать АЦП перед сменой канала не надо.
смена канала происходит просто записью соответствующего значения в ADMUX. если это делать при остановленном преобразовании (бит ADSC равен нулю) - никаких дополнительных мер принимать не надо.
DeVOuR
ARV, cпасибо, разобрался. не знаю почему, но работает иначе..)
к тому же нашел пару косяков в коде. все нормально. работает.
спасибо еще разок)
demiurg_spb
У атмела был application note про цифровой диктофон на AVR и Dataflash.
Если ещё не видели его - посмотрите обязательно. Сильно поможет.
DeVOuR
Ок, спасибо. посмотрим обязательно.
я использую электретный микрофон+фильтры и усилки на операционниках.
INT1
Цитата(demiurg_spb @ Oct 18 2008, 21:20) *
У атмела был application note про цифровой диктофон на AVR и Dataflash.
Если ещё не видели его - посмотрите обязательно. Сильно поможет.



Цитата(DeVOuR @ Oct 18 2008, 23:36) *
Ок, спасибо. посмотрим обязательно.
я использую электретный микрофон+фильтры и усилки на операционниках.

почти 1 в 1:
http://www.gaw.ru/html.cgi/txt/app/Atmel/m...at45_to_avr.htm
GDI
Может напряжение сети встроенным компаратором определять? И переключаться не потребуется, и решение аппаратное будет.
DeVOuR
спасибо всем, проблема даавно решена, прибор уже ушел на финальные тестирования. по поводу компаратора - лишние микросхемы были не к чему, там на ацп простой делитель, 2 резюка стоят микрокопейки.
GDI
Какая микросхема? Я имею ввиду встроенный в любую мегу компаратор, который , к тому же, можно встроенным же мультиплексором подключить на любой вывод порта А( тот же где АЦП), т.е. даже плату не надо будет переразводить.

P.S. Теперь заметил, что тема то старая, просто кто то ее зачем то из глубины веков выкопал smile.gif, видимо, по ошибке.
DeVOuR
мне чето подумалось что ты о чем-то типа TL431
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.