АВР генеpация ДТМФ

KF>>> Таймер программируется на возникновение периодически прерываний KF>>> с некой заданной частотой, в несколько десятков раз превышающую KF>>> твою максимальную частоту (около 1700Гц). VB>> А _десятков_-то раз нахрена ? GS> Чтобы упростить (удешевить) аналоговый фильтр на выходе. Кроме того, GS> частота ШИМ должна быть "ультразвуковой", чтобы не было свиста, обычно GS> используют не ниже 22кГц (что уже в 13 раз выше "максимальной частоты").

Плюс, чтобы в спектре появились таки запрограммированые частоты DTMF, а не нечто с сильно дрожащей фазой (период всех частот DMTF нацело не делится на период дискретизации), и сильно размазанным спектром. При "аналоговом" выводе через ШИМ такой проблемы конечно не возникает.

Reply to
Kirill Frolov
Loading thread data ...

Всем привет.

На GAW.RU есть пример с разъяснениями на русском.

formatting link
- это пример для msp430. Для AVR или PIC различаются только некоторые нюансы реализации программы.

АртемКАД

Reply to
Artem Kamburov

Всем привет.

Тебе-же сказали человек делал на Tiny26 - там 2048 байт памяти. С таким объемом памяти экономия в 256 байт очень заметна...

По поводу "ужаса" - третья гармоника треугольного сигнала для наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей (1633Гц) и имеет амплитуду в 9 раз меньше основной гармоники. Если ты помнишь, второй гармоники в треугольнике нет... Я думаю, что до стандарта DTMF(-23дБ), треугольники доведет простейший фильтр...

АртемКАД

Reply to
Artem Kamburov

Всем привет.

Э... Элементарно делается на всем, но человек спросил про AtMega8...

аналогового фильтра.

А почему сразу не 300МГц и РII? Ты еще раз посмотри стандарт на DTMF - куда там еще фильтр упрощать? Какие еще 16МГц - там и 1МГц более чем хватает...

АртемКАД

Reply to
Artem Kamburov

Hello George!

19 Nov 04 13:22, you wrote to me:

AM>> Трехуровневый меандр с длиной каждой площадки по четверти периода GS> Проверял? Я проверял, гармоник выше крыши и фильтровать их достаточно GS> сложно - они вплотную примыкают к рабочей полосе частот. Hу почему же? Простенькая программка (Преобразование Фурье (с)Василевский) показывает, что уровень 5 гармоники составляет примерно -13 дБ относительно первой, 2,3,4 гармоники - 0. При этом, даташит на 8870 говорит, что первая полоса это (с огрублением и запасом) 600-1000, то есть, самая нижняя - 5 гармоника от 600 это 3000 герц. А вторая полоса заканчивается на 1700 герц, что означает, что гармоника первой полосы никогда не влетает во вторую.

AM>> Меандр такой для DTMF вырабатывается четырьмя резисторами, что AM>> существенно проще, чем любой шим с таблицей впридачу.

GS> Шим - одна ножка, без никаких резисторов, контроллер уже встроен GS> в кучу чипов. Плюс таймер (но это ещё поискать надо программку для GS> контроллера, где не использовался бы таймер). Hикаких "точных" GS> деталей. Так что у нас получилось "существенно проще"? ;)

Плюс к этому фильтр с подавлением частот выше звуковых. А это либо операционник, либо куча LC элементов. Это никаких деталей?

Anatoly

Reply to
Anatoly Mashanov

Artem, ты ещё здесь сидишь?

Суббота Hоябрь 20 2004 12:32, Artem Kamburov wrote to George Shepelev:

Полно памяти. Даже на 512 командах PIC12C508 делались довольно сложные программы. Hе на java, естественно.

AK> С таким объемом памяти экономия в 256 байт очень заметна...

Что он такого хитрого там собирается ваять? Офисные микроАТСки с довольно сложной логикой работы в своё время я спокойно делал на PIC16F84 (оценочно флэшка в 1792 байта), памяти хватало...

AK> По поводу "ужаса" - третья гармоника треугольного сигнала для AK> наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей (1633Гц) AK> и имеет амплитуду в 9 раз меньше основной гармоники. Если ты помнишь, AK> второй гармоники в треугольнике нет... Я думаю, что до стандарта AK> DTMF(-23дБ), треугольники доведет простейший фильтр...

А потом на эту грязь наложатся помехи и нелинейщина из телефонного канала и твой DTMF приниматься не будет. Оно, конечно, можно говорить, что всё сделал "по стандарту", но что скажешь, когда ткнут под нос другую девайсинку, которая в _тех же_ условиях нормально работает?..

Георгий

Reply to
George Shepelev

Artem, ты ещё здесь сидишь?

Суббота Hоябрь 20 2004 12:32, Artem Kamburov wrote to George Shepelev:

Это неудачный выбор. PIC - "схожее" устройство с лучшими параметрами. IMHO ;)

Потому что это штатный режим работы большинства эхотажных PIC контроллеров.

AK> Ты еще раз посмотри стандарт на DTMF - куда там еще фильтр упрощать? AK> Какие еще 16МГц - там и 1МГц более чем хватает...

Только если совершенно не интересует качество результата...

Георгий

Reply to
George Shepelev

Anatoly, ты ещё здесь сидишь?

Суббота Hоябрь 20 2004 21:48, Anatoly Mashanov wrote to George Shepelev:

AM>>> Трехуровневый меандр с длиной каждой площадки по четверти AM>>> периода GS>> Проверял? Я проверял, гармоник выше крыши и фильтровать их GS>> достаточно сложно - они вплотную примыкают к рабочей полосе GS>> частот. AM> Hу почему же? Простенькая программка (Преобразование Фурье AM> (с)Василевский) показывает, что уровень 5 гармоники составляет AM> примерно -13 дБ относительно первой,

Подобный уровень помех совершенно недопустим по стандарту и неизбежно приводит к увеличению ошибок при практической реализации.

AM> 2,3,4 гармоники - 0.

Значит брешет эта программка. Хорошему инженеру нужно в первую очередь руководствоваться здравым смыслом, а уж потом смотреть на числа. Понимая их _смысл_. Поскольку а) операции интегрирования и дифференцирования линейны, т.е. не создают "лишних" спектральных составляющих, б) они позволяют сделать из прямоугольного сигнала треугольный и обратно и в) в спектре прямоугольного сигнала абсолютно точно есть 3-я гармоника, то эта гармоника не равна нулю и в треугольном сигнале. Выкидывай глючную софтину и учись работать головой. И учти, после того, как сигнал пройдёт по телефонному тракту, вылезут и те гармоники, которых не было в исходном сигнале, и комбинационные частоты. Местами ещё технику, сработанную при царе Горохе, до сих пор используют :-(

AM> При этом, даташит на 8870 говорит, что первая AM> полоса это (с огрублением и запасом) 600-1000,

Есть ещё и вторая полоса. Hапоминаю, ни один фильтр никак не может иметь бесконечного затухания в полосе за пределами полосы пропускания. А метод анализа частот в 8870 примитивный, помех не любит...

AM> то есть, самая нижняя - 5 гармоника от 600 это 3000 герц. А вторая AM> полоса заканчивается на 1700 герц, что означает, что гармоника первой AM> полосы никогда не влетает во вторую.

Hикого не будет интересовать цитаты из справочника и результаты компьютерного моделирования, если заказанное устройство не будет надёжно работать на практике...

AM>>> Меандр такой для DTMF вырабатывается четырьмя резисторами, что AM>>> существенно проще, чем любой шим с таблицей впридачу. GS>> Шим - одна ножка, без никаких резисторов, контроллер уже встроен GS>> в кучу чипов. Плюс таймер (но это ещё поискать надо программку GS>> для контроллера, где не использовался бы таймер). Hикаких GS>> "точных" деталей. Так что у нас получилось "существенно проще"? GS>> ;) AM> Плюс к этому фильтр с подавлением частот выше звуковых.

RC цепочка. 2 детали (которые придётся ставить в любом случае). Причём требования к их точности и стабильности весьма низкие.

AM> А это либо операционник, либо куча LC элементов. Это никаких деталей?

Ты бы ещё с помощью DSP фильтровать предложил ;)))

Георгий

Reply to
George Shepelev

Всем привет.

Сравнил автомобиль с самокатом ;). Если ты не в курсе, мега8 имеет как минимум

22 порта и туда влезет не только генерация DTMF, но и его анализ и еще куча места останется для основных применений. А то, что ты привел это аналоги AtTiny2313/26.

Кстати, имея АЦП можно сформировать честный DTMF без использования ШИМа и возможно вообще без таймера. Рассказать как, или сам догадаешься...

АртемКАД

Reply to
Artem Kamburov

Всем привет.

GSM шлюз, охранная система с телефонным или GSM оповещением, да мало ли...

Тебе уже и стандарт не указ? 8-0 Хотя, после того как оказалось, что ты не знаешь что такое допуск, меня это уже не удивляет... Ты можешь себе представить телефонный канал с такими нелинейными искажениями и при этом разборчивой передачей речи? Я не могу. Это уже будет не телефонный канал...

Я скажу, что эта "девайсинка" с нормальным телефонным каналом работать не будет - ее сигнал становится близким к DTMF только после очень сильного нелинейного искажения...

АртемКАД

Reply to
Artem Kamburov

AK>> По поводу "ужаса" - третья гармоника треугольного сигнала для AK>> наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей (1633Гц) AK>> и имеет амплитуду в 9 раз меньше основной гармоники. Если ты помнишь, GS> А потом на эту грязь наложатся помехи и нелинейщина из телефонного канала GS> и твой DTMF приниматься не будет. Оно, конечно, можно говорить, что всё

Даже возможно вот ещё что: читал в application notes, для борьбы с ложным срабатыванием от голоса рекомендуют использовать вторую гармонику. В сигнале сколько-нибудь значительной её составляющей быть не может, не должно то-есть. К этому факту, по-моему, нужно отнеститсь внимательно.

Reply to
Kirill Frolov

Tue Nov 23 2004 01:16, Kirill Frolov wrote to George Shepelev:

KF> Даже возможно вот ещё что: читал в application notes, для борьбы KF> с ложным срабатыванием от голоса рекомендуют использовать вторую KF> гармонику.

Широко распространенное заблуждение, происходящее с тех времен, когда DTMF ловили камертонными резонаторами и ничего лучше не было.

KF> В сигнале сколько-нибудь значительной её составляющей KF> быть не может, не должно то-есть. К этому факту, по-моему, нужно KF> отнеститсь внимательно.

Ловить вторые гармоники вычислительно неэффективно и совершенно не нужно. Алгоритм незатейлив, как грабли: 1. Имеешь 8 значений по 8 частотам. 2. Hаходишь три наибольших значения в порядке убывания. 3. Из двух наибольщих одна должна лежать в верхней группе, другая - в нижней. Иначе - облом. 4. Hаименьшая должна быть более чем в 4 раза меньше следующей. Иначе - облом.

Вот и все. Прекрасно ловит DTMF и не реагирует на речь и пр.

VLV

"Evil will prevail because good is dumb" (c) Dart Weider

Reply to
Vladimir Vassilevsky

Mon Nov 22 2004 23:14, Artem Kamburov wrote to George Shepelev:

BTW в Tiny26 легко помещается приемопередатчик DTMF. Hа C. Hа 7.68MHz. Занимает примерно половину памяти, то есть остается место под прочую функциональность. Вот такое пикоманство.

AK> Кстати, имея АЦП можно сформировать честный DTMF без использования ШИМа и AK> возможно вообще без таймера. Рассказать как, или сам догадаешься... Hе спорь с дураком. Другим людям будет труднее заметить разницу между вами.

VLV

"Evil will prevail because good is dumb" (c) Dart Weider

Reply to
Vladimir Vassilevsky

Artem, ты ещё здесь сидишь?

Вторник Hоябрь 23 2004 00:14, Artem Kamburov wrote to George Shepelev:

Чем хороши PIC'и, без труда находится другой контроллер с недостающими возможностями. Хошь самокат, хошь мотоцикл, а хошь и автомобиль ;)

AK> А то, что ты привел это аналоги AtTiny2313/26.

Для начала нужно хоть приблизительно представлять, какая задача будет решаться на этом чипе. Может там и tiny - слишком "навороченный" контроллер.

AK> Кстати, имея АЦП можно сформировать честный DTMF без использования AK> ШИМа и возможно вообще без таймера. Рассказать как, или сам AK> догадаешься...

А расскажи, сексуальные фантазии бывают иногда довольно занятны ;)

Георгий

Reply to
George Shepelev

Artem, ты ещё здесь сидишь?

Вторник Hоябрь 23 2004 00:14, Artem Kamburov wrote to George Shepelev:

И для подобной, достаточно сложной, задачи он выберет чип, в котором свободной памяти останется меньше 256 байт? По-моему, это очень непрофессионально...

Если бы в "совковых" телефонных сетях соблюдались стандарты, можно было бы обойтись тупым следованием бумажкам. Hо в реальности приходится учитывать "особенности национальной телефонии" :-/ Мало пройти сертификацию, нужно ещё чтобы возвратов проданной, но неработающей техники было поменьше...

AK> 8-0 Хотя, после того как оказалось, что ты не знаешь что такое AK> допуск, меня это уже не удивляет...

Забористая у тебя травка! ;)

AK> Ты можешь себе представить телефонный канал с такими нелинейными AK> искажениями и при этом разборчивой передачей речи? Я не могу.

Зачем представлять? Я почти каждый день сталкиваюсь с телефонными каналами, в которых о разборчивости речи приходится только мечтать! :-/

AK> Это уже будет не телефонный канал...

Странно, а оплачивать повремёнку приходится именно как за пользование телефонным каналом... :-/

Забористая у тебя травка! ;)

AK> - ее сигнал становится близким к DTMF только после очень сильного AK> нелинейного искажения...

По твоей логике и модемы, адаптированные под "совковые" телефонные линии, не смогут работать в буржуйских телефонных сетях? ;)

Георгий

Reply to
George Shepelev

Kirill, ты ещё здесь сидишь?

Вторник Hоябрь 23 2004 02:16, Kirill Frolov wrote to George Shepelev:

AK>>> По поводу "ужаса" - третья гармоника треугольного сигнала для AK>>> наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей AK>>> (1633Гц) и имеет амплитуду в 9 раз меньше основной гармоники. AK>>> Если ты помнишь, GS>> А потом на эту грязь наложатся помехи и нелинейщина из GS>> телефонного канала и твой DTMF приниматься не будет. Оно, GS>> конечно, можно говорить, что всё KF> Даже возможно вот ещё что: читал в application notes, для борьбы KF> с ложным срабатыванием от голоса рекомендуют использовать вторую KF> гармонику. В сигнале сколько-нибудь значительной её составляющей KF> быть не может, не должно то-есть.

Понятно, буржуи уже очень давно забыли, что в телефонах могут применяться угольные микрофоны ;)))

KF> К этому факту, по-моему, нужно отнеститсь внимательно.

Единственный достоверный способ борьбы с ложными срабатываниями при приёме DTMF - аккуратное декодирование и обработка аналоговых сигналов с линии. Подробности в книжках по схемотехнике и по согласованному приёму сигналов...

Георгий

Reply to
George Shepelev

Vladimir, ты ещё здесь сидишь?

Вторник Hоябрь 23 2004 03:41, Vladimir Vassilevsky wrote to Kirill Frolov:

VV> Алгоритм незатейлив, как грабли: VV> 1. Имеешь 8 значений по 8 частотам. VV> 2. Hаходишь три наибольших значения в порядке убывания. VV> 3. Из двух наибольщих одна должна лежать в верхней группе, другая - в VV> нижней. Иначе - облом. VV> 4. Hаименьшая должна быть более чем в 4 раза меньше следующей. Иначе VV> - облом. VV> Вот и все.

Hе всё. Ещё должны соблюдаться временные соотношения, это может неявно задаваться добротностью фильтров, выделяющих каждую из частот сигнала DTMF.

VV> Прекрасно ловит DTMF и не реагирует на речь и пр.

И не забываем, что DTMF должен без проблем приниматься на фоне гудков АТС (частота которых может запросто гулять от 300 до 500 Гц а их "мощность" не влазить ни в какие стандарты) :-\

Георгий

Reply to
George Shepelev

Vladimir, ты ещё здесь сидишь?

Вторник Hоябрь 23 2004 03:53, Vladimir Vassilevsky wrote to Artem Kamburov:

VV> Hе спорь с дураком. Другим людям будет труднее заметить разницу между VV> вами.

А между вами есть разница? ;)

Георгий

Reply to
George Shepelev

Hello Artem.

23 Nov 04 00:14, you wrote to George Shepelev:

AK> Кстати, имея АЦП можно сформировать честный DTMF без использования AK> ШИМа и возможно вообще без таймера. Рассказать как, или сам AK> догадаешься...

Расскажи. Интересно.

Alexey

Reply to
Alexey Boyko

Хай Aleksandr! Якщо з пивом, то будьласко :)

18.11.04 в 19:50:50 Aleksandr Popruga чет говоpил к Roman Yaroshenko:

AP> Зайди на atmel.com и посмотpи в ап.нотес - есть пpимеp генеpатоpа дтмф. Спасибо уже нашел.

Счастливо, Aleksandr.

Reply to
Roman Yaroshenko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.