Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM800H, CEXTERNTONE
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Frolov Kirill

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

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

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

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

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



Frolov Kirill
Цитата(CADiLO @ May 29 2014, 17:24) *
>>>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 - включить-выключить микрофон - есть в даташите по командам.


Это я понял. Но что значит "включить-выключить" микрофон? Что именно и когда там включается и выключается? При разговоре? Или наоборот, позволяет использовать микрофон без разговора? Но какой смысл в это вложили разработчики, зачем это сделано? Смысл явно есть, но непонятен.
ssokol
Цитата(Frolov Kirill @ May 29 2014, 19:56) *
потом звук из МК без кодека -- это ШИМ с относительно невысокой частотой, напрашиваются какие-то фильтры (тоже дорого и сложно),

Звук у меня на ЦАП. Есть в любом дешевом кортексе и не надо никаких фильтров.
Frolov Kirill
Цитата(ssokol @ May 29 2014, 20:59) *
Звук у меня на ЦАП. Есть в любом дешевом кортексе и не надо никаких фильтров.


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

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

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

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
Frolov Kirill
Цитата(CADiLO @ May 30 2014, 10:21) *
>>> Но нет если кодека... А нужно:

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

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


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

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

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

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

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

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

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

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

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


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

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

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

Цитата(CADiLO)
3) звук из микрофона в модем (громкая связь, прослушивание);
- обычным способом

4) звук из модема в усилитель (громкая связь);
- обычным способом

5) звук из МК в усилитель (сообщения в динамик);
- обычным способом - подмешиваем в аналоговом тракте


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

Цитата(CADiLO)
6) звук из микрофона в МК (тест и прочее).
- обычным способом - подмешиваем в аналоговом тракте


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

Цитата(CADiLO)
Я даже еще добавлю то чего не написали
7) звук из МК в эфир
8) звук из эфира в МК


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

Цитата(CADiLO)
>>> Но что значит "включить-выключить" микрофон?
нажмите кнопочку MUTE на любом телефоне - так понятно?


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


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

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


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

Цитата(CADiLO)
А для остального - пожалуйста NUC140RE3CN и даже PCM ecть
И цена $3.3 в розницу


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

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


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

PCM в МК тоже не особо нужен, если SPI справится (нужен FIFO или DMA, или очень быстрые прерывания). Может потребуется внешний D-триггер и элемент И.
ssokol
Цитата(Frolov Kirill @ May 29 2014, 21:26) *
Две шт. ЦАП уже не в самом дешёвом кортексе. А ещё есть контроллеры проф. уровня, где ни одного ЦАП нет. Назовите кортекс с объёмом FLASH >= 384кБайт и ценой ниже $3.

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

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

Та же банальная задача запихнуть аналоговый сигнал с микрофона в МК при правильном подходе потребует предусилитель с 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 который невозможно подделать штатными бипперами, во втором двутональные посылки.


ssokol
Цитата(Frolov Kirill @ May 30 2014, 11:59) *
Это всё здорово. Но если он не дай бог не распознаёт -- остаётся только рвать волосы на голове. Потому нужно. И здесь есть ньюансы. Система ориентированная на управления с мобильного телефона, например, может иметь несколько другие настройки, чем предполагает стандартный DTMF.

Начинайте рвать wink.gif тк не только может не распознать, но и распознать неправильно и даже при передачи с мобилки, правда крайне редко, но всеж...
В свое время , даже ВЖ18 пропускала, а уж программно и подавно...
Frolov Kirill
Цитата(CADiLO @ May 30 2014, 12:54) *
Это точно - хочу чтобы все было и даже дрова рубило, но при этом ничего не хочу снаружи и подешевле.
Так не бывает - делаете серьезное изделие - извольте потратиться...


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

Цитата
Та же банальная задача запихнуть аналоговый сигнал с микрофона в МК при правильном подходе потребует предусилитель с 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. Что-то другое?







Цитата(ssokol @ May 30 2014, 13:24) *
Начинайте рвать wink.gif тк не только может не распознать, но и распознать неправильно и даже при передачи с мобилки, правда крайне редко, но всеж...
В свое время , даже ВЖ18 пропускала, а уж программно и подавно...


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

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

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

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

Странный у вас гугл, у меня сразу выскочило куча ссылок.
http://www.technoimport.com.co/Producto/pd..._Contact_ID.pdf
Работает нормально, ну а в особо летальных случаях говорим модулю - отключить сжатие и работать в FullRate.

Касаемо декодеров программных и аппаратных. Так вот мы были вынуждены при сертификации одного из изделий для телефонии собрать плату с восемью MT8870 и использовать вместо программного декодера на DSP. Хотя как нам казалось программный работал отлично. Но пока не дошло до тестирования в реальных условиях телефонных сетей. Причина - ни один из алгоритмов программных декодеров не дал требуемого динамического диапазона, а аппаратный прошел тестирование без проблем. Кстати у нас майтеловский декодер на голос не срабатывал никогда.
Aner
8870 и программный декодер DTMF на DSP не по динамическому диапазону проигрывает, а по реализации узкополосных фильтров высокого порядка с линейной фазой и малыми задержками. То чего не очень удается на средних DSP. Но и то причина не в этом. А в существенно разной стоимости чипов (DSP проигрывает в цене в разы) и значительно большего потребления по току тогоже DSP + обвеска + больший футпринт на плате.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.