Контакти

Мікросхема генератор тональних dtmf сигналів. Вивчення приймача і передавача dtmf сигналів. Формування сигналу dtmf

Тему нескладних пристроїв, вирішив зібрати генератор DTMF сигналу на все тій же ATtiny2313. Хто не знає, DTMF (англ.Dual-Tone Multi-Frequency) - це Двотональний багаточастотний аналоговий сигнал, який використовується для набору телефонного номера. Читати Вікіпедію.

Рішення зібрати такий пристрій продиктовано бажанням спробувати реалізувати складні аналогові сигнали за допомогою мікроконтролера. ніякого практичного застосуваннядля даного пристроюне планувалася, але може кому стане в нагоді такий пристрій? Користуйтеся!

Исходник DTMF генератора


Тепер подивимося, що у нас вийшло.

Сигнал формується за допомогою ШІМ і для того щоб надати йому потрібну форму застосовується RC-ланцюжок. У підсумку, після RC-ланцюжка, отримуємо ось такий сигнал (натиснута кнопка 6):

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

Дивимося спектр сигналу і переконуємося в наявності двох окремих частот(Частота ШІМ пішла за межі області відображення), значить все нормально - пристрій працює як треба.

Готові рішення

Для задач генерування і декодування DTMF-сигналу існують готові рішення. Ось пару даташітов на ці мікросхеми.

DTMF генератор
- DTMF декодер


P.S.Шкода немає в ATtiny2313 АЦП - можна було ще й декодер DTMF забабахати! Але нічого, буду повторювати на меге обов'язково прироблю.

(Visited 6 868 times, 1 visits today)

Винахід відноситься до області генерації цифровими методами двотональних частотних (DTMF) сигналів, призначених для передачі даних, наприклад, в області телефонії. Досягнутий технічний результат - зменшення кількості надлишкових схемних елементів, підвищення економічної ефективності. Генератор DTMF сигналів, який реалізує Спосіб генерації DTMF сигналів, містить два накопичувальних суматора, два фіксуючих регістра, два запам'ятовуючих пристрої, підсумковий суматор, цифроаналоговий перетворювач, перетворювач кодів DTMF сигналів в послідовності цілих чисел, дільник задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення, перетворювач кодів DTMF сигналів в код коефіцієнта ділення. 2 с. і 3 з.п. ф-ли, 2 мул.

Винахід відноситься до способів генерації цифровими методами DTMF (двотональних частотних) сигналів, призначеним для передачі даних, наприклад, в області телефонії при тонально-частотному наборі номера.Наіболее близьким за технічною сутністю і досягається результату до заявляється способу є спосіб генерації DTMF сигналів, представлений в патенті США № 5034977 від 04.04.89 р, опубл. 23.07.91 р, М.кл. 5 Н 04 М 1 / 00.Ізвестний спосіб генерації DTMF сигналів включає вибір першого і другого кодів кутів дискретизації, відповідних першій і другій частоті складових DTMF сигналу, накопичувальне підсумовування окремо першого і другого кодів кутів дискретизації з відповідно періодично фіксуються, з періодом, відповідним тактовою частоті дискретизації, першим і другим результатами накопичувального підсумовування, отримання першого і другого дискретних значень складових DTMF сигналу, що зберігаються в адресно розташованих комірках відповідних таблиць дискретних значень складових DTMF сигналу, шляхом зчитування з відповідних таблиць за адресами, відповідним результатами накопичувального підсумовування кодів кутів дискретизації, підсумовування першого і другого дискретних значень складових DTMF сигналу для отримання третього дискретного значення, відповідного значенню DTMF сігнала.Ізвестний спосіб генерації DTMF сигналів полягає в наступному: в залежності від коду DTM F сигналу за допомогою першого перетворення кодів DTMF сигналів вибирається перший код, що визначає кут дискретизації сигналу з частотою, що відповідає групі верхніх частот- стовпців, а за допомогою другого перетворення кодів DTMF сигналів вибирається другий код, що визначає кут дискретизації сигналу з частотою, що відповідає групі нижніх частот - рядків, періодично, з періодом, відповідним тактовій частоті дискретизації, перший код кута дискретизації підсумовується у відповідному накопичувальному суматорі і фіксується в відповідному регістрі, на виході якого знаходиться результат, значення якого відповідає адресі комірки таблиці, що зберігається у відповідному постійному пристрої, що запам'ятовує і в якій знаходяться відповідні дискретні значення синусів, що визначають верхню частоту DTMF сигналу таким же чином, періодично, з періодом, відповідним тактовій частоті дискретизації, другий код кута дискретизації підсумовується у відповідному накопичувальному суматорі і фіксується у відповідному регістрі, на виході якого знаходиться результат, значення якого відповідає адресі комірки таблиці, що зберігається у відповідному постійному пристрої, що запам'ятовує і в якій знаходяться відповідні дискретні значення синусів, що визначають нижню частоту DTMF сигналу, дискретні значення синусів, що визначають верхню та нижню частоти DTMF сигналу, підсумовуються в підсумковому сумматоре, визначаючи дискретне значення сигналу DTMF і через цифроаналоговое перетворення подаються на вихід, формуючи поступово -сінусоідальний DTMF сигнал, відповідний вхідного коду DTMF сігнала.Ізвестний спосіб є низькоефективних, що обумовлено його низькими техніко-економічними показниками і технологічними показателямі.Техніко-економічні показники визначаються необхідними витратами при реалізації способу для досягнення необхідних параметрів, Що пред'являються до DTMF сигналів. В відомому способіточність генерації частот залежить від розрядності коду, відповідного кутку дискретизації, що вимагає наявності великої розрядності накопичувального суматора, що ускладнює реалізацію способу простими апаратними засобами. А саме, код кута дискретизації у відомому способі визначається вираженіемK = (F / F т) 32 ..., (1.1) де К - код, що відповідає куту дискретизації; F - генеруюча частота; F т - частота діскретізаціі.Как видно, точність генерується частоти однозначно залежить від ставлення генерується і частоти діскретізаціі.Для досягнення необхідної точності генерується частоти, а саме, не гірше 1,5%, очевидно, потрібно не менше двох значущих цифр після коми, що вимагає представлення даних з розрядністю для нижніх частот не менше 8 біт, а для верхніх частот не менше 9 біт, а для накопичувального підсумовування відповідно не менше 12 біт, що веде до збільшення числа комплектуючих елементів пристроїв, що реалізують відомий спосіб. Відомі пристрої для реалізації відомого способу, а саме суматори, регістри, постійні запам'ятовуючі пристрої мають входи / виходи з розрядністю 4 і 8 біт. Тому при більшої розрядності потрібні додаткові техніко-економічні витрати при реалізації равнофункціональних пристроїв. При цьому у відомому способі зменшення кількості розрядів після коми призводить до похибки частоти, що перевищує допустімую.Технологіческіе показники визначаються універсальністю і уніфікацією при реалізації способу, наприклад, сучасний рівень техніки, що передбачає зменшення матеріалоємності, комплектуючих елементів і збільшення багатофункціональності пристроїв, вимагає використання мікроконтролерів. Шірокораспространенние мікроконтороллери, що застосовуються в телефонії і телеметричних вимірах, використовують 8-бітові дані і 8-бітове арифметико-логічний пристрій, що вимагає при реалізації відомого способу додаткових обчислювальних операцій, пов'язаних з підсумовуванням даних, з розрядністю більше 8 біт, і аналізом сигналу переносу, що збільшує число команд і, відповідно, тактову частоту мікроконтролера, а також обсяг оперативної пам'ятімікроконтролера, що веде до подорожчання пристроїв, що використовують відомий спосіб для генерації сигналів DTMF. Цей висновок наведено при аналізі застосування відомого способу в тональному номеронабирачі на базі мікроконтролерів виробництва фірм Atmel, Microchip tnс і др.Так чином, відомий спосіб принципово нізкоеффектівен, що обумовлено низькими техніко-економічними показниками, вираженими в збільшеною матеріаломісткості, енергоспоживання, і низькими технологічними показниками , так як має обмеження при використанні способу, в тому числі в складі мікроконтролерів широкого застосування, що виражається в підвищених технічні характеристики, Що пред'являються до мікроконтролерів, що знижує їх многофункціональность.Наіболее близьким за технічною сутністю і досягається результату до заявляється генератору DTMF сигналів є генератор DTMF сигналів, представлений в патенті США № 5034977 від 04.04.89 р, опубл. 23.07.91 р, М.кл. 5 Н 04 М 1 / 00.Ізвестний генератор DTMF сигналів включає: перший накопичувальний суматор, перший фіксує регістр, перше пристрій, другий накопичувальний суматор, другий фіксує регістр, друге пристрій, підсумковий суматор, цифроаналоговий перетворювач, причому вихід першого накопичувального суматора з'єднаний зі входом першого фіксуючого регістра, вихід першого фіксуючого регістра з'єднаний зі входом першого пристрою, що запам'ятовує, а також з одним із входів першого накопичувального суматора, вихід першого пристрою, що запам'ятовує з'єднаний з одним із входів підсумкового суматора, вихід другого накопичувального суматора з'єднаний зі входом другого фіксуючого регістра, вихід другого фіксуючого регістра з'єднаний зі входом другого пристрою, що запам'ятовує, а також з одним із входів другого накопичувального суматора, вихід другого пристрою, що запам'ятовує з'єднаний з іншим входом підсумкового суматора, вихід підсумкового суматора з'єднаний зі входом ціфроана лігво перетворювача, вихід якого є виходом генератора DTMF сігналов.Ізвестний генератор містить також перший перетворювач кодів DTMF сигналів у відповідні коди кутів дискретизації, відповідні верхнім частотам DTMF сигналу, другий перетворювач кодів DTMF сигналів у відповідні коди кутів дискретизації, відповідні нижнім частотам DTMF сигналу, причому вихід першого перетворювача кодів DTMF сигналів з'єднаний з іншим входом першого накопичувального суматора, вихід другого перетворювача кодів DTMF сигналів з'єднаний з іншим входом другого накопичувального суматора, входи першого і другого перетворювачів кодів DTMF сигналів є входами генератора DTMF сигналів, а тактові входи першого і другого фіксують регістрів з'єднані між собою і є входом тактової частотидискретизації генератора DTMF сігналов.Ізвестний генератор DTMF сигналів забезпечує низький технічний результат, обумовлений надлишковою кількістю схемних елементів, пов'язаних з різною, а також надмірної розрядністю однаково функціональних елементів. Крім того, реалізація відомого технічного рішення ефективно можлива у вигляді окремої інтегральної мікросхеми, однак це вимагає організації спеціалізованого виробництва, але з огляду на, що генератори DTMF сигналів є частиною багатофункціональних пристроїв (телефонні апарати з розширеними можливостями, пристрої передачі телеметричної інформації по телефонних лініяхі т.д.), що реалізуються в даний час на базі універсальних мікроконтролерів , Виробництво окремих мікросхем DTMF сигналів економічно нееффектівно.В основу заявляється технічного рішення поставлена ​​задача створення способу генерації сигналів DTMF з використанням генератора сигналів DTMF, в якому шляхом зміни умов і послідовності виконання операцій здійснюється реалізація способу з високими техніко-економічними показниками, обумовленими зменшенням розрядності однотипних операцій, високими технологічними показниками, при реалізації способу, як в схемотехническом виконанні простими апаратними засобами, так і в складі багатофункціонального мікроконтролера, пов'язана з повторюваністю, при реалізації, однаково функціональних елементов.В основу технічного рішення поставлена ​​задача створення генератора DTMF сигналів, в якому шляхом введення нових елементів і виконання нових зв'язків підвищується технічний результат, пов'язаний із зменшенням кількості надлишкових схемних елементів, і відповідно підвищується економічна ефек ність, пов'язана з можливістю реалізації заявляється технічного рішення широкодоступними средствамі.Поставленная завдання вирішується тим, що у відомому способі генерації DTMF сигналів, що включає вибір першого і другого кодів кутів дискретизації, відповідних першій і другій частоті складових DTMF сигналу, накопичувальне підсумовування окремо першого і другого кодів кутів дискретизації з відповідно періодично фіксуються, з періодом, відповідним тактовій частоті дискретизації, першим і другим результатами накопичувального підсумовування, отримання першого і другого дискретних значень складових DTMF сигналу, що зберігаються в адресно розташованих комірках відповідних таблиць дискретних значень складових DTMF сигналу, шляхом зчитування з відповідних таблиць за адресами, відповідним результатами накопичувального підсумовування кодів кутів дискретизації, підсумовування першого і другого дискретних значень складових DTMF сигналу для отримання третього дискретного зн аченія, відповідного значенню DTMF сигналу, новим є те, що отримання першого і другого дискретних значень складових DTMF сигналу, що зберігаються в адресно розташованих комірках відповідних таблиць дискретних значень складових DTMF сигналу, проводиться шляхом зчитування з відповідних таблиць за адресами, відповідним результатами накопичувального підсумовування відповідно першої і другий послідовностей цілих чисел, усереднене значення яких відповідає кодам кутів дискретизації, відповідних складових DTMF сигналу. Крім того, усереднене значення послідовності цілих чисел, які формують результат накопичувального підсумовування, може бути середнім арифметичним цих чісел.Кроме того, періодичне фіксування першого і другого результатів накопичувального підсумовування може бути з періодом, відповідним тактовій частоті дискретизації, різної для різних DTMF сігналов.Поставленная завдання вирішується також тим, що у відомому генераторі DTMF сигналів, що включає перший накопичувальний суматор, перший фіксує регістр, перше пристрій, другий накопичувальний суматор, другий фіксує регістр, друге пристрій, підсумковий суматор, цифроаналоговий перетворювач, причому вихід першого накопичувального суматора з'єднаний зі входом першого фіксуючого регістра, вихід першого фіксуючого регістра з'єднаний зі входом першого пристрою, що запам'ятовує, а також з одним із входів першого накопичувального суматора, вихід першого пристрою, що запам'ятовує з'єднаний з одним із входів в підсумкового суматора, вихід другого накопичувального суматора з'єднаний зі входом другого фіксуючого регістра, вихід другого фіксуючого регістра з'єднаний зі входом другого пристрою, що запам'ятовує, а також з одним із входів другого накопичувального суматора, вихід другого пристрою, що запам'ятовує з'єднаний з іншим входом підсумкового суматора, вихід підсумкового сумматора з'єднаний зі входом цифроаналогового перетворювача, вихід якого є виходом генератора DTMF сигналів, новим, відповідно до винаходу, є те, що генератор DTMF сигналів додатково містить перетворювач кодів DTMF сигналів в послідовності цілих чисел, дільник задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення, перетворювач кодів DTMF сигналів в код коефіцієта ділення, причому перший вихід перетворювача кодів DTMF сигналів в послідовності цілих чисел з'єднаний з іншим входом першого накопичувального суматора, другий вихід перетворювача кодів DTMF сигналів в сел ледовательно цілих чисел з'єднаний з іншим входом другого накопичувального суматора, вихід дільника задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення з'єднаний з тактовим входом перетворювача кодів DTMF сигналів в послідовності цілих чисел, а також з тактовим входом першого фіксуючого регістра і тактовим входом другого фіксуючого регістра, вихід перетворювача кодів DTMF сигналів в код коефіцієта ділення з'єднаний зі входом установки коефіцієнта ділення подільника задає частоти генератора DTMF сигналів, вхід подільника задає частоти генератора DTMF сигналів з регульованим коефіцієнтом розподілу є входом задає частоти генератора DTMF сигналів, вхід перетворювача кодів DTMF сигналів в код коефіцієнта ділення з'єднаний зі входом перетворювача кодів DTMF сигналів в послідовності цілих чисел і є входом генератора DTMF сигналів. Крім того, перетворювач кодів DTMF сигналів в послідовності цілих чисел може бути виконаний у вигляді керованого програмованого пристрою, що запам'ятовує, пам'ять якого складається з, що відповідають кількості DTMF сигналів, областей пам'яті, що складаються з відповідних довжині послідовності цілих чисел, осередків пам'яті, виконаних так, що в одній половині осередку пам'яті зберігається число, що відноситься до першої послідовності цілих чисел, а в іншій половині осередку пам'яті зберігається число, що відноситься, відповідно, до іншої послідовності цілих чисел, які є складовою частиною відповідних накопичувальних сумматоров, а управління програмованим запам'ятовуючим пристроєм виконано з можливістю роздільного управління вибором області пам'яті і окремої осередки памяті.Новие ознаки способу генерації DTMF сигналів і генератора DTMF сигналів в сукупності з відомими ознаками цих об'єктів забезпечують нові технічні властивості об'єктів, і, як наслідок цих властивостей, забезпе чується новий необхідний технічний результат.Прічінно-наслідковий зв'язок між сукупністю ознак заявляється способу і досягається технічним результатом пояснюється следующім.Для розкриття суті пропонованого технічного рішення зручними будуть наступні викладки: y (P) = sin (n) (1.2), де y (P ) - дискретне значення функції синуса; = wT = 27F / Fr (1.3) - кут дискретизації, вимірюваний в радіанах; n - порядковий номер вибірки - дискрета; F т = F OSC / kd - тактова частота дискретизації, де F OSC - задає частота пристрою; kd - регульований коефіцієнт деленія.Тогда = 2FК D / F OSC. (1.4) Як загальновідомо, функція синуса періодична з періодом 2. Щоб перетворити кут дискретизації з радіан в відносні одиниці і отримати код кута дискретизації, розбиваємо весь період на m частин, де m - ціле двійкове число. Таким чином, отримаємо одну мінімальну дискретну частину періоду: = 2 / m. (1.5) Код кута дискретизації - це відносне значення кута дискретизації відповідно до однієї частиною періоду, а саме, К = / = 2F / F т: 2P / m = Fm / F т. (1.6) Наприклад, для генеруються частот 1 477 Гц і 697 Гц (відповідає коду DTMF сигналу "3"), при m = 64, і тактової частоти F т = 32768 ГЦК 697 = 1,36; K l477 = 2,88.Очевідно, що для двійкового відображення коду кута дискретизації До 697 = 1,36 в відповідно 136 потрібно 8 біт (1281 + 640 + 320 + 160 + 81 + 40 + 20 + 10), а К 1 477 = 2,88 в відповідно 288 потрібно 9 біт (2561 + 1280 + 640 + 321 + 160 + 80 + 40 + 20 + 10) .При цьому для накопичувального підсумовування відповідно в довічним предствлений потрібно 12 біт, що визначило вищеописані недоліки відомого рішення. Пропоноване технічне рішення визначає, наприклад, число 1,36 як усереднене значення послідовності цілих чисел 1 і 2, а саме 1,36 = (1х + 2у) / (х + у), де х і у - відповідно кількість чисел 1 і 2 , періодично повторюваних з періодом (х + у) .Значеніе коду кута дискретизації складається з цілої частини Ц і дробової, тобто наприклад, 1,36 = 1 + 0,36. Відносна точність такої заміни відповідно до вираження (1.7) = К / Ц (1.7) підвищується зі збільшенням цілої частини значення коду кута дискретизації. Наприклад, для генерується частоти 697 Гц, m = 64, і тактової частоти F т = 32768 Гц похибка заміни К 697 = 1,36 на значення чисел 1 і 2 відповідно 36 і 32% .У той же час, якщо збільшити значення m = 256, то похибка заміни К 697 = 5,45 на значення чисел 5 і 6 відповідно зменшується 9 і 10% .При цьому похибка генерується частоти, наприклад, при заміні До 697 = 5,45 на значення чисел 5 і 6 при періоді повторення, рівному 16, 5,45 = (5х + 6У) / (х + у), де (х + у) = 16.Решая рівняння, отримаємо х = 9, у = 7, тобто з шістнадцяти операцій накопичувального підсумовування дев'ять разів підсумовується доданок 5 і сім раз доданок 6, при цьому фактично До 697 = 5,4375, підставляючи це значення у вираз (1.6) для m = 256, F т = 32768 Гц, визначимо фактичне розрахункове значення генерується частоти F = 696 Гц, при цьому похибка залишила 0,1% .Таким чином, накопичувальне підсумовування послідовності цілих чисел, усереднене значення яких відповідає відповідним кутах дискретизації, дозволяє досягти високих техніко-економічних показників за рахунок зменшення розрядності операцій накопичувального підсумовування, обумовлених можливістю варіювати складовими вищенаведених виразів, і відповідно зменшення розрядності пристроїв, що реалізують запропонований спосіб, що веде до зменшення апаратних і енергетичних витрат при реалізації способу, і забезпечити високі технологічні показники запропонованого способу при використанні в багатофункціональних пристроях , Обумовлених зниженими технічними требованіямі.Прічінно-наслідковий зв'язок між сукупністю ознак заявляється технічного рішення і досягається технічним результатом пояснюється следующім.Високій технічний результат генератора DTMF сигналів забезпечується введенням нових елементів перетворювача кодів DTMF сигналів в послідовності цілих чисел, подільника задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення, перетворювача кодів DTMF сигналів в код коефіцієнта подільника, які забезпечують реалізацію способу схемотехническими елементами з однаковою розрядністю, що не перевищує 8-біт, при цьому відсутня надмірність елементів, необхідних для вирішення декількох завдань, наприклад, і для фіксування результату накопичувального підсумовування, і для адресації відповідного пристрою, що запам'ятовує використовується однакова кількість розрядів, що реалізуються не більше ніж 8-розрядних регістром, який може бути виконаний загальнодоступними кошти ми у вигляді однієї мікросхеми або, в микропроцессорном виконанні, одним осередком памяті.Кроме того, реалізація накопичувальних сумматоров може бути виконана у вигляді однакових пристроїв, з однаковою розрядністю, у вигляді загальнодоступних мікросхем суматорів, що оперують з 4-розрядними слагаемимі.Конечно, мається на увазі, що числа і відповідно пристрої, що формують вищеописані послідовності цілих чисел, сукупність яких визначає відповідні коди кутів дискретизації, можуть бути і з іншого розрядністю, але найбільш оптимальні, з точки зору виконання поставлених заявляється рішенням цілей, є 4-розрядні чісла.Кроме того, високий технічний результат забезпечується також при реалізації пропонованого технічного рішення в складі мікроконтролерів, де система команд мікроконтролерів обов'язково включає в себе команди, які оперують з 4-розрядними числами - полубайтамі.Такім чином, заявляється технічне рішення генератора DTMF сигналів дозволяє забезпечити високий технічний результат, пов'язаний із зменшенням кількості схемних елементів, а також забезпечує універсальність при реалізації генератора DTMF сигналів як загальнодоступними апаратними засобами, так і в складі багатофункціональних мікроконтролерів, що визначає високу економічну ефективність технічного решенія.Ізобретеніе пояснюється кресленням, де на фіг.1 функціонально зображений генератор DTMF сигналів, який реалізує спосіб генерації DTMF сігналов.Генератор DTMF сигналів включає перетворювач 1 кодів DTMF сигналів в послідовності цілих чисел, дільник 2 задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення, перетворювач 3 кодів DTMF сигналів в код коефіцієнт ділення, перший накопичувальний суматор 4, перший фіксує регістр 5, перше пристрій 6, друге пристрій 7, другий фіксує регістр 8, другий накопичувальний суматор, підсумковий суматор 10, цифроаналоговий перетворювач 11. Робота генератора DTMF сигналів ілюструється на прикладі реалізації способу генерації DTMF сігналов.Предварітельно на підставі виразів (1.4, 1.6) і технічних даних, зокрема задає частоти пристрою, де буде реалізований пропонований спосіб, розраховуються послідовності цілих чисел, що визначають відповідні коди кутів дискретизації, і коди коефіцієнтів ділення для дільника 2 задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення, які записуються у відповідні комірки областей пам'яті перетворювача 1 кодів DTMF сигналів в послідовності цілих чисел і перетворювача 3 кодів DTMF сигналів в коди коефіцієнтів розподілу, також попередньо розраховують дискретні значення відповідних функцій синуса, кількість яких визначається числом дискретов т, і записують у відповідні пристрої, що запам'ятовують 6 і 7, при генерації DTMF сигналу, на входах перетворювача 1 і перетворювача 3, які є входами генератора, на час дії DTMF сигналу, встановиться код генерується DTMF сигналу, на виході перетворювача 3 встановиться код, що визначає коефіцієнт розподілу для дільника 2, при цьому на виході дільника 2 встановиться тактова частота дискретизації періодично, з періодом, відповідним тактовій частоті дискретизації, з першого виходу перетворювача 1 будуть надходити на вхід першого накопичувального суматора 4 двійкові числа, що входять в першу послідовність цілих чисел, а з другого виходу перетворювача 1 надходитимуть на вхід другого накопичувального суматора 9 двійкові числа, що входять у другу послідовність цілих чисел, відповідних складових DTMF сигналу, результати накопичувального підсумовування подаються з виходів накопичувальних сумматоров на входи відповідних фіксуючих регістрів 5 і 8, з виходів фіксують регістрів 5 і 8 результати накопичувального підсумовування, з періодом, відповідним тактовій частоті дискретизації, надходять на інші входи відповідних накопичить Єльне сумматоров 4 і 9, а також на входи відповідних запам'ятовуючих пристроїв 6 і 7, встановлюючи адреси дискретних значень синусів відповідних складових DTMF сигналу, з виходів запам'ятовуючих пристроїв 6 і 7 дискретні значення відповідних складових DTMF сигналу надходять на відповідні входи підсумкового суматора 10, на виході якого утворюється дискретний двійковий DTMF сигнал, який надходить на вхід цифроаналогового перетворювача 11, на виході якого утворюється ступінчастий синусоїдальний DTMF сигнал, відповідний вхідного коду DTMF сигналу. Перетворювач 1 кодів DTMF сигналів в послідовності цілих чисел (фіг.1) може бути виконаний у вигляді, зображеному на Фіг.2, де перетворювач кодів DTMF сигналів в послідовності цілих чисел включає пристрій управління 12, програмований пристрій 13.Работа генератора DTMF сигналів ілюструється далі на конкретному прикладіреалізації заявляється способу в телефонному тонально-частотному номеронабірателе.Предварітельно на підставі виразів (1.4, 1.6) і технічних даних розраховуються послідовності цілих чисел, що визначають відповідні коди кутів дискретизації, і коди коефіцієнтів ділення для дільника 2 задає частоти генератора DTMF сигналів з регульованим коефіцієнтом розподілу. З огляду на, що реалізація способу включає однотипні розрахунки, то для ілюстрації роботи в конкретному прикладі наводиться реалізація способу для генерації DTMF сигналу, відповідного натискання клавіші "7" в складі тонально-імпульсного номеронабирача. Як задає частоти генератора встановлена кварцова частота, Найбільш поширена в телефонній техніці, а саме F OSC = 3579545 Гц. Натискання клавіші "7" сответствует сигнал DTMF з верхньої (стовпці) частотою 1209 Гц і нижньої (рядки) частотою 852 Гц. Так як DTMF сигнал одночасно передає дві частоти, то коефіцієнти розподілу розраховують для більшої - верхньої частоти так, щоб відповідний код кута дискретизації відповідно до вираження (1,6) був близький до максимального значення - 16, що реалізується не більше ніж 4-битами даних. Таким чином, при F OSC = 3579545 Гц, зокрема дискретних значень синусів m = 128 розраховані значення коефіцієнта ділення для дільника 2 задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення KD = 240 = 460, при цьому відповідні коди кутів дискретизації для верхньої частоти K 1209 / 852 = 10,376, для нижньої частоти До 852/1209 = 7,312.Согласно винаходу коди кутів дискретизації замінюємо на послідовності цілих чисел відповідно 10/11 і 7 / 8.10,375 = (10х + 11у) / (x + y), при цьому фактично K 1209/852 = 10,3757,312 = (7х + 8У) / (x + y), при цьому фактично K 952/1209 = 7,313, при (х + у) = 16.Такім чином, 10,375 замінюється на періодично повторювану послідовність цілих чисел 10 по 10 разів і 11 по 6 раз, а 7,312 замінюється як 7 по 11 разів і 8 по 5 раз.Область пам'яті для коду DTMF сигналу "7" в двійковому поданні виглядає наступним чином:
Таким чином розраховують шістнадцять таблиць, що відповідають кодам DTMF сигналів, а саме 0, 1, 2 ... 9, *, #, А, В, С, D, і попередньо записують в пам'ять програмованого пристрою, що запам'ятовує 13 (перетворювач коду символу DTMF в послідовності цілих чисел) .При натисканні на клавішу, наприклад, "7" на вході генератора на час дії DTMF сигналу встановлюється двійковий код DTMF сигналу "7" (0111), перетворювач 3 коду DTMF сигналу в коефіцієнт ділення перетворює код DTMF сигналу в код коефіцієнта ділення kd для дільника 2 задає частоти генератора з регульованим коефіцієнтом ділення, на виході дільника 2 встановиться тактова частота дискретизації F т = F OSC / KD. Код DTMF сигналу також надходить на адресні входи старших розрядів програмованого пристрою, що запам'ятовує 13 (перетворювач кодів DTMF сигналів в послідовності цілих чисел) і присутній там протягом часу дії DTMF сигналу. Керований пристрій 12, виконане, наприклад, у вигляді лічильника (перетворювач кодів DTMF сигналів в послідовності цілих чисел), під впливом тактових сигналів з частотою т циклічно змінює своє значення на паралельних виходах послідовно від 0000 до 1111, змінюючи відповідно значення адресних входів молодших розрядів програмованого пристрою, що запам'ятовує 13 (перетворювач кодів DTMF сигналів в послідовності цілих чисел), на виході програмованого пристрою, що запам'ятовує 13с тактовою частотою дискретизації з'являються 8-розрядні (байтові) числа, при цьому відповідно до таблиці 1 старші чотири розряду (старший напівбайт) формують послідовність цілих чисел , сукупність яких, а саме, середнє арифметичне, визначає код кута дискретизації, відповідний верхній (стовпці) частоті, а молодші чотири розряду (молодший напівбайт) формують послідовність цілих чисел, сукупність яких, а саме, середнє арифметичне, визначає код кута дискретизації, відповідний нижньої (рядки) частоті, чотирирозрядні дані, відповідно до таблиці 1, з виходу програмованого пристрою, що запам'ятовує 13 (перетворювач кодів DTMF сигналів в послідовності цілих чисел) окремо надходять на входи відповідних накопичувальних сумматоров 4 і 9, на виходах відповідних суматорів 4 і 9 дані змінюються з тактовою частотою дискретизації від 0 до m (в даному випадку m = 128), визначаючи і фіксуючи за допомогою фіксуючих регістрів 5 і 8 адреси для запам'ятовуючих пристроїв 6 і 7, в які відповідно записані виконавчі дискретні значення відповідних синусоїдальних складових DTMF сигналу, з виходів запам'ятовуючих пристроїв 6 і 7 виконавчі дискретні значення відповідних синусоїдальних складових DTMF сигналу надходять на відповідні входи підсумкового суматора 10, на виході якого формуються виконавчі дискретні значення DTMF сигналу, які далі надходять на вхід цифроаналогового перетворювача 11, на виході якого формується ступінчастий синусоїдальний DTMF сигнал. Генератор DTMF сигналів може бути реалізований на базі загальновідомих технічних засобів, Описаних, наприклад, в: Застосування інтегральних мікросхем в електронній обчислювальній техніці. Довідник / За ред. Б.М. Файзулаева, Б.В. Тарабрина. - М .: Радио и связь, 1986. При цьому перетворювач 3 кодів DTMF сигналів в коди коефіцієнтів розподілу може бути виконаний, наприклад, у вигляді мікросхеми постійного пам'яті 155РЕ 3 (с. 343), реалізація регістрів описана на с. 108, реалізація накопичувальних сумматоров описана на с. 114.Заявляемий спосіб і генератор DTMF сигналів також реалізовані на базі технічних засобів фірми Microchip Inc. (8-розрядних однокристальнихмікроконтролерів типу pic16f628), в складі імпульсно-тонального телефонного номеронабирача "Кадран - НКТ - 01" виробництва фірми "Кадран" (Україна, м.Запоріжжя). Система команд і внутрішній пристрійвузлів мікроконтролера описані в: Прокопенко Б.Я. Однокристальний мікроконтролери. Додека, 2000., ISBN8-87835-056-4.Опісаніе параметрів DTMF сигналу наведено, наприклад, в: інтегральні мікросхеми: Мікросхеми для телефонії. Вип.1. - М .: Додека, 1994, 256 с. - ISBN-5-87835-003-3., С. 12, 13.

ФОРМУЛА ВИНАХОДУ

1. Спосіб генерації двотональних частотних (DTMF) сигналів, що включає вибір першого і другого кодів кутів дискретизації, відповідних першій і другій частотам складових DTMF сигналу, накопичувальне підсумовування окремо першого і другого кодів кутів дискретизації з відповідно періодично фіксуються періодом, відповідним тактовій частоті дискретизації, першим і другим результатами накопичувального підсумовування, отримання першого і другого дискретних значень складових DTMF сигналу, що зберігаються в адресно розташованих комірках відповідних таблиць дискретних значень складових DTMF сигналу, шляхом зчитування з відповідних таблиць за адресами, відповідним результатами накопичувального підсумовування кодів кутів дискретизації, підсумовування першого і другого дискретних значень складових DTMF сигналу для отримання третього дискретного значення, відповідного значенню DТМF сигналу, який відрізняється тим, що отримання першого і другого дискретних значень составляющ їх DTMF сигналу, що зберігаються в адресно розташованих комірках відповідних таблиць дискретних значень складових DTMF сигналу, проводиться шляхом зчитування з відповідних таблиць за адресами, відповідним результатами накопичувального підсумовування відповідно першої та другої послідовностей цілих чисел, усереднене значення яких відповідає кодам кутів дискретизації, відповідних складових DTMF сигналу .2. Спосіб за п.1, що відрізняється тим, що усереднене значення послідовності цілих чисел, які формують результат накопичувального підсумовування, є середнім арифметичним цих чісел.3. Спосіб за п.1, що відрізняється тим, що періодичне фіксування першого і другого результатів накопичувального підсумовування проводиться з періодом, відповідним тактовій частоті дискретизації, різної для різних DТМF сігналов.4. Генератор DТМF сигналів, що включає перший накопичувальний суматор, перший фіксує регістр, перше пристрій, другий накопичувальний суматор, другий фіксує регістр, друге пристрій, підсумковий суматор, цифроаналоговий перетворювач, причому вихід першого накопичувального суматора з'єднаний зі входом першого фіксуючого регістра, вихід першого фіксуючого регістра з'єднаний зі входом першого пристрою, що запам'ятовує, а також з одним із входів першого накопичувального суматора, вихід першого пристрою, що запам'ятовує з'єднаний з одним із входів підсумкового суматора, вихід другого накопичувального суматора з'єднаний зі входом другого фіксуючого регістра, вихід другого фіксуючого регістра з'єднаний зі входом другого запам'ятовує пристрою, а також з одним із входів другого накопичувального суматора, вихід другого пристрою, що запам'ятовує з'єднаний з іншим входом підсумкового суматора, вихід підсумкового суматора з'єднаний зі входом цифроаналогового перетворювал ля, вихід якого є виходом генератора DТМF сигналів, що відрізняється тим, що генератор DTMF сигналів додатково містить перетворювач кодів DTMF сигналів в послідовності цілих чисел, дільник задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення, перетворювач кодів DTMF сигналів в код коефіцієнта ділення, причому перший вихід перетворювача кодів DTMF сигналів в послідовності цілих чисел з'єднаний з іншим входом першого накопичувального суматора, другий вихід перетворювача кодів DTMF сигналів в послідовності цілих чисел з'єднаний з іншим входом другого накопичувального суматора, вихід дільника задає частоти генератора DTMF сигналів з регульованим коефіцієнтом ділення з'єднаний з тактовим входом перетворювача кодів DTMF сигналів в послідовності цілих чисел, а також з тактовим входом першого фіксуючого регістра і тактовим входом другого фіксуючого регістра, вихід перетворювача кодів DTMF сигналів в код коефіцієнта ділення з'єднаний зі входом установки коефіцієнта ділення подільника задає частоти генератора DTMF сигналів, вхід подільника задає частоти генератора DTMF сигналів з регульованим коефіцієнтом розподілу є входом задає частоти генератора DТМF сигналів, вхід перетворювача кодів DTMF сигналів в код коефіцієнта ділення з'єднаний зі входом перетворювача кодів DTMF сигналів в послідовності цілих чисел і є входом генератора DTMF сигналів. 5. Генератор DTMF сигналів по п.4, що відрізняється тим, що перетворювач кодів DTMF сигналів в послідовності цілих чисел виконаний у вигляді керованого програмованого пристрою, що запам'ятовує, пам'ять якого складається з відповідних кількості DТМF сигналів, областей пам'яті, що складаються з відповідних довжині послідовності цілих чисел осередків пам'яті, виконаних так, що в одній половині осередку пам'яті зберігається число, що відноситься до першої послідовності цілих чисел, а в іншій половині осередку пам'яті зберігається число, що відноситься відповідно до іншої послідовності цілих чисел, які є складовою частиною відповідних накопичувальних сумматоров, а управління програмованим запам'ятовуючим пристроєм виконано з можливістю роздільного управління вибором області пам'яті і окремої осередки пам'яті.

Тональний набір (Dual-tone multi-frequency signaling, DTMF) був розроблений компанією Bell Labs в 50-х роках минулого століття для революційного на той момент часу кнопкового телефону. Для уявлення і передачі цифрових даних в тоновому режимі використовується пара частот (тонів) мовного частотного діапазону. В системі визначені дві групи з чотирьох частот, і інформація кодується одночасною передачею двох частот - по одній з кожної групи. Це дає в цілому шістнадцять комбінацій для подання шістнадцяти різних чисел, Символів і букв. В даний час DTMF-кодування використовується в широкому спектрі додатків в області зв'язку і управління, що, наприклад, підтверджується Рекомендацією Q.23 Міжнародного союзу електрозв'язку (МСЕ).

У даній статті описується схема тонового DTMF-генератора, що відтворює всі вісім частот і формує результуючий вихідний двухтоновий сигнал. Вже згадана система була побудована на базі мікросхеми Silego GreenPAK ™ SLG46620V і операційних підсилювачів Silego SLG88104V. Що видається результуючий сигнал є сумою двох частот, які визначаються рядком і стовпцем телефонної клавіатури.

Пропонована схема використовує чотири входи для вибору формованої комбінації частот. Схема також має вхід дозволу, який запускає генерацію і визначає тривалість часу передачі сигналу. Частота вихідного сигналу генератора відповідає вимогам стандарту МСЕ для DTMF.

Тонові DTMF-сигнали

DTMF-стандарт визначає кодування цифр 0-9, букв A, B, C і D та символів * і # у вигляді комбінації двох частот. Ці частоти розділені на дві групи: група високих частот і група низьких частот. У таблиці 1 показані частоти, групи і відповідні подання символів.

Таблиця 1. Кодування сигналів тоновом режимі DTMF

Група верхніх частот

Група нижніх частот

Частоти були обрані таким чином, щоб уникнути кратних гармонік. Крім того, їх сума або різниця не дають інший DTMF-частоти. Таким чином, вдається уникнути гармонік або модуляційних перекручувань.

У стандарті Q.23 вказується, що похибка кожної переданої частоти повинна знаходитися в діапазоні ± 1,8% від номінального значення, а сумарні спотворення (в результаті гармонік або модуляції) повинні бути на 20 дБ нижче основних частот.

Описаний вище результуючий сигнал може бути описаний як:

s (t) = Acos (2πfhight) + Acos (2πflowt),

де fhigh і flow є відповідними частотами з груп високих і низьких частот.

На малюнку 1 показаний результуючий сигнал для цифри «1». На малюнку 2 показаний частотний спектр, який відповідає цьому сигналу.

Мал. 1. Тональний DTMF-сигнал

Мал. 2. Спектр тонального DTMF-сигналу

Тривалість DTMF-сигналів може бути різною і залежить від конкретного додатка, в якому використовується тональний кодування. Для найбільш поширених додатків, значення тривалостей, як правило, лежать між ручним і автоматичним набором. У таблиці 2 показано короткий опистиповий тривалості часу для двох типів набору.

Таблиця 2. Тривалість сигналів при тоновом наборі

Тип набору

Група верхніх частот

Група верхніх частот

ручний набір

автоматичний набір

Для отримання більшої гнучкості DTMF-генератор, пропонований в цьому посібнику, забезпечений входом дозволу, який використовується для старту генерації сигналу і визначає його тривалість. При цьому тривалість сигналу дорівнює тривалості імпульсу на вході дозволу.

Аналогова частина схеми DTMF-генератора

Рекомендація МСЕ Q.23 визначає DTMF-сигнали як аналогові сигнали, створені двома синусоїдальними хвилями. У запропонованій схемі DTMF-генератора мікросхема Silego GreenPAK SLG46620V генерує сигнали прямокутної форми з бажаними DTMF-частотами. Щоб отримати синусоїдальні сигнали необхідної частоти і сформувати результуючий сигнал (сума двох синусоїдальних хвиль), будуть потрібні аналогові фільтри і суматор. З цієї причини в даному проекті було вирішено використовувати фільтри і суматор на базі операційних підсилювачів SLG88104V.

На малюнку 3 показана структура пропонованої аналогової частини пристрою.

Мал. 3. Схема аналогової обробки для отримання DTMF-сигналу

Для отримання синусоїдальних сигналів з прямокутних імпульсів використовуються аналогові фільтри. Після виконання фільтрації відбувається підсумовування двох сигналів і формування бажаного вихідного двухтоновий DTMF-сигналу.

На малюнку 4 представлений результат перетворення Фур'є, що використовується для отримання спектра прямокутного сигналу.

Мал. 4. Спектр сигналу прямокутної форми

Як можна помітити, прямокутний сигнал містить тільки непарні гармоніки. Якщо уявити такий сигнал з амплітудою A у вигляді ряду Фур'є, то він буде мати наступний вигляд:

Аналіз цього виразу дозволяє зробити висновок, що якщо аналогові фільтри мають достатню загасання для гармонік, то цілком реально отримати синусоїдальні сигнали з частотою, рівній частоті вихідного прямокутного сигналу.

Беручи до уваги допуск на рівень перешкод, визначений у стандарті Q.23, необхідно забезпечити, щоб всі гармоніки були ослаблені на 20 дБ або більше. Крім того, будь-яка частота з групи нижніх частот повинна поєднуватися з будь-якою частотою з групи верхніх частот. З огляду на ці вимоги, були розроблені два фільтри, по одному для кожної групи.

Як обох фільтрів використовувалися низькочастотні фільтри Баттерворта. Загасання фільтра Баттерворта порядку n можна розрахувати як:

A (f) [дБ] = 10 log (A (f) 2) = 10log (1+ (f / fc) 2n),

де fc - частота зрізу фільтра, n - порядок фільтра.

Різниця в загасання між найнижчою частотою і найвищою частотою кожної групи може бути не більше 3 дБ, тому:

A (fHIGHER) [дБ] - A (fLOWER) [дБ]> 3 дБ.

З огляду на абсолютні значення:

A (fHIGHER) 2 / A (fLOWER) 2> 2.

Крім того, як ми вже говорили раніше, ослаблення гармонік має становити 20 дБ або більше. При цьому найгіршим буде випадок найнижчою частоти в групі, тому що її 3-тя гармоніка є найбільш низькочастотної і знаходиться найближче до частоти зрізу фільтра. З огляду на, що 3-тя гармоніка в 3 рази менше фундаментальної, фільтр повинен відповідати умові (абсолютні значення):

A (3fLOWER) 2 / A (fLOWER) 2> 10/3.

Якщо ці рівняння застосовуються до обох груп, то використовувані фільтри повинні бути фільтрами другого порядку. Це означає, що вони будуть мати по два резистора і по два конденсатора, якщо їх реалізовувати за допомогою операційних підсилювачів. При використанні фільтрів третього порядку чутливість до допускам компонентів була б нижче. Вибрані частоти отсечек фільтрів складають 977 Гц для групи нижніх частот і 1695 Гц для групи верхніх частот. При таких значеннях відмінності в рівнях сигналів в групах частот узгоджуються з наведеними вище вимогами, а чутливість до змін частоти відсічення через допусків компонентів виявляється мінімальною.

Принципові схеми фільтрів, які реалізовані за допомогою SLG88104V, представлені на малюнку 5. Номінали першої пари R-Cобрані таким чином, щоб обмежити вихідний струм мікросхеми SLG46620V. Друга ланка фільтра визначає коефіцієнт посилення, який становить 0,2. Амплітуда прямокутних сигналів задає робочу точку операційного підсилювача на рівні 2,5 В. Небажані напруги блокуються конденсаторами вихідних фільтрів.

Мал. 5. Принципові схеми вихідних фільтрів

На виході сигнали фільтрів підсумовуються, і результуючий сигнал являє собою суму гармонік, вибраних з групи нижніх і верхніх частот. Для компенсації загасання фільтра амплітуду вихідного сигналу можна підлаштувати за допомогою двох резисторів R9 і R10. На малюнку 6 показана схема суматора. На малюнку 7 представлена ​​вся аналогова частина схеми.

Мал. 6. Принципова схемасумматора

Мал. 7. Аналогова частина схеми

Цифрова частина схеми тонального DTMF-генератора

Цифрова частина схеми тонального DTMF-генератора включає цілий набір генераторів прямокутних імпульсів - по одному для кожної частоти DTMF. Так як для створення цих генераторів потрібно вісім лічильників, то для їх реалізації була вибрана мікросхема GreenPAK SLG46620V. на виходах цифровий схемиформуються два сигнали прямокутної форми, по одному на кожну групу частот.

Прямокутні сигнали формуються за допомогою лічильників та D-тригерів і мають коефіцієнт заповнення 50%. З цієї причини частота перемикання лічильників в два рази вище необхідної частоти DTMF, а DFF-тригер ділить вихідний сигнал на два.

Джерелом тактирования для лічильників є вбудований RC-генератор 2 МГц, частота якого додатково ділиться на 4 або 12. Дільник вибирається з урахуванням розрядності і максимального значення кожного лічильника, необхідного для отримання конкретної частоти.

Для генерації високих частот потрібна менша кількість відліків, тому для їх формування використовуються 8-бітові лічильники, тактовані від внутрішнього RC-генератора, сигнал якого поділений на 4. З тієї ж причини більш низькі частоти реалізовані за допомогою 14-бітових лічильників.

Мікросхема SLG46620V має тільки три стандартних 14-бітових лічильника, тому одна з нижніх частот була реалізована за допомогою 8-розрядного лічильника CNT8. Щоб число відліків вкладалося в діапазоні 0 ... 255, для тактирования даного CNT8 довелося використовувати сигнал RC-генератора, поділений на 12. Для цієї схеми була обрана частота з найбільшим числом відліків, тобто найнижча частота. Це дозволило мінімізувати похибку.

У таблиці 3 показані параметри кожного прямокутного сигналу.

Таблиця 3. Параметри генераторів прямокутних імпульсів

тактирование

Помилка частоти [%]

Група нижніх частот

Група верхніх частот

Як видно з таблиці, всі частоти мають похибку менше 1,8%, тому вони відповідають стандарту DTMF. Ці розрахункові характеристики, засновані на ідеальному значенні частоти RC-генератора, можуть бути підлаштовано з урахуванням вимірювання вихідний частоти RC-генератора.

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

Таблиця 4. Таблиця вибору частот з групи нижніх частот

Група нижніх частот

Таблиця 5. Таблиця вибору частоти з групи верхніх частот

Група верхніх частот

На малюнку 8 показана логічна схема генератора прямокутних сигналів з частотою 852 Гц. Ця схема повторюється для кожної частоти з відповідними настройками лічильника і конфігурацією LUT.

Мал. 8. Генератор імпульсів прямокутної форми

Лічильник формує вихідну частоту, яка визначається його настройками. Ця частота дорівнює подвоєною частотою відповідного тону DTMF. Параметри конфігурації лічильника показані на малюнку 9.

Мал. 9. Приклад настройки лічильника генератора прямокутних імпульсів

Вихідний сигнал лічильника підключається до тактовому входу тригера D-Flip Flop. Так як вихід DFF налаштований як інвертований, то якщо підключити вихід DFF до його входу, то D-тригер перетворюється в T-тригер. Параметри конфігурації DFF можна побачити на малюнку 10.

Мал. 10. Приклад настройки тригера генератора прямокутних імпульсів

Сигнал з виходу DFF надходить на вхід таблиці істинності LUT. Таблиці істинності LUT використовуються для вибору одного сигналу для кожного конкретного поєднання R1-R0. Приклад конфігурації LUT представлений на малюнку 11. У даному прикладі, Якщо на R1 надходить «1», а на R0 подається «0», вхідний сигнал передається на вихід. В інших випадках на виході присутній «0».

Мал. 11. Приклад настройки таблиці істинності генератора прямокутних імпульсів

Як було сказано вище, пропонована схема має вхід дозволу Enable. Якщо на вході дозволу Enable присутня логічна одиниця «1», то що генеруються прямокутні сигнали подаються на пару виходів мікросхеми. Тривалість передачі дорівнює тривалості імпульсу на вході дозволу. Щоб реалізувати цю функцію, треба було ще кілька блоків таблиць істинності LUT.

Для групи верхніх частот використовується один 4-розрядний LUT і один 2-бітний LUT, як показано на малюнку 12.

Мал. 12. Схема виходу групи верхніх частот

4-бітний LUT1 налаштований як логічний елемент АБО, тому він видає логічну одиницю «1», якщо на будь-якому з його входів присутня «1». Таблиці істинності C1 / C0 допускають вибір тільки одного з генераторів, тому 4-розрядний LUT1 визначає який сигнал надходить на вихід. Вихід цього LUT підключається до 2-бітного LUT4, який передає сигнал тільки в тому випадку, якщо на вході дозволу присутня логічна «1». На малюнках 13 і 14 показані конфігурації 4-бітного LUT1 і 2-бітного LUT4.

Мал. 13. Конфігурація 4-бітного LUT1

Мал. 14. 2-бітна конфігурація LUT4

Так як 4-бітних таблиць істинності LUT більше не було, для групи нижніх частот використовувалися два 3-бітних LUT.

Мал. 15. Схема виходу групи нижніх частот

Повна внутрішня схема GreenPAK SLG46620V показана на малюнку 16. На малюнку 17 представлена ​​підсумкова принципова схема DTMF-генератора.

Мал. 16. Блок-схема генератора тональних сигналів DTMF

Мал. 17. Принципова схема DTMF-генератора тональних сигналів

Тестування схеми DTMF-генератора

На першому етапі тестування запропонованого DTMF-генератора було вирішено перевірити частоти всіх формованих прямокутних сигналів за допомогою осцилографа. Як приклад на малюнку 18 і 19 показані вихідні сигнали прямокутної форми для частот 852 Гц і тисяча чотиреста сімдесят сім Гц.

Мал. 18. Прямокутний сигнал 852 Гц

Мал. 19. Прямокутний сигнал 1477 Гц

Як тільки частоти всіх прямокутних сигналів були перевірені, почалося випробування аналогової частини схеми. Були досліджені вихідні сигнали для всіх комбінацій з групи нижніх і верхніх частот. Як приклад на малюнку 20 показана сума сигналів 770 Гц і 1 209 Гц, а на малюнку 21 показана сума сигналів 941 Гц і +1633 Гц.

Мал. 20. Тональний DTMF-сигнал 770 Гц і 1209 Гц

Мал. 21. Тональний DTMF-сигнал 941 Гц і 1633 Гц

висновок

У даній статті була запропонована схема тонового DTMF-генератора, побудованого на базі мікросхеми Silego GreenPAK SLG46620V і операційних підсилювачів Silego SLG88104V. Генератор дає користувачеві можливість вибирати комбінації необхідних частот за допомогою чотирьох входів і управляти входом дозволу, який визначає тривалість генерації вихідних сигналів.

Характеристики мікросхеми SLG46620V:

  • Тип: програмована мікросхема змішаних сигналів;
  • Аналогові блоки: 8-бітний АЦП, два ЦАП, шість компараторов, два фільтри, ДОН, чотири інтегрованих генератора;
  • Цифрові блоки: до 18 портів введення / виводу, матриця з'єднань і комбінаторна логіка, програмовані схеми затримки, програмований функціональний генератор, шість 8-бітних лічильників, три 14-бітових лічильника, три ШІМ-генератора / компаратора;
  • Комунікаційний інтерфейс: SPI;
  • Діапазон напруг живлення: 1,8 ... 5 В;
  • Діапазон робочих температур: -40 ... 85 ° C;
  • Корпусне виконання: 2 x 3 x 0,55 мм 20-вивідний STQFN.

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

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

Вступ

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

Малюнок 1 - Схема генератора DTMF-сигналу

Таблиця 1 - Матриця формування тонального сигналу

fb / fa 1 209 Гц 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-сигнал

де відношення амплітуд K = A b / A aвихідних сигналів має відповідати умові

Принцип дії

Крім загальних відомостейпро використання широтно-імпульсної модуляції далі буде показано як широтно-імпульсна модуляція дозволяє генерувати синусоїдальні сигнали. У наступному параграфі описується як, використовуючи базову частотуШІМ отримати різні частоти. Після розгляду теоретичних основ буде дано опис безпосередньо генератора DTMF-сигналу. Генерація синусоїдальних сигналів

Залежно від співвідношення тривалості високого VH і низького VL рівнів напруги середнє значення на виході ШІМ змінюється. Якщо співвідношення між тривалістю обох рівнів утримувати постійним, то в результаті буде генеруватися постійний рівень напруги VAV. Малюнок 2 показує сигнал з широтно-імпульсною модуляцією.


Малюнок 2 - Генерація рівня постійної напруги

Рівень напруги визначається виразом:

(3)

Синусоїдальний сигнал може згенерує за умови, що середнє значення напруги, що генерується широтно-імпульсною модуляцією буде змінюватися кожен період ШІМ. Співвідношення між високим і низьким рівнями повинно здаватися у відповідність з рівнем напруги синусоїдального сигналу при відповідному часу. На малюнку 3 ілюструється даний процес. Вихідні дані для ШІМ обчислюються для кожного її періоду і записуються в таблицю перетворення (ТП).

Малюнок 3 також ілюструє залежність між частотою основного синусоїдального сигналу і кількістю вибірок. Чим вище число вибірок (Nc) - тим вище точність моделювання результуючого сигналу:

(4)

Частота ШІМ залежить від роздільної здатності ШІМ. При 8-розрядному дозволі, кінцеве значення (вершина рахунку) таймера одно 0xFF (255). Оскільки таймер виконує рахунок в прямому і зворотному напрямках, то дане значення має бути подвоєно. Тому, частота ШІМ може бути обчислена шляхом ділення тактової частоти таймера f CK на 510. Таким чином, при частоті тактирования таймера 8 МГц результуюча частота ШІМ складе 15.6 кГц.


Малюнок 3 - Генерація синусоїдального сигналу з використанням ШІМ

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

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


Малюнок 4 - Подвоєння результуючої частоти (XSW = 2)

За аналогією, якщо зчитувати не кожне друге значення, а кожне третє, четверте, п'яте (відповідно, ширина кроку 3, 4, 5 ...) і т.д. можна генерувати Nc-частот в діапазоні. Зверніть увагу, що для високих частот результуюча форма сигналу НЕ буде синусоїдальної. Ширину кроку по таблиці перетворення позначимо як X SW, де

(5)

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

(6)

Додавання різних частот для отримання DTMF-сигналу

DTMF-сигнал може бути згенерований за допомогою виразів (1) і (2). Для простоти арифметичних дій значення коефіцієнта К приймається рівним 0.75, щоб арифметична дія замінити логічними зрушеннями. З урахуванням виразу (6) поточне значення для управління ШІМ може бути обчислено за виразом:

а з урахуванням, що X LUTa=X "LUTa + X SWa ,X LUTb=X "LUTb + X SWb, Остаточно запишемо

Реалізація DTMF-генератора

В даному додаткурозглядається побудова DTMF тонального генератора з використанням виходу 8-розрядної ШІМ (OC1A) і таблиці з 128 вибірками значень синусоїдальної функції (Nc), кожна з яких задається 7 битами (n). Наступні вирази показують цю залежність, а також показують як обчислити елементи таблиці перетворення:

(9)

Перевагою використання 7 біт є те, що сума значень сигналів високої і низької частоти має розмір одного байта. Для підтримки повного набору DTMF-тонів необхідно обчислити 8 значень для кожної DTMF-частоти з таблиці 1 і занести їх в таблицю перетворення.

Для досягнення більш високої точності виконано наступне рішення: значення, обчислені за висловом 5 вимагають всього 5 байт. Для використання всіх 8 байт, що дозволить зменшити похибку округлення, це значення множиться на 8. Покажчик на таблицю перетворення записується таким же способом. Але в цьому випадку потрібно два байта для запам'ятовування 8-кратного значення. Це означає, що необхідно виконати 3 правобічних зсуву і операцію модуля по підставі Nc (логічне множення на Nc-1) перед використанням цих байт як покажчика на значення синусоїди в


Малюнок 5 - Схема модуля для підключення до STK500

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

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

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

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

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

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

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

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


Малюнок 6 - Блок-схема основної програми

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

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

Вступ

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


Малюнок 1. Схема генератора DTMF-сигналу

Таблиця 1. Матриця формування тонального сигналу

fb / fa 1 209 Гц 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 = тисячі триста тридцять шість Гц. В результаті складання двох синусоїдальних сигналів різних частот утворюється DTMF-сигнал

де відношення амплітуд K = A b / A a вихідних сигналів має відповідати умові

Принцип дії

Крім загальних відомостей про використання широтно-імпульсної модуляції далі буде показано як широтно-імпульсна модуляція дозволяє генерувати синусоїдальні сигнали. У наступному параграфі описується як, використовуючи базову частоту ШІМ отримати різні частоти. Після розгляду теоретичних основ буде дано опис безпосередньо генератора DTMF-сигналу. Генерація синусоїдальних сигналів

Залежно від співвідношення тривалості високого VH і низького VL рівнів напруги середнє значення на виході ШІМ змінюється. Якщо співвідношення між тривалістю обох рівнів утримувати постійним, то в результаті буде генеруватися постійний рівень напруги VAV. Малюнок 2 показує сигнал з широтно-імпульсною модуляцією.


Малюнок 2. Генерація рівня постійної напруги

Рівень напруги визначається виразом:

(3)

Синусоїдальний сигнал може згенерує за умови, що середнє значення напруги, що генерується широтно-імпульсною модуляцією буде змінюватися кожен період ШІМ. Співвідношення між високим і низьким рівнями повинно здаватися у відповідність з рівнем напруги синусоїдального сигналу при відповідному часу. На малюнку 3 ілюструється даний процес. Вихідні дані для ШІМ обчислюються для кожного її періоду і записуються в таблицю перетворення (ТП).

Малюнок 3 також ілюструє залежність між частотою основного синусоїдального сигналу і кількістю вибірок. Чим вище число вибірок (Nc) - тим вище точність моделювання результуючого сигналу:

(4)

Частота ШІМ залежить від роздільної здатності ШІМ. При 8-розрядному дозволі, кінцеве значення (вершина рахунку) таймера одно 0xFF (255). Оскільки таймер виконує рахунок в прямому і зворотному напрямках, то дане значення має бути подвоєно. Тому, частота ШІМ може бути обчислена шляхом ділення тактової частоти таймера f CK на 510. Таким чином, при частоті тактирования таймера 8 МГц результуюча частота ШІМ складе 15.6 кГц.


Малюнок 3. Генерація синусоїдального сигналу з використанням ШІМ

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

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


Малюнок 4. Подвоєння результуючої частоти (XSW = 2)

За аналогією, якщо зчитувати не кожне друге значення, а кожне третє, четверте, п'яте (відповідно, ширина кроку 3, 4, 5 ...) і т.д. можна генерувати Nc-частот в діапазоні. Зверніть увагу, що для високих частот результуюча форма сигналу НЕ буде синусоїдальної. Ширину кроку по таблиці перетворення позначимо як X SW, де

(5)

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

(6)

Додавання різних частот для отримання DTMF-сигналу

DTMF-сигнал може бути згенерований за допомогою виразів (1) і (2). Для простоти арифметичних дій значення коефіцієнта К приймається рівним 0.75, щоб арифметична дія замінити логічними зрушеннями. З урахуванням виразу (6) поточне значення для управління ШІМ може бути обчислено за виразом:

а з урахуванням, що X LUTa = X "LUTa + X SWa, X LUTb = X" LUTb + X SWb, остаточно запишемо

Реалізація DTMF-генератора

В даному додатку розглядається побудова DTMF тонального генератора з використанням виходу 8-розрядної ШІМ (OC1A) і таблиці з 128 вибірками значень синусоїдальної функції (Nc), кожна з яких задається 7 битами (n). Наступні вирази показують цю залежність, а також показують як обчислити елементи таблиці перетворення:

(9)

Перевагою використання 7 біт є те, що сума значень сигналів високої і низької частоти має розмір одного байта. Для підтримки повного набору DTMF-тонів необхідно обчислити 8 значень для кожної DTMF-частоти з таблиці 1 і занести їх в таблицю перетворення.

Для досягнення більш високої точності виконано наступне рішення: значення, обчислені за висловом 5 вимагають всього 5 байт. Для використання всіх 8 байт, що дозволить зменшити похибку округлення, це значення множиться на 8. Покажчик на таблицю перетворення записується таким же способом. Але в цьому випадку потрібно два байта для запам'ятовування 8-кратного значення. Це означає, що необхідно виконати 3 правобічних зсуву і операцію модуля по підставі Nc (логічне множення на Nc-1) перед використанням цих байт як покажчика на значення синусоїди в


Малюнок 5. Схема модуля для підключення до STK500

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

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

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

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

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

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

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

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


Малюнок 6. Блок-схема основної програми


Малюнок 7. Блок-схема процедури обробки переривання по переповнення таймера


Малюнок 8. Блок-схема процедури читання вибірки "GetSample"

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

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



Сподобалася стаття? поділіться їй