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

SIM800H, CEXTERNTONE

 

Зачем в модеме SIM800H (впрочем в SIM900 каких-то версий, видимо, тоже) есть команда AT+CEXTERNTONECEXTERNTONE?

 

PCM-интерфейс в SIM800H здорово упрощает жизнь... но лишь наполовину. Если остаётся задача воспроизведения речи (из микроконтроллера) в локальный динамик и восприятия сигнала с микрофона в микроконтроллер -- может в SIM800H тоже что-то можно сделать проще и лучше?

 

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


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

>>>PCM-интерфейс в SIM800H здорово упрощает жизнь... но лишь наполовину. Если остаётся задача воспроизведения речи (из микроконтроллера) в локальный динамик и восприятия сигнала с микрофона в микроконтроллер -- может в SIM800H тоже что-то можно сделать проще и лучше?

 

Как вариант - внешний кодек плюс контроллер имеющий PCM и соединяем модуль с ними по PCM.

Нужно посмотреть только нужна ли будет коммутация линий или можно будет обойтись врезкой таймслотов.

 

>>>Зачем в модеме SIM800H (впрочем в SIM900 каких-то версий, видимо, тоже) есть команда AT+CEXTERNTONE?

 

SIM800H и SIM900x - включить-выключить микрофон - есть в даташите по командам.

 

 

 

 

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


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

>>>PCM-интерфейс в SIM800H здорово упрощает жизнь... но лишь наполовину. Если остаётся задача воспроизведения речи (из микроконтроллера) в локальный динамик и восприятия сигнала с микрофона в микроконтроллер -- может в SIM800H тоже что-то можно сделать проще и лучше?

 

Как вариант - внешний кодек плюс контроллер имеющий PCM и соединяем модуль с ними по PCM.

 

Зачем??? Внешний кодек вообще относительно дорогой компонент и занимает много ножек процессора. И с ним можно вообще всё сделать без всяких PCM в модеме причём на весьма качественном уровне (тупо подключив все источники-приёмники аналогового сигнала к стерео-кодеку и решив все вопросы его программированием). Но нет если кодека... А нужно:

 

1) звук из МК в модем (голосовое меню через телефон);

2) звук из модема в МК (распознавание DTMF);

3) звук из микрофона в модем (громкая связь, прослушивание);

4) звук из модема в усилитель (громкая связь);

5) звук из МК в усилитель (сообщения в динамик);

6) звук из микрофона в МК (тест и прочее).

 

Пункты 1-2 и 5 должны быть не взаимоисключающи (одновременная работа того и другого). То же касается пункта 2 и пунктов 3-4 (чтоб из прослушивания/разговора выходить по DTMF). Пункты 5, 4, 3, 1 должны позволять одновременную работу (сообщения МК вклиниваются в телефонный разговор и одновременно звучат в динамик).

 

Если в SIM900B были возможны всякие трюки с переключением между двумя MICx и SPKx, то в SIM900, например, канал 1 и совсем трудно. В SIM800H лучше конечно.

 

А без кодека какие проблемы: нужна собственно коммутация сигналов (на уровне вкл-выкл), нужна коммутация микрофона (и ещё встроенный-внешний...), что тянет за собой микрофонный усилитель (тоже дорогой), потом звук из МК без кодека -- это ШИМ с относительно невысокой частотой, напрашиваются какие-то фильтры (тоже дорого и сложно), иначе модем ещё такое съест кое-как а типичный усилитель (D-класса, ибо иначе размер и цена опять же) очень невзлюбит ШИМ на входе и будет качество звука ещё то. Потом микрофонный усилитель без какого-то способа регулировки усиления бесполезен (динамический диапазон сигнала сильно шире АЦП микроконтрооллера).

 

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

 

 

>>>Зачем в модеме SIM800H (впрочем в SIM900 каких-то версий, видимо, тоже) есть команда AT+CEXTERNTONE?

 

SIM800H и SIM900x - включить-выключить микрофон - есть в даташите по командам.

 

Это я понял. Но что значит "включить-выключить" микрофон? Что именно и когда там включается и выключается? При разговоре? Или наоборот, позволяет использовать микрофон без разговора? Но какой смысл в это вложили разработчики, зачем это сделано? Смысл явно есть, но непонятен.

 

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


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

потом звук из МК без кодека -- это ШИМ с относительно невысокой частотой, напрашиваются какие-то фильтры (тоже дорого и сложно),

Звук у меня на ЦАП. Есть в любом дешевом кортексе и не надо никаких фильтров.

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


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

Звук у меня на ЦАП. Есть в любом дешевом кортексе и не надо никаких фильтров.

 

Две шт. ЦАП уже не в самом дешёвом кортексе. А ещё есть контроллеры проф. уровня, где ни одного ЦАП нет. Назовите кортекс с объёмом FLASH >= 384кБайт и ценой ниже $3.

 

Фильтр нужен даже с ЦАП, хотя это уже Hi-Fi.

 

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


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

>>> Но нет если кодека... А нужно:

 

Та пожалуйста

 

1) звук из МК в модем (голосовое меню через телефон);

- умеет сам модуль, при большом объеме сообщений можно подкачивать с карточки или подгружать нужные

 

2) звук из модема в МК (распознавание DTMF);

- умеет сам модуль, причем не только DTMF, но и ContactID и даже длительность распознает. Причем на фоне голосовых сообщений.

 

3) звук из микрофона в модем (громкая связь, прослушивание);

- обычным способом

 

4) звук из модема в усилитель (громкая связь);

- обычным способом

 

5) звук из МК в усилитель (сообщения в динамик);

- обычным способом - подмешиваем в аналоговом тракте

 

6) звук из микрофона в МК (тест и прочее).

- обычным способом - подмешиваем в аналоговом тракте

 

Я даже еще добавлю то чего не написали

 

7) звук из МК в эфир

8) звук из эфира в МК

 

Оба варианта можно запихнуть как аналогом, так и по PCM

 

 

>>> Но что значит "включить-выключить" микрофон?

 

нажмите кнопочку MUTE на любом телефоне - так понятно?

 

 

>>>Назовите кортекс с объёмом FLASH >= 384кБайт и ценой ниже $3.

 

А нахрена там столько флеша??? Для сообщений?, так в модуле вам 1 мегабайт доступно под сообщения. И еще 1.5 мегабайта под разные другие файлы.

 

А для остального - пожалуйста NUC140RE3CN и даже PCM ecть

 

ARM Cortex M0, 128 kB Flash, 16 kB RAM, 8 ADC, 3 UART, 2 SPI, 2 I2C, USB, CAN, 4 PWM, PCM

И цена $3.3 в розницу

Мы его кстати пробовали с NAU8810YG - Моно аудио кодек, I2S интерфейс, I2C интерфейс для управления. Стоит $1.2

 

Без PCM NUC220LE3AN

ARM Cortex M0, 128 kB Flash, 16 kB RAM, 7 ADC, 2 UART, 1 SPI, 2 I2C, USB, 4 PWM

Цена $2.5 в розницу

 

Примерно через месяц на складе будут ARM Cortex M4

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


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

>>> Но нет если кодека... А нужно:

 

Та пожалуйста

 

1) звук из МК в модем (голосовое меню через телефон);

- умеет сам модуль, при большом объеме сообщений можно подкачивать с карточки или подгружать нужные

 

Хотелось бы услышать поподробнее. Что именно умеет модуль? Через PCM-интерфейс -- да.

 

Синтезатор речи? Качество речи наверняка недостаточное (на PC то нет приличных синтезаторов).

 

Воспроизводить файлы из внутренней памяти (или карточки)? Это интересно... Но. Вот практические данные на самодельный синтезатор:

 

* порядка 520 разных слов или фраз (дискретных записей);

* объём аудио-информации порядка 900 секунд;

* в фразе (предложении) может быть порядка двух десятков дискретных записей без пауз (иначе речь неестесственная и неразборчивая) и где нужно отдельные паузы.

 

Какие я вижу проблемы. Когда-то давно я ознакомился с этой возможностью у SIMCOM и нашёл такие ограничения: не более 100 записей и каждая запись воспроизводится последовательно отдельной AT-командой, ограниченный объём памяти для записей.

 

По поводу лимита числа записей. Могу сказать практически, что самая усечённая версия прибора, в котором на звук отводилось менее 256кБайт, имела порядка 113 записей. Числовую информацию она уже воспроизводить не могла (числа занимают больше сотни) при том.

 

Из-за запуска по 1 шт. AT-командами невозможно сделать слитную речь (нужно ж ещё поймать момент окончания предыдущей). Если бы SIMCOM сделал такую AT-команду, чтоб задать три десятка записей и они автоматически последовательно воспроизводились бы -- другое дело. Или чтоб по одной (или несколько) штук можно было добавлять в FIFO (имена/номера файлов), из которого уже бы последовательно воспроизводилось. И нужна команда для остановки речи.

 

SD/MMC-карта не вариант. Они достаточно дорогостоящи. Микросхема NOR flash-памяти может стоить менее доллара.

 

2) звук из модема в МК (распознавание DTMF);

- умеет сам модуль, причем не только DTMF, но и ContactID и даже длительность распознает. Причем на фоне голосовых сообщений.

 

Это всё здорово. Но если он не дай бог не распознаёт -- остаётся только рвать волосы на голове. Потому нужно. И здесь есть ньюансы. Система ориентированная на управления с мобильного телефона, например, может иметь несколько другие настройки, чем предполагает стандартный DTMF. И пусть она не позволяет быстро ввести десяток цифр, требует паузы, но зато в целом меньше ошибок. А встроенные алгоритмы больше ориентированы на соответствие стандартам. Будет быстрый ввод, но будет двоение символов, например.

 

Тем более, что это умеют только какие-то определённые версии каких-то новых модулей и за другую цену.

 

Не понимаю, что такое ContactID?

 

3) звук из микрофона в модем (громкая связь, прослушивание);

- обычным способом

 

4) звук из модема в усилитель (громкая связь);

- обычным способом

 

5) звук из МК в усилитель (сообщения в динамик);

- обычным способом - подмешиваем в аналоговом тракте

 

Да, но нужна коммутация на уровне вкл.-выкл в случае если параллельно подключается МК (т.е. МК, например, воспроизводить в усилитель и одновременно воспринимать DTMF, но не хочет, чтоб DTMF шёл тоже в усилитель). Кроме того, сопротивление на входе усилителя не должно меняться (ибо он с дифф. входом, плюс это изменит амплитуду). Подмешать на резисторах трудно, напрашивается ОУ. Если дифф. входы, то можно не дифф. сигналы на разные входы конечно...

 

6) звук из микрофона в МК (тест и прочее).

- обычным способом - подмешиваем в аналоговом тракте

 

Подмешиваем _куда_? Если микрофон подключен к модему ничего не выйдет. Нужно ставить отдельный микрофонный усилитель и с него сигнал делить на АЦП контроллера и модем. Про АЦП я сказал -- динамический диапазон микрофонного сигнала слишком широк, напрашивается какой-то PGA, иначе толку от такого сигнала маловато.

 

Я даже еще добавлю то чего не написали

7) звук из МК в эфир

8) звук из эфира в МК

 

Это пункты 1 и 2 соответственно, выше.

 

>>> Но что значит "включить-выключить" микрофон?

нажмите кнопочку MUTE на любом телефоне - так понятно?

 

Не понятно. Почему тогда и не написать, мол MUTE? И потом, MUTE можно сделать командами регулировки усиления микрофона, или переключить аудио-канал на другой.

 

 

>>>Назовите кортекс с объёмом FLASH >= 384кБайт и ценой ниже $3.

 

А нахрена там столько флеша??? Для сообщений?, так в модуле вам 1 мегабайт доступно под сообщения. И еще 1.5 мегабайта под разные другие файлы.

 

Для программирования программистами программ... Звук в отдельно стоящем NOR flash.

Хотя если брать Cortex-M, а не контроллеры проф. уровня, то там с бесплатным GCC 256к даже и хватит на всё (код более плотный), но опять же никакого запаса на будущее, всё впритык. А с > 256k ценники резко растут. Интересный кортекс в этом плане LPC4310 (код можно запускать прямо из serial NOR flash, критичный код разместить в ОЗУ). Но в любом случае это уже дорого (а STM32 ещё дороже).

 

А для остального - пожалуйста NUC140RE3CN и даже PCM ecть

И цена $3.3 в розницу

 

Вы всё напираете на розницу. Розничная цена совершенно не отражает ничего вообще. Это здесь и сейчас и за 2 штуки. А завтра и за тысячу курс доллара окажется другой.

 

Мы его кстати пробовали с NAU8810YG - Моно аудио кодек, I2S интерфейс, I2C интерфейс для управления. Стоит $1.2

 

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

 

PCM в МК тоже не особо нужен, если SPI справится (нужен FIFO или DMA, или очень быстрые прерывания). Может потребуется внешний D-триггер и элемент И.

Изменено пользователем Frolov Kirill

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


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

Две шт. ЦАП уже не в самом дешёвом кортексе. А ещё есть контроллеры проф. уровня, где ни одного ЦАП нет. Назовите кортекс с объёмом FLASH >= 384кБайт и ценой ниже $3.

 

Фильтр нужен даже с ЦАП, хотя это уже Hi-Fi.

Можно прицепить NAND. Cortex M3 что то типа stm32f10x, при определенных партиях, хотя всегда странновато слышать хочу и это и это и это да побольше ... и все за один доллар, ну ведь не бывает так, ведь не купить мерс по цене жигулей.

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


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

Это точно - хочу чтобы все было и даже дрова рубило, но при этом ничего не хочу снаружи и подешевле.

Так не бывает - делаете серьезное изделие - извольте потратиться и продумать. Траты должны быть разумными но они будут.

Поэтому внешние согласования, усилители и прочее - неизбежно.

 

Та же банальная задача запихнуть аналоговый сигнал с микрофона в МК при правильном подходе потребует предусилитель с AРУ или более дорогого микрофона с цифрой на выходе.

 

Хотелки вполне реальны, однако Вы же понимаете что при 100-1000 штук никто под вас переделывать модуль не будет.

Я видел проект объемом больше 30К в год, там стоит OEM версия SIM900 сделаная специально под эту задачу.

 

 

>>>Это всё здорово. Но если он не дай бог не распознаёт -- остаётся только рвать волосы на голове

 

И прийдется - для сертификации закладывается распознавание на уровне

внутри сети - 0.9, при звонке из города - 0.7

То есть даже внутри соты есть шанс на 10% сбоев.

 

>>>Не понимаю, что такое ContactID?

Обмен информацией в системах охраны и сигнализации. CID = Contact ID — наиболее распространенный в мире высокоинформативный формат передачи тревожных сообщений. CID поддерживается всеми ведущими производителями контрольных панелей и мониторинговых приемников.

 

CID DTMF или CID 2-tone — Передача Contact ID в аналоговом виде на станции мониторинга, используя голосовой канал оператора GSM связи. В отчете может передаваться за один сеанс связи сразу несколько кодов событий, если на момент передачи произошло более чем одно событие.

 

SIMCOM умеет оба протокола. В первом случае это укороченный DTMF который невозможно подделать штатными бипперами, во втором двутональные посылки.

 

 

 

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


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

Это всё здорово. Но если он не дай бог не распознаёт -- остаётся только рвать волосы на голове. Потому нужно. И здесь есть ньюансы. Система ориентированная на управления с мобильного телефона, например, может иметь несколько другие настройки, чем предполагает стандартный DTMF.

Начинайте рвать ;) тк не только может не распознать, но и распознать неправильно и даже при передачи с мобилки, правда крайне редко, но всеж...

В свое время , даже ВЖ18 пропускала, а уж программно и подавно...

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


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

Это точно - хочу чтобы все было и даже дрова рубило, но при этом ничего не хочу снаружи и подешевле.

Так не бывает - делаете серьезное изделие - извольте потратиться...

 

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

 

Та же банальная задача запихнуть аналоговый сигнал с микрофона в МК при правильном подходе потребует предусилитель с AРУ или более дорогого микрофона с цифрой на выходе.

 

Вот АРУ не нужно. Ни в коем случае. Нелинейные искажения в усилителе (микрофона, динамика), самих микрофоне и динамике капитально портят работу системы эхоподавления в SIM900. Вы же мне тогда и помогли догадаться, я ж тут долго жаловался, как всё плохо. Суть АРУ -- то же нелинейное искажение. SIM ж никак не подстроится к характеристике эха, если усиление постоянно меняться будет. "АРУ" можно сделать или очень медленно, на порядок медленней, чем SIM900 подстраивается, только за это время и разговор кончится, или настроить один раз и не менять.

 

Хотелки вполне реальны, однако Вы же понимаете что при 100-1000 штук никто под вас переделывать модуль не будет.

Я видел проект объемом больше 30К в год, там стоит OEM версия SIM900 сделаная специально под эту задачу.

 

Вот вы и расставили всё на свои места.

 

Про DTMF:

>>>Это всё здорово. Но если он не дай бог не распознаёт -- остаётся только рвать волосы на голове

И прийдется - для сертификации закладывается распознавание на уровне

внутри сети - 0.9, при звонке из города - 0.7

То есть даже внутри соты есть шанс на 10% сбоев.

 

Речь не про IP-телефонию. Никакой сертификации нет. Но 0.7 -- это не вариант. Это "у вас ничего не работает -- отдайте деньги!". Реально ситуация куда лучше, чем 0.9. Есть когда в данной точке пространства, с данными опсосами, "вообще не работает", но там странные эффекты -- сигнал начинается, потом тишина, потом слышен хвост. Такое впечатление, что ОПСОСы подавляют. Не знаю и не понимаю почему. Но это не массовый случай.

 

>>>Не понимаю, что такое ContactID?

 

Обмен информацией в системах охраны и сигнализации. CID = Contact ID — наиболее распространенный в мире высокоинформативный формат передачи тревожных сообщений. CID поддерживается всеми ведущими производителями контрольных панелей и мониторинговых приемников.

 

CID DTMF или CID 2-tone — Передача Contact ID в аналоговом виде на станции мониторинга, используя голосовой канал оператора GSM связи. В отчете может передаваться за один сеанс связи сразу несколько кодов событий, если на момент передачи произошло более чем одно событие.

 

SIMCOM умеет оба протокола. В первом случае это укороченный DTMF который невозможно подделать штатными бипперами, во втором двутональные посылки.

 

Ничего не гуглится толком, где можно про это почитать?

 

Укороченный DTMF, да и вообще DTMF over GSM, сомнительное дело. Звук же сжимается кодеками, кадрами по 10..30мс. Не шибко укоротишь. Потом специфика кодеков такова, что ориентированы они на речевую информацию и DTMF в общем и целом воспроизводят плохо. Не зря же в E-call отказались от DTMF в пользу более специализированного модема, способного быстрей и лучше проходить через все кодеки. В том модеме идея в том, что изначально посылка синхронизируется по специальной последовательности, а потом биты кодируются полярностью и позицией импульса, и помехоустойчивое кодирование есть. От импульсов, изначально занимающих весь спектр, после кодека останется какая-то часть (спектра) и кое-как прокорреллирует в приёмнике. SIMCOM же кстати передачу для E-call поддерживает. Мог бы и приём. Наверное, можно и самостоятельно такое сделать, только скорость меньше, по-хуже и по-проще...

 

Двухтональные посылки -- это V.23, например, или V.21? Те же проблемы, что и DTMF. Сомневаюсь, что вообще что-то из этого будет нормально работать через GSM. Что-то другое?

 

 

 

 

 

 

 

Начинайте рвать ;) тк не только может не распознать, но и распознать неправильно и даже при передачи с мобилки, правда крайне редко, но всеж...

В свое время , даже ВЖ18 пропускала, а уж программно и подавно...

 

Могу сравнить HT9170D (аналог MT8870 или 1008ВЖ18) и программный алгоритм написанный по аппноте от texas instruments. Не в пользу аппаратных декодеров. В основном проблема касается срабатывания аппаратного декодера на голос. Такое возникает в программном декодере когда он не отсекает ложные срабатывания по второй гармонике -- возможно, аппаратный именно так и не делает.

 

Ситуацию усугубляет голосовое меню: всегда есть эхо. Слабое но есть. Да хоть через тракт динамик-микрофон у удалённого абонента. И на голос механической тётки срабатывает, когда она меню озвучивает. Из-за того просто пользоватся может стать невозможным.

 

Как сделано в SIMCOM не знаю...

 

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


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

Про AРУ вы не поняли - не для модуля оно нужно, а если будете оцифровывать с микрофона контроллером сигнал.

 

По распознаванию - 0.9 и 0.7 это цифры хуже которых быть не должно. Лучше пожалуйста. Однако надо учитывать то что можете попасть в ситуацию когда стабильно будет например 0.91. Вроде и пределах допустимого, а 9% гарантированно не распознается. И что тогда?

Значит нужно придумывать протокол который повысит точность - квитирование с повторением например.

 

Странный у вас гугл, у меня сразу выскочило куча ссылок.

http://www.technoimport.com.co/Producto/pd..._Contact_ID.pdf

Работает нормально, ну а в особо летальных случаях говорим модулю - отключить сжатие и работать в FullRate.

 

Касаемо декодеров программных и аппаратных. Так вот мы были вынуждены при сертификации одного из изделий для телефонии собрать плату с восемью MT8870 и использовать вместо программного декодера на DSP. Хотя как нам казалось программный работал отлично. Но пока не дошло до тестирования в реальных условиях телефонных сетей. Причина - ни один из алгоритмов программных декодеров не дал требуемого динамического диапазона, а аппаратный прошел тестирование без проблем. Кстати у нас майтеловский декодер на голос не срабатывал никогда.

 

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


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

8870 и программный декодер DTMF на DSP не по динамическому диапазону проигрывает, а по реализации узкополосных фильтров высокого порядка с линейной фазой и малыми задержками. То чего не очень удается на средних DSP. Но и то причина не в этом. А в существенно разной стоимости чипов (DSP проигрывает в цене в разы) и значительно большего потребления по току тогоже DSP + обвеска + больший футпринт на плате.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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