Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15 Сообщений: 2106 Откуда: Старые Васюки
Рейтинг сообщения:0
Если речь всё же об АОНе, а не о DTMF, то 8870 не канает – тут только "ручками, ручками". ДПФ надо писать, желательно на асме. Плюс парсинг и пересборка пакета, ну это самое простое.
Я в своё время частично воспользовался для этого исходниками АОНа на Z80, свободно валяющимися в сети.
_________________ Даже остановленные часы два раза в сутки показывают правильное время.
Здравствуйте. У меня вопрос именно по DTMF и MT8870. Нужно написать программку которая будет декодировать DTMF сигнал и потом управлять внешней нагрузкой. На вход будет приходить 2 команды:
Тогда следующий вопрос такой: МТ8870 декодирует по 1 цифре за цикл?
Если это так то я могу сравнивать только последнюю цифру, например:
0b43 Включить нагрузку:
Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54 Сообщений: 1287 Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения:0
Цифры декодируются в порядке получения.
Как только будет получена цифра появляется сигнал на 15 ножке, МК обрабатывает внешнее прерывание, получает код от MT8870.
Лично я бы в виде команды использовал не одну цифру на определенную последовательность дабы исключить ошибку или многократный повтор одной команды.
Заголовок сообщения: Re: программирование микроконтроллеров AVR для АОНа
Добавлено: Пн май 25, 2009 16:52:07
Сверлит текстолит когтями
Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54 Сообщений: 1287 Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения:0
balagurov07 писал(а):
имеется dtmf-сигнал состоящий из 2 частот, как на микроконтроллере обрабатывать его, чтобы получить передаваемую цифру
DTMF (Dual Tone Multi Frequency, тоновый набор):
Способ кодирования набранного номера, при котором цифры передаются сочетанием двух звуковых тонов. Всего в системе используется восемь различных тонов, подобранных таким образом, чтобы они передавались по телефонной сети с минимальным затуханием без наложения друг на друга. Поскольку данные тоны приходятся как раз на частотный диапазон человеческой речи, были приняты специальные меры, чтобы предотвратить распознавание определенных звуков голоса как сигналов набора (данное ложное распознавание обозначается термином talk-off).
for (i=0;i<4;i++) { if (i==0) { full_DTMF=0; } MT8870_TOE_ON(); // активизировать выводы (Q1-Q4) MT8870 #asm("nop") cod_DTMF = PINB & 0x0F; // получить код DTMF из MT8870 #asm("nop") MT8870_TOE_OFF(); // выводы (Q1-Q4) MT8870 перевести в Z состояние full_DTMF=full_DTMF+cod_DTMF; }
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения