my.jpg (3370 bytes)

DTMF КОДЕР .

DTMF кодеры используются для формирования стандартного двухчастотного сигнала , который служит для передачи по каналам связи буквенно-цифровой информации . Типичное применение - тональный набор номера в телефонах . В современных радиостанциях , применяемых в радиотелефонных системах также используется DTMF для набора номера и другой информации . Выпускается большое количество DTMF кодеров , выполненных в виде отдельного малогабаритного устройства с питанием от батарей для использования в тех случаях , когда оконечное устройство пользователя не имеет возможности передавать сигналы DTMF. Такие устройства получили название "биперы" . Используются , например для дистанционного управления автоответчиками , охранными и другими устройствами , подключенными к телефонной линии . DTMF сигнал состоит из двух составляющих синусоидальной формы , суммируемых при формировании . Каждому символу соответствует комбинация частот :

1 - 697 Гц 1209 Гц       2 - 697 Гц 1336 Гц        3 - 697 Гц 1477 Гц

4 - 770 Гц 1209 Гц       5 - 770 Гц 1336 Гц        6 - 770 Гц 1477 Гц

7 - 852 Гц 1209 Гц       8 - 852 Гц 1336 Гц        9 - 852 Гц 1477 Гц

* - 941 Гц 1209 Гц        0 - 941 Гц 1336 Гц       # - 941 Гц 1477 Гц

A - 697 Гц 1633 Гц       B - 770 Гц 1633 Гц        C - 852 Гц 1633 Гц

D - 941 Гц 1633 Гц

Один из возможных способов получения DTMF сигналов - цифровой синтез синусоидального сигнала на базе обратного Z-преобразования . Согласно этого способа выходной сигнал разбивается на фиксированные временные интервалы T . Каждый последующий отсчет выходного сигнала Y(n) получается из двух предыдущих отсчетов :

Y(n)=X(n-1)*sin(w*T)+Y(n-1)*2cos(w*T)-Y(n-2)

X(n) - входной сигнал , X(n)=1 при n=0 ; X(n)=0 при других значениях n , так называемый дельта-импульс .

Константы A=sin(w*T)=sin(2*pi*Fs/F0) ; B=2*cos(w*T)=2*cos(2*pi*Fs/F0) вычисляются один раз и используются в дальнейшем ,

F0 - частота дискретизации , Fs- частота сигнала . Таким образом :

Y(n)=A*X(n-1)+B*Y(n-1)-Y(n-2)

Первый отсчет Y(0)=0 , второй Y(1)=A ,т.к. X(0)=1 , Y(0-1)=0 , Y(0-2)=0 . Для n=2 и больше , амплитуда отсчета будет :

Y(n)=B*Y(n-1)-Y(n-2)

За один раз вычисляется один отсчет для каждой составляющей из пары частот . Затем они суммируются и выдаются на ЦАП . Для реализации этого алгоритма можно использовать один из современных однокристальных микроконтроллеров (МК). Очень удобен к примеру AT89c1051 из широко известного семейства MCS51 . Небольшие размеры , малое потребление , позволяют использовать его в портативных устройствах , питаемых от батарей . Еще одной важной особенностью этого МК является наличие режима IDLE - с малым потреблением . При переходе в этот режим МК отключает основные потребители тока и находится в дежурном режиме до поступления запроса на прерывание , причем диапазон питающего напряжения составляет от 3 до 6 в . Схема бипера приведена на рис.1 .

 

Dt1.gif (9337 bytes)

 

Клавиатура содержит только 12 кнопок используемых в телефонных приложениях . Она состоит из матрицы 6х2 , выходы которой подключены ко входам прерывания INT0 и INT1 МК . На резисторах R1-R9 собран простейший 5-ти разрядный ЦАП . Добавив еще 4 резистора по аналогии с разрядами Р1.6-Р1.2 можно задействовать еще и разряды Р1.0 , Р1.1 . При этом нужно нагрузить эти разряды резисторами 10 кОм на источник питания , т.к. они не имеют внутренней нагрузки . В результате уменьшится уровень помех квантования . Однако , как показали практические испытания , 5-ти разрядов оказывается вполне достаточно . В таб.1 приведен исходный текст программы для AT89c1051 , в таб.2 прошивка ПЗУ программ . При использовании кварцевого резонатора другой частоты , необходимо заново пересчитать константы A и B . Для этого можно использовать несложную программу на языке BASIC , приведенную в таб.3 . В первой строке содержится значение частоты кварцевого резонатора . Результатом ее работы является текстовый файл , содержащий таблицу коэффициентов A и B . Ее нужно переписать вместо старой таблицы коэффициентов в программе на ассемблере  . После компиляции получится прошивка для нового значения частоты кварца . На рис. 2 и 3

 

Dt2.gif (6894 bytes)

Dt3.gif (5622 bytes)

 

приведены чертежи печатной платы устройства . Размер управляющей программы составляет около 500 байт .  Приведенный способ формирования   сигналов открывает большие возможности для практического применения . К примеру можно сделать несложный генератор низкой частоты с плавной перестройкой и возможностью работать в качестве генератора качающейся частоты для настройки различных НЧ устройств . Там же можно ввести формирование прямоугольных , треугольных и вообще сигналов любой формы .