fk1 0 29 мая, 2014 Опубликовано 29 мая, 2014 · Жалоба Зачем в модеме SIM800H (впрочем в SIM900 каких-то версий, видимо, тоже) есть команда AT+CEXTERNTONECEXTERNTONE? PCM-интерфейс в SIM800H здорово упрощает жизнь... но лишь наполовину. Если остаётся задача воспроизведения речи (из микроконтроллера) в локальный динамик и восприятия сигнала с микрофона в микроконтроллер -- может в SIM800H тоже что-то можно сделать проще и лучше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 8 29 мая, 2014 Опубликовано 29 мая, 2014 · Жалоба >>>PCM-интерфейс в SIM800H здорово упрощает жизнь... но лишь наполовину. Если остаётся задача воспроизведения речи (из микроконтроллера) в локальный динамик и восприятия сигнала с микрофона в микроконтроллер -- может в SIM800H тоже что-то можно сделать проще и лучше? Как вариант - внешний кодек плюс контроллер имеющий PCM и соединяем модуль с ними по PCM. Нужно посмотреть только нужна ли будет коммутация линий или можно будет обойтись врезкой таймслотов. >>>Зачем в модеме SIM800H (впрочем в SIM900 каких-то версий, видимо, тоже) есть команда AT+CEXTERNTONE? SIM800H и SIM900x - включить-выключить микрофон - есть в даташите по командам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fk1 0 29 мая, 2014 Опубликовано 29 мая, 2014 · Жалоба >>>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 0 29 мая, 2014 Опубликовано 29 мая, 2014 · Жалоба потом звук из МК без кодека -- это ШИМ с относительно невысокой частотой, напрашиваются какие-то фильтры (тоже дорого и сложно), Звук у меня на ЦАП. Есть в любом дешевом кортексе и не надо никаких фильтров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fk1 0 29 мая, 2014 Опубликовано 29 мая, 2014 · Жалоба Звук у меня на ЦАП. Есть в любом дешевом кортексе и не надо никаких фильтров. Две шт. ЦАП уже не в самом дешёвом кортексе. А ещё есть контроллеры проф. уровня, где ни одного ЦАП нет. Назовите кортекс с объёмом FLASH >= 384кБайт и ценой ниже $3. Фильтр нужен даже с ЦАП, хотя это уже Hi-Fi. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 8 30 мая, 2014 Опубликовано 30 мая, 2014 · Жалоба >>> Но нет если кодека... А нужно: Та пожалуйста 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fk1 0 30 мая, 2014 Опубликовано 30 мая, 2014 (изменено) · Жалоба >>> Но нет если кодека... А нужно: Та пожалуйста 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-триггер и элемент И. Изменено 30 мая, 2014 пользователем Frolov Kirill Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ssokol 0 30 мая, 2014 Опубликовано 30 мая, 2014 · Жалоба Две шт. ЦАП уже не в самом дешёвом кортексе. А ещё есть контроллеры проф. уровня, где ни одного ЦАП нет. Назовите кортекс с объёмом FLASH >= 384кБайт и ценой ниже $3. Фильтр нужен даже с ЦАП, хотя это уже Hi-Fi. Можно прицепить NAND. Cortex M3 что то типа stm32f10x, при определенных партиях, хотя всегда странновато слышать хочу и это и это и это да побольше ... и все за один доллар, ну ведь не бывает так, ведь не купить мерс по цене жигулей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 8 30 мая, 2014 Опубликовано 30 мая, 2014 · Жалоба Это точно - хочу чтобы все было и даже дрова рубило, но при этом ничего не хочу снаружи и подешевле. Так не бывает - делаете серьезное изделие - извольте потратиться и продумать. Траты должны быть разумными но они будут. Поэтому внешние согласования, усилители и прочее - неизбежно. Та же банальная задача запихнуть аналоговый сигнал с микрофона в МК при правильном подходе потребует предусилитель с 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 0 30 мая, 2014 Опубликовано 30 мая, 2014 · Жалоба Это всё здорово. Но если он не дай бог не распознаёт -- остаётся только рвать волосы на голове. Потому нужно. И здесь есть ньюансы. Система ориентированная на управления с мобильного телефона, например, может иметь несколько другие настройки, чем предполагает стандартный DTMF. Начинайте рвать ;) тк не только может не распознать, но и распознать неправильно и даже при передачи с мобилки, правда крайне редко, но всеж... В свое время , даже ВЖ18 пропускала, а уж программно и подавно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fk1 0 30 мая, 2014 Опубликовано 30 мая, 2014 · Жалоба Это точно - хочу чтобы все было и даже дрова рубило, но при этом ничего не хочу снаружи и подешевле. Так не бывает - делаете серьезное изделие - извольте потратиться... Если потратиться, то можно просто пойти и в магазине купить готовое. Та же банальная задача запихнуть аналоговый сигнал с микрофона в МК при правильном подходе потребует предусилитель с 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 не знаю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 8 30 мая, 2014 Опубликовано 30 мая, 2014 · Жалоба Про AРУ вы не поняли - не для модуля оно нужно, а если будете оцифровывать с микрофона контроллером сигнал. По распознаванию - 0.9 и 0.7 это цифры хуже которых быть не должно. Лучше пожалуйста. Однако надо учитывать то что можете попасть в ситуацию когда стабильно будет например 0.91. Вроде и пределах допустимого, а 9% гарантированно не распознается. И что тогда? Значит нужно придумывать протокол который повысит точность - квитирование с повторением например. Странный у вас гугл, у меня сразу выскочило куча ссылок. http://www.technoimport.com.co/Producto/pd..._Contact_ID.pdf Работает нормально, ну а в особо летальных случаях говорим модулю - отключить сжатие и работать в FullRate. Касаемо декодеров программных и аппаратных. Так вот мы были вынуждены при сертификации одного из изделий для телефонии собрать плату с восемью MT8870 и использовать вместо программного декодера на DSP. Хотя как нам казалось программный работал отлично. Но пока не дошло до тестирования в реальных условиях телефонных сетей. Причина - ни один из алгоритмов программных декодеров не дал требуемого динамического диапазона, а аппаратный прошел тестирование без проблем. Кстати у нас майтеловский декодер на голос не срабатывал никогда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 3 30 мая, 2014 Опубликовано 30 мая, 2014 · Жалоба 8870 и программный декодер DTMF на DSP не по динамическому диапазону проигрывает, а по реализации узкополосных фильтров высокого порядка с линейной фазой и малыми задержками. То чего не очень удается на средних DSP. Но и то причина не в этом. А в существенно разной стоимости чипов (DSP проигрывает в цене в разы) и значительно большего потребления по току тогоже DSP + обвеска + больший футпринт на плате. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться