Бесплатная техническая библиотека
Двутональный многочастотный (DTMF) генератор на AVR. Энциклопедия радиоэлектроники и электротехники

Энциклопедия радиоэлектроники и электротехники / Телефония
Комментарии к статье
Отличительные особенности
- Генерация синусоидальных сигналов с использованием широтно-импульсной модуляции (ШИМ)
- Объединение различных синусоидальных сигналов в один DTMF-сигнал
- Исходные коды на языках ассемблер и Си
- Разработан для совместной работы с STK500
- Размер кода программы 260 байт/размер таблицы констант 128 байт
- Использование метода табличного преобразования
Введение
Данный документ описывает методику генерации DTMF-сигналов (двутональные многочастотные сигналы) с использованием любого AVR-микроконтроллера, содержащего блок широтно-импульсной модуляции (ШИМ) и статическое ОЗУ. Данные сигналы находят широкое применение в телефонии, где они воспроизводятся при нажатии на кнопки набора номера телефонного аппарата. Для правильной генерации DTMF-сигнала необходимо наложить две частоты вместе: низкую частоту (fb) и высокую частоту (fa). В таблице 1 показано как смешиваются различные частоты для получения DTMF-тонов при нажатии на различные клавиши.
Рисунок 1. Схема генератора DTMF-сигнала
Таблица 1. Матрица формирования тонального сигнала
| fb/fa |
1209 Гц |
1336 Гц |
1477 Гц |
1633 Гц |
| 697 Гц |
1 |
2 |
3 |
A |
| 770 Гц |
4 |
5 |
6 |
B |
| 852 Гц |
7 |
8 |
9 |
C |
| 941 Гц |
* |
0 |
# |
D |
В строках таблицы 1 представлены значения низкой частоты, а в столбцах - значения высокой частоты. Например, в матрице показано, что при нажатии на кнопку "5" должны смешиваться частоты fb = 770 Гц и fa = 1336 Гц. В результате сложения двух синусоидальных сигналов разных частот образуется DTMF-сигнал
(1)
где отношение амплитуд K=Ab/Aa исходных сигналов должно отвечать условию
(2)
Принцип действия
Помимо общих сведений об использовании широтно-импульсной модуляции далее будет показано как широтно-импульсная модуляция позволяет генерировать синусоидальные сигналы. В следующем параграфе описывается как, используя базовую частоту ШИМ получить различные частоты. После рассмотрения теоретических основ будет дано описание непосредственно генератора DTMF-сигнала. Генерация синусоидальных сигналов
В зависимости от соотношения длительности высокого VH и низкого VL уровней напряжения среднее значение на выходе ШИМ изменяется. Если соотношение между длительностями обоих уровней удерживать постоянным, то в результате будет генерироваться постоянный уровень напряжения VAV. Рисунок 2 показывает сигнал с широтно-импульсной модуляцией.
Рисунок 2. Генерация уровня постоянного напряжения
Уровень напряжения определяется выражением:
(3)
Синусоидальный сигнал может генерирован при условии, что среднее значение напряжения, генерируемого широтно-импульсной модуляцией будет изменяться каждый период ШИМ. Соотношение между высоким и низким уровнями должно задаваться в соответствие с уровнем напряжения синусоидального сигнала при соответствующем времени. На рисунке 3 иллюстрируется данный процесс. Исходные данные для ШИМ вычисляются для каждого ее периода и записываются в таблицу преобразования (ТП).
Рисунок 3 также иллюстрирует зависимость между частотой основного синусоидального сигнала и количеством выборок. Чем выше число выборок (Nc) - тем выше точность моделирования результирующего сигнала:
(4)
| где |
f - частота синусоидального сигнала (1/T) |
|
f1 - частота ШИМ (fCK/510) |
|
T - период основного синусоидального сигнала; |
|
fCK - тактовая частота таймера; |
|
NC - количество выборок (=12 на рис. 3) |
Частота ШИМ зависит от разрешающей способности ШИМ. При 8-разрядном разрешении, конечное значение (вершина счета) таймера равно 0xFF (255). Т.к. таймер выполняет счет в прямом и обратном направлениях, то данное значение должно быть удвоено. Поэтому, частота ШИМ может быть вычислена путем деления тактовой частоты таймера fCK на 510. Таким образом, при частоте тактирования таймера 8 МГц результирующая частота ШИМ составит 15.6 кГц .
Рисунок 3. Генерация синусоидального сигнала с использованием ШИМ
Изменение частоты синусоидального сигнала
Предположим, что синусоидальные выборки считываются из таблицы преобразования не последовательно, а через одну. В этом случае при той же частоте чтения выборок будет генерироваться сигнал с удвоенной частотой (см. рисунок 4).
Рисунок 4. Удвоение результирующей частоты (XSW = 2)
По аналогии, если считывать не каждое второе значение, а каждое третье, четвертое, пятое (соответственно, ширина шага 3, 4, 5…) и т.д. можно генерировать Nc-частот в диапазоне [1/T Гц .. 0 Гц]. Обратите внимание, что для высоких частот результирующая форма сигнала не будет синусоидальной. Ширину шага по таблице преобразования обозначим как XSW, где
(5)
Вычисление текущей позиции в ТП для следующего периода ШИМ (при переполнении таймера) выполняется с помощью выражения (6). Новое значение в позиции XLUT зависит от его предыдущего состояния в позиции X'LUT с прибавлением ширины шага XSW
(6)
| где |
XLUT - предыдущая позиция в таблице преобразования; |
|
X'LUT - текущая позиция в таблице преобразования. |
Сложение разных частот для получения DTMF-сигнала
DTMF-сигнал может быть сгенерирован с помощью выражений (1) и (2). Для простоты арифметических действий значение коэффициента К принимается равным 0.75, чтобы арифметическое действие заменить логическими сдвигами. С учетом выражения (6) текущее значение для управления ШИМ может быть вычислено по выражению:
(7)
а с учетом, что XLUTa=X'LUTa + XSWa,XLUTb=X'LUTb + XSWb, окончательно запишем
(8)
Реализация DTMF-генератора
В данном приложении рассматривается построение DTMF тонального генератора с использованием выхода 8-разрядной ШИМ (OC1A) и таблицы с 128 выборками значений синусоидальной функции (Nc), каждая из которых задается 7 битами (n). Следующие выражения показывают эту зависимость, а также показывают как вычислить элементы таблицы преобразования:
(9)
Преимуществом использования 7 бит является то, что сумма значений сигналов высокой и низкой частоты имеет размер одного байта. Для поддержки полного набора DTMF-тонов необходимо вычислить 8 значений для каждой DTMF-частоты из таблицы 1 и занести их в таблицу преобразования.
Для достижения более высокой точности выполнено следующее решение: значения, вычисленные по выражению 5 требуют всего 5 байт. Для использования всех 8 байт, что позволит уменьшить погрешность округления, это значение умножается на 8. Указатель на таблицу преобразования записывается таким же способом. Но в этом случае требуется два байта для запоминания 8-кратного значения. Это означает, что необходимо выполнить 3 правосторонних сдвига и операцию модуля по основанию Nc (логическое умножение на Nc-1) перед использованием этих байт как указателя на значения синусоиды в
(10)
| где |
XLUTa,b - текущая позиция элемента в таблице преобразования (фактический формат); |
|
XLUTa,bExt -предыдущая позиция элемента в таблице преобразования (расширенный формат); |
|
ROUND - функция округления. |
Рисунок 5. Схема модуля для подключения к STK500
ШИМ-сигнал формируется на выводе OC1A (PD5). Дополнительный выходной фильтр будет способствовать большему соответствию синусоидальной форме сигнала. При уменьшении частоты ШИМ может возникнуть необходимость применения фильтра с более крутой АЧХ для получения хорошего результата.
Подключение клавиатуры показано на рисунке 1. Работа клавиатуры должна быть организована таким образом, чтобы была возможность определения нажатой клавиши. Это может быть выполнено по следующему алгоритму:
- Определение строки нажатой клавиши
- настроить младшую тетраду порта В на выход и установить лог. "0"
- настроить старшую тетраду порта В на вход с подключением подтягивающих резисторов
- строка с нажатой кнопкой определяется как разряд старшей тетрады с лог. "0"
- Определение столбца нажатой клавиши
- настроить старшую тетраду порта В на выход и установить лог. "0"
- настроить младшую тетраду порта В на вход с подключением подтягивающих резисторов
- столбец с нажатой кнопкой определяется как разряд младшей тетрады с лог. "0"
Прим.: В STK200 между выводами разъема PORTB и выводами микроконтроллера BP5, PB6 и PB7 включены последовательно резисторы (см. схему STK200). Это вызовет проблемы если клавиатура подключена к разъему PORTB.
Рисунок 6 иллюстрирует работу подпрограммы по определению нажатой клавиши. В зависимости от нажатой клавиши определяется длительность интервала. Процедура обработки прерывания использует это значение для вычисления установок ШИМ для двух синусоид DTM-тона. Процедура обработки прерывания показана на рисунках 7 и 8.
Эта процедура вычисляет значение для сравнения с выходом таймера на следующий период ШИМ. Процедура обработки прерываний сперва вычисляет позицию значения следующей выборки в таблице преобразования и считывает сохраненное там значение.
Позиция выборки в таблице преобразования определяется длительностью импульса, а собственно длительность импульса определяется генерируемой частотой.
Окончательное значение, которое записывается в регистр сравнения таймера, определяется с использованием формулы (7), где учитываются значения выборок обеих DTMF-частот.
Рисунок 6. Блок-схема основной программы
Рисунок 7. Блок-схема процедуры обработки прерывания по переполнению таймера
Рисунок 8. Блок-схема процедуры чтения выборки "GetSample"
Публикация: cxem.net
Смотрите другие статьи раздела Телефония.
Читайте и пишите полезные комментарии к этой статье.
<< Назад
Последние новости науки и техники, новинки электроники:
Токсичность интернета преувеличена
07.01.2026
Социальные сети нередко воспринимаются как арена постоянной агрессии, оскорблений и распространения фейковой информации. Новое исследование Стэнфордского университета показывает, что реальность значительно отличается от популярного представления: интернет гораздо менее токсичен, чем многие пользователи считают.
Ученые опросили более тысячи американцев, попросив их оценить долю пользователей соцсетей, которые ведут себя агрессивно или распространяют ненависть. Оказалось, что впечатления людей сильно преувеличивают масштабы проблемы. Например, респонденты считали, что почти половина пользователей Reddit хотя бы раз оставляла оскорбительные комментарии, тогда как фактические данные платформы показывают, что таких людей не более 3%.
Аналогичная ситуация наблюдается с дезинформацией. Опрос показал, что большинство участников считали почти половину аудитории Facebook распространителями фейковых новостей, однако статистика говорит об обратном: фактическая доля таких пользователей состав ...>>
Процессоры Ryzen AI 400
07.01.2026
Современные вычисления все больше ориентируются на интеграцию искусственного интеллекта и высокую производительность в компактных устройствах, таких как ноутбуки и мини-ПК. Новая линейка процессоров AMD Ryzen AI 400 демонстрирует, как разработчики объединяют мощные центральные ядра, графику и нейросетевые ускорители в одном чипе, чтобы удовлетворять растущие потребности пользователей в играх, контенте и ИИ-приложениях.
AMD представила процессоры серии Gorgon Point, которые включают до 12 ядер Zen 5 и до 24 потоков вычислений. Чипы поддерживают интегрированную графику RDNA 3.5, обеспечивают максимальную тактовую частоту до 5,2 ГГц и имеют энергопотребление от 15 Вт до 54 Вт. Особое внимание уделено NPU, способному обрабатывать до 60 триллионов операций в секунду (TOPS), что делает эти процессоры эффективными для задач с искусственным интеллектом.
Конструкция Ryzen AI 400 сочетает ядра Zen 5 и Zen 5c, обеспечивая высокую гибкость и производительность. Несмотря на то, что архитектур ...>>
Женщины лучше распознают признаки болезни по лицу
06.01.2026
Способность распознавать, что кто-то нездоров, часто проявляется интуитивно: бледная кожа, опущенные веки, уставшее выражение лица могут сигнализировать о недомогании. Новое исследование международной группы ученых показало, что женщины в среднем точнее мужчин улавливают такие тонкие невербальные признаки болезни, что может иметь эволюционные и социальные объяснения.
В отличие от предыдущих работ, где использовались отредактированные фотографии или имитация больных лиц, ученые решили проверить, насколько люди способны распознавать естественные признаки недомогания. Такой подход позволил оценить реальную чувствительность к изменениям в лицах, возникающим при болезни.
В исследовании приняли участие 280 студентов, поровну мужчин и женщин. Участникам предложили оценить 24 фотографии, на которых изображены люди как в здоровом состоянии, так и во время болезни. Это дало возможность сравнить восприятие естественных признаков недомогания в реальных лицах.
Для анализа состояния каждого ...>>
Случайная новость из Архива Женская и мужская депрессии отличаются генами
21.03.2018
Известно, что клиническая депрессия по-разному проявляется у женщин и мужчин: женщины страдают от нее чаще, но у мужчин ее симптомы разнообразнее и сильнее. В то же время когда речь идет о клеточных и молекулярных изменениях в мозге во время депрессии, то обычно их изучают на мужском мозге - хотя вполне вероятно, что молекулярно-клеточные особенности болезни у женщин выглядят иначе, чем у мужчин.
Ученые из Питтсбургского университета решили сравнить активность генов в мужском и женском мозге во время депрессии. Они нашли готовые исследования, в которых активность генов измеряли в мозгах обоего пола, и сопоставили "женские" данные с "мужскими". Во всех работах использовались образцы, взятые посмертно у больных с клинической депрессией (или, говоря более корректно, с большим депрессивным расстройством). В целом статистика охватывала 50 человек, почти поровну мужчин и женщин; образцы больных также сравнивали с таким же количеством образцов, взятых от здоровых людей.
При депрессии многие нейроны, нервные цепочки и нервные центры работают иначе, чем в здоровом мозге, и депрессивные изменения в работе мозга часто обусловлены изменениями в работе генов в нервных клетках. Однако многие гены, чья активность меняется во время депрессии, у мужчин и женщин не совпадали. То есть у мужчин во время депрессии изменялась активность одних генов, а женщин - других. Более того, даже если взять какой-нибудь ген, который и в мужском, и в женском мозге во время депрессии начинает работать иначе, то мы увидим, что работает-то он иначе, но по-разному. Иными словами, в женском мозге его активность меняется одним манером, а в мужском - тоже меняется, но другим манером, причем не просто другим манером, но в прямо противоположном направлении, нежели у женщины.
Например, у женщин гены, влияющие на активность межнейронных контактов-синапсов, во время депрессии работали активнее, чем обычно, а у мужчин те же самые гены, наоборот, "засыпали". С другой стороны, у депрессивных женщин падала активность иммунных генов, а у мужчин иммунные гены, наоборот, заметно активировались. При этом такие взаимно противоположные изменения нередко зависели от конкретной зоны мозга.
Исследователи анализировали генетическую активность в трех зонах, связанных с настроением - в миндалевидном теле, в передней поясной коре и в дорсолатеральной префронтальной коре - и если у женщины какой-то ген работал активнее в одной зоне, а в другой "засыпал", то у мужчин в тех же мозговых участках и с тем же самым геном картина была обратной, то есть в первом участке он "засыпал", а в другом активировался.
|
Другие интересные новости:
▪ Строить здания по примеру шершней
▪ Изменения климата сказываются на виноделии
▪ Робот поможет одеться
▪ Космическая миссия по спасению планеты
▪ Бионический орган зрения
Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки:
▪ раздел сайта Ограничители сигнала, компрессоры. Подборка статей
▪ статья И струны громкие Баянов не будут говорить о нем! Крылатое выражение
▪ статья За какую зеленую революцию получил Нобелевскую премию мира Норман Борлоуг? Подробный ответ
▪ статья Проведение массовых мероприятий. Типовая инструкция по охране труда
▪ статья Термометр на микроконтроллере. Энциклопедия радиоэлектроники и электротехники
▪ статья Электроустановки в пожароопасных зонах. Распределительные устройства, трансформаторные и преобразовательные подстанции. Энциклопедия радиоэлектроники и электротехники
Оставьте свой комментарий к этой статье:
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua
2000-2026