Перейти к содержанию
    

отправил подтверждение на SIMCOM о включении функции декодирования в стандартную прошивку.

И на SIM900B так же появиться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю что должно. У нас основной поставляемый модуль SIM900, так что на модификации не обращал внимания.

Они экономически невыгодны к поставке и применению.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь сталкивался с реализацией приема DTMF с помощью модулей SIM900\SIM300D?

И вообще, стоит ли изобретать велосипед? Слышал, что прием DTMF будет одной из функций SIM900. Хотелось бы знать, так ли это...

 

То, что смог найти - "Алгоритм Герцеля", но как довести сигнал до АЦП процессора - остается для меня загадкой. Ведь там дифференциальный сигнал... Как его оцифровывать? При том сохранив возможность вести телефонный разговор...

И еще вопрос: на сколько ресурсозатрантый этот Аглоритм Герцеля?

 

Я реализовывал DTMF на PIC-е.

С выхода SIM300 через RC-фильтр сразу на АЦП микроконтроллера, использовал только один выход модуля (что с того, что выход дифференциальный, второй выход просто не используется).

В исходниках Линукса нашел готовый код Си алгоритма Герцеля (ДТМФ), адаптировал его под ПИК и всё заработало.

Но работает очень долго, при анализе 16 частот (8 частот и 8 вторых гармоник) интервал 20 мс обрабатывается около секунды!

Если анализировать только 2 кнопки 6 частот ( 3 частоты и 3 вторые гармоники ), то получалось быстрее...

 

Но главная проблема в том, что при большой загрузке сотовой сети происходит уплотнение сигнала и аудио сигнал передается с перерывами.

Человеческое ухо воспринимает такой сигнал нормально, а вот Микроконтроллер уже нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на PIC_ах так и будет медленно, только поиграться. Даже не каждый ARM быстро справиться, LPC1768 пошустрее декодирует и точнее. Но все рано использовать проблематично в реальном голосовом канале GSM из-за задержек и фазовых искажений. MT8870 предпочтительнее, программной реаизаци даже на ARM_ах. Но тоже не очень то в решениях на GSM. Лучше использовать встроенные программные декодеры на уровне AT команд. Поскольку передача/прием DTMF более надежна, используется другой канал пердачи в GSM сетях, не голововой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На PIC будет медленно только если делать по их примерам. Мы делали на 16F77 с табличным БПФ. PIC еще успевал управлять радиостанцией (Алтай - 3М) и генерить тречастотные посылки обмена с базовой станцией.

На современных PIC это еще красивее можно решить.

Правда писалось все на ассемблере с подсчетом и оптимизацией времени на выполнение- на си конечно не получится. Си хорош для быстрого написания, когда не ограничен скоростью и памятью, но времязависимые вещи на нем реализовывать не всегда оправдано.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Был PIC18F2520, работал на 8 Мегагерцах.

Но, как уже писали, самая большая проблема в искажениях в аудио-канале.

DTMF предназначен для проводных линий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно же я не имел в виду GSM. Речь шла о возможности реализации нормального приемника на PIC, чтобы еще ресурс и для другого оставался.

А в GSM канале даже аппаратные декодеры 50 на 50 определяют.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно же я не имел в виду GSM. Речь шла о возможности реализации нормального приемника на PIC, чтобы еще ресурс и для другого оставался.

А в GSM канале даже аппаратные декодеры 50 на 50 определяют.

 

это не совсем так! декодеры типа 8870 - в гсм работают достаточно хорошо (ну 95% вероятности можно смело дать)

причем я использовал очень давно (этак в 2000-2002 годах когда еще сети ГСМ имели не ахти даже CSD соединения... а GPRS просто было только кое где..

так вот DTMF для передачи данных через непосредственно через голосовой канал - малой скоростью (одна 4 бит -посылка 100мс) -именно на 8870 (а это шедевр, какой уже долгие годы для целей DTMF - живет в мире и никуда не денется наверное до 2го пришествия аж, а возможно и переживет это событие)

Так вот.. посылки размером 100 байт- это все прекрасно гоняло по ГСМ точка-ГСМ-точка.. И там не менее 95%- передавались без ошибок. А если и были ошибки -повтор передачи..и проблема решалась.

 

Другое дело что пока я не имел дела со встроенными в GSM модем DTMF декодерами.. было бы интересно услышать подробности

кстати про рассказы героев какие тут описывают как они делали на Сим300 и АЦП- PICа программный DTMF декодер. Замечу- на это древний герой Сизиф сказал- "пидить в инете- не камни ворочать"

 

Конечно же я не имел в виду GSM. Речь шла о возможности реализации нормального приемника на PIC, чтобы еще ресурс и для другого оставался.

А в GSM канале даже аппаратные декодеры 50 на 50 определяют.

 

это не совсем так! декодеры типа 8870 - в гсм работают достаточно хорошо (ну 95% вероятности можно смело дать)

причем я использовал очень давно (этак в 2000-2002 годах когда еще сети ГСМ имели не ахти даже CSD соединения... а GPRS просто было только кое где..

так вот DTMF для передачи данных через непосредственно через голосовой канал - малой скоростью (одна 4 бит -посылка 100мс) -именно на 8870 (а это шедевр, какой уже долгие годы для целей DTMF - живет в мире и никуда не денется наверное до 2го пришествия аж, а возможно и переживет это событие)

Так вот.. посылки размером 100 байт- это все прекрасно гоняло по ГСМ точка-ГСМ-точка.. И там не менее 95%- передавались без ошибок. А если и были ошибки -повтор передачи..и проблема решалась.

 

Другое дело что пока я не имел дела со встроенными в GSM модем DTMF декодерами.. было бы интересно услышать подробности

кстати про рассказы героев какие тут описывают как они делали на Сим300 и АЦП- PICа программный DTMF декодер. Замечу- на это древний герой Сизиф сказал- "пидить в инете- не камни ворочать"

 

А уж с нормальными посылками ДТМФ (500мс)- 8870 гарантирует 99% верный прием..

 

Думаю что должно. У нас основной поставляемый модуль SIM900, так что на модификации не обращал внимания.

Они экономически невыгодны к поставке и применению.

 

Положим что касается СИМ- этой компании я всякое доверие потерял. Ее модемы годятся лишь на разработку планируемое время жизни которой - 2года.. по причине того,что Simcom имеет привычки менят схемотехнику даже приличных приборов купленных у нормальных компаний.. и после этого- не жди надежной работы.. от новых партий купленных модемов. с виду они такие же.. внутри- совсем другая суть. После практики использования SIMCOM (разнообразной) - ничто не заставит купить модемы этой компаний как бы хороши не были отзывы о них.. Знаю что в один миг можно "попасть" так. что даром не надо ее модемов! Даже если цены Симком сделают в 3 раза ниже чем на аналогичные компаний более приличных. Играть в лоторею с симком - никому не пожелаю..

энту уж извини, барин..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Друзья, Microchip тоже не стоит на месте! Сегодня в разы дешевле применять что-то вроде PIC18F45K20 или K22 (пин-ту-пин совместимы с 4520, но стоят около 70-80 русских рублей). Помимо прочего, они уже 16MIPS на внутреннем HSINTOSC. И в конце концов, если Вы уже умеете писать на асме, кто мешает делать асм-вставки или писать целые функции? Это ж не проблема! Склепайте на новых 18х шустрый табличный DTMF и выложите его сюда - народ будет зело благодарен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше даже на PIC24 или DSPIC33. Есть модели которые по ценовой политике интереснее 18 серии.

Так 18F45К20 в розницу $2.4, а PIC24FJ64GA002 или dsPIC33FJ12GP201 - $2.9. Если надо больше ног, то в среднем плюс 1-2 бакса.

У нас уже многие даже на PIC32 в качестве базовой модели посматривают - они при больших возможностях проще в освоении чем

16 и 18 серии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше даже на PIC24 или DSPIC33. Есть модели которые по ценовой политике интереснее 18 серии.

Так 18F45К20 в розницу $2.4, а PIC24FJ64GA002 или dsPIC33FJ12GP201 - $2.9. Если надо больше ног, то в среднем плюс 1-2 бакса.

У нас уже многие даже на PIC32 в качестве базовой модели посматривают - они при больших возможностях проще в освоении чем

16 и 18 серии.

Да нет вопросов, конечно, 24е или 33е лучше 18х. Но я на них ещё не пересел, хотя уже чувствую, что "затылок" вот-вот упрётся в "потолок". Однако, видимо, пересаживаться придётся сразу на ARMы - о них всё больше говорят и их всё чаще применяют. В любом случае, DTMF можно сносно реализовать на тех МК, что уже есть сейчас. Кто это сделает, тому будут большие респекты.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перезвонил коллегам, если найдут исходники семилетней давности для PIC16F77 по табличному БПФ декодированию DTMF, то выложу.

В качестве основы можно будет использовать. Писалось на ассемблере, но комментарии есть, так что при желании можно разобраться и повторить на новых чипах. В частности можно переделать работу с таблицей, потому как тогда это все оптимизировалось покомандно, а в новых PIC есть готовые табличные команды. Самое интересное там сама таблица - она была полностью отмоделирована в матлабе (или маткаде - не помню как правильно прога зовется).

 

С чем пришлось тогда столкнуться это малый динамический диапазон при работе с АЦП PIC. Пришлось делать аналоговую часть с АРУ - схему брали от микрофонного пульта "Беринджер". После чего при выходном сигнале нч тракта радиостанции от 15 мВ до 600мВ сигнал DTMF из эфира определялся без проблем.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лет 8-10 назад попадалась в руки офисная мини-АТС. Линий 6 или 8, делали в Харькове. Сделана была на ..PIC16F84 :)

Удивило то, что она очень неплохо DTMF декодировала без аппаратного декодера. На вход PIC16F84 сигнал заходил с компаратора (пресловутая СА3, схема с плавающим уровнем как и в АОНах). На сколько кварц стоял уже не помню, но оно работало! Так что не обязательно АРМ для детектирования ставить..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

но оно работало! Так что не обязательно АРМ для детектирования ставить..

Ну, наши предки из инженерного корпуса делали всё на аналоговой технике, а как работало! Дарьял весь насквозь аналоговый, Тополя тоже не на АРМах, а летают, поди ж ты! На самом деле, всё возрастающий объём ресурсов развращает разработчика, важнее быстро слепить нечто работоспособное, нежели вылизывать всё до совершенства...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нееее, еще не все динозавры померли. Недавно пообщался с людьми которые переписали микрочиповские графические библиотеки на ассемблере для индикатора RFC57A с тач панелью. Спросил чем сишное не устраивало. Ответ привел к улыбке - не нашли крякнутый компилятор для 24 пиков. Пришлось им контроллер делать на 18-х и писать на асме. Зато полностью разобрались с индикатором.

Вобщем подарил им из закромов компилятор, чтобы так больше не мучились. :)

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...