Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


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

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / телефонія

Коментарі до статті Коментарі до статті

Відмінні особливості

  • Генерація синусоїдальних сигналів з використанням широтно-імпульсної модуляції (ШІМ)
  • Об'єднання різних синусоїдальних сигналів в один сигнал DTMF
  • Вихідні коди мовами асемблер і Сі
  • Розроблено для спільної роботи з STK500
  • Розмір коду програми 260 байт/розмір таблиці констант 128 байт
  • Використання методу табличного перетворення

Запровадження

Даний документ описує методику генерації DTMF-сигналів (двотональні багаточастотні сигнали) з використанням будь-якого AVR-мікроконтролера, що містить блок широтно-імпульсної модуляції (ШІМ) та статичну ОЗУ. Дані сигнали знаходять широке застосування телефонії, де вони відтворюються при натисканні на кнопки набору номера телефону. Для правильної генерації DTMF-сигналу необхідно накласти дві частоти: низьку частоту (fb) і високу частоту (fa). У таблиці 1 показано, як змішуються різні частоти для отримання DTMF-тонів при натисканні на різні клавіші.

Двутональний багаточастотний (DTMF) генератор на AVR. Схема генератора 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 показує сигнал із широтно-імпульсною модуляцією.

Двутональний багаточастотний (DTMF) генератор на AVR. Генерація рівня постійної напруги
Малюнок 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 кГц.

Двутональний багаточастотний (DTMF) генератор на AVR
Малюнок 3. Генерація синусоїдального сигналу з використанням ШІМ

Зміна частоти синусоїдального сигналу

Припустимо, синусоїдальні вибірки зчитуються з таблиці перетворення не послідовно, а через одну. В цьому випадку при тій же частоті читання вибірок генеруватиметься сигнал з подвоєною частотою (див. рисунок 4).

Двутональний багаточастотний (DTMF) генератор на AVR
Рисунок 4. Подвоєння результуючої частоти (XSW = 2)

За аналогією, якщо зчитувати не кожне друге значення, а кожне третє, четверте, п'яте (відповідно ширина кроку 3, 4, 5 ...) і т.д. можна генерувати Nc-частот у діапазоні [1/T Гц.. 0 Гц]. Зауважте, що для високих частот результуюча форма сигналу не буде синусоїдальною. Ширину кроку за таблицею перетворення позначимо як XSW, Де

(5)

Обчислення поточної позиції ТП для наступного періоду ШІМ (при переповненні таймера) виконується за допомогою виразу (6). Нове значення у позиції XЛЮТ залежить від його попереднього стану позиції X'ЛЮТ з додаванням ширини кроку XSW

(6)

де XЛЮТ - Попередня позиція в таблиці перетворення;
X'ЛЮТ - поточна позиція у таблиці перетворення.

Складання різних частот для отримання сигналу 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 – функція округлення.

Двутональний багаточастотний (DTMF) генератор на AVR. Схема модуля для підключення до STK500
Рисунок 5. Схема модуля для підключення до STK500

ШИМ сигнал формується на виведенні OC1A (PD5). Додатковий вихідний фільтр сприятиме більшій відповідності синусоїдальної форми сигналу. При зменшенні частоти ШІМ може виникнути необхідність застосування фільтра з крутішим АЧХ для отримання хорошого результату.

Підключення клавіатури показано на малюнку 1. Робота клавіатури має бути організована таким чином, щоб була можливість визначення натиснутої кнопки. Це може бути виконано за таким алгоритмом:

  1. Визначення рядка натиснутої кнопки
    • настроїти молодший зошит порту на вихід і встановити лог. "0"
    • налаштувати старший зошит порту В на вхід з підключенням резисторів, що підтягують.
    • рядок з натиснутою кнопкою визначається як розряд старшого зошита з балкою. "0"
  2. Визначення стовпчика натиснутої клавіші
    • налаштувати старший зошит порту на вихід і встановити лог. "0"
    • настроїти молодший зошит порту В на вхід із підключенням підтягуючих резисторів
    • стовпець з натиснутою кнопкою визначається як розряд молодшого зошита з балка. "0"

Примітка: В STK200 між виводами роз'єму PORTB і виводами мікроконтролера BP5, PB6 та PB7 включені послідовно резистори (див. схему STK200). Це викликає проблеми, якщо клавіатура підключена до гнізда PORTB.

Малюнок 6 ілюструє роботу підпрограми визначення натиснутої клавіші. Залежно від натиснутої кнопки визначається тривалість інтервалу. Процедура обробки переривання використовує це значення для обчислення установок ШІМ для двох синусоїд DTM-тону. Процедуру обробки переривання показано на рисунках 7 та 8.

Ця процедура обчислює значення для порівняння з виходом таймера наступного періоду ШІМ. Процедура обробки переривань спочатку обчислює позицію значення наступної вибірки таблиці перетворення і зчитує збережене там значення.

Позиція вибірки в таблиці перетворення визначається тривалістю імпульсу, а власне тривалість імпульсу визначається частотою, що генерується.

Остаточне значення, яке записується в регістр порівняння таймера, визначається з використанням формули (7), де враховуються значення вибірок обох частот DTMF.

Двутональний багаточастотний (DTMF) генератор на AVR. Блок-схема основної програми
Малюнок 6. Блок-схема основної програми

Двутональний багаточастотний (DTMF) генератор на AVR. Блок-схема процедури обробки переривання з переповнення таймера
Малюнок 7. Блок-схема процедури обробки переривання з переповнення таймера

Двутональний багаточастотний (DTMF) генератор на AVR. Блок-схема процедури читання вибірки "GetSample"
Малюнок 8. Блок-схема процедури читання вибірки " GetSample "

Публікація: cxem.net

Дивіться інші статті розділу телефонія.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Запрацювала найвища у світі астрономічна обсерваторія 04.05.2024

Дослідження космосу та її таємниць - це завдання, яка привертає увагу астрономів з усього світу. У свіжому повітрі високих гір, далеко від міських світлових забруднень, зірки та планети розкривають свої секрети з більшою ясністю. Відкривається нова сторінка в історії астрономії із відкриттям найвищої у світі астрономічної обсерваторії – Атакамської обсерваторії Токійського університету. Атакамська обсерваторія, розташована на висоті 5640 метрів над рівнем моря, відкриває нові можливості для астрономів у вивченні космосу. Це місце стало найвищим для розміщення наземного телескопа, надаючи дослідникам унікальний інструмент вивчення інфрачервоних хвиль у Всесвіті. Хоча висотне розташування забезпечує більш чисте небо та менший вплив атмосфери на спостереження, будівництво обсерваторії на високій горі є величезними труднощами та викликами. Однак, незважаючи на складнощі, нова обсерваторія відкриває перед астрономами широкі перспективи для дослідження. ...>>

Управління об'єктами за допомогою повітряних потоків 04.05.2024

Розвиток робототехніки продовжує відкривати перед нами нові перспективи у сфері автоматизації та управління різними об'єктами. Нещодавно фінські вчені представили інноваційний підхід до управління роботами-гуманоїдами із використанням повітряних потоків. Цей метод обіцяє революціонізувати способи маніпулювання предметами та відкрити нові горизонти у сфері робототехніки. Ідея управління об'єктами за допомогою повітряних потоків не є новою, проте донедавна реалізація подібних концепцій залишалася складним завданням. Фінські дослідники розробили інноваційний метод, який дозволяє роботам маніпулювати предметами, використовуючи спеціальні повітряні струмені як "повітряні пальці". Алгоритм управління повітряними потоками, розроблений командою фахівців, ґрунтується на ретельному вивченні руху об'єктів у потоці повітря. Система керування струменем повітря, що здійснюється за допомогою спеціальних моторів, дозволяє спрямовувати об'єкти, не вдаючись до фізичного. ...>>

Породисті собаки хворіють не частіше, ніж безпородні 03.05.2024

Турбота про здоров'я наших вихованців – це важливий аспект життя кожного власника собаки. Однак існує поширене припущення про те, що породисті собаки більш схильні до захворювань у порівнянні зі змішаними. Нові дослідження, проведені вченими з Техаської школи ветеринарної медицини та біомедичних наук, дають новий погляд на це питання. Дослідження, проведене в рамках Dog Aging Project (DAP), що охопило понад 27 000 собак-компаньйонів, виявило, що чистокровні та змішані собаки в цілому однаково часто стикаються з різними захворюваннями. Незважаючи на те, що деякі породи можуть бути більш схильні до певних захворювань, загальна частота діагнозів у обох груп практично не відрізняється. Головний ветеринарний лікар Dog Aging Project, доктор Кейт Криві, зазначає, що існує кілька добре відомих захворювань, що частіше зустрічаються у певних порід собак, що підтримує думку про те, що чистокровні собаки більш схильні до хвороб. ...>>

Випадкова новина з Архіву

Регулятори напруги з низьким падінням напруги (0,4 В) 29.01.2006

Фірма INTERNATIONAL RECTIFIER, світовий лідер в галузі силової електроніки оголосила про випуск нової серії регуляторів напруги з низьким падінням напруги (0,4 В), з фіксованою напругою або перебудовою.

Серія регуляторів представлена ​​у таблиці. Відмінна риса серії – стійкість до радіації.

Інші цікаві новини:

▪ Жителі країн із мігрантами посміхаються частіше

▪ Сон подвоює ефективність пам'яті

▪ Wi-Fi прискориться вдвічі

▪ Смарт-проектор Partaker M3

▪ Тіло посилює звук

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ розділ сайту Аудіотехніка. Добірка статей

▪ стаття Сигізмунд (Зигмунд) Шломо Фрейд. Знамениті афоризми

▪ стаття Як простий торговець був пов'язаний із початком та закінченням Громадянської війни в США? Детальна відповідь

▪ стаття Вирубування зубів на полотнах. Домашня майстерня

▪ стаття Кварцовий генератор. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Непальські прислів'я та приказки. Велика добірка

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024