Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Режим мультиплексирования
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
RadikX
В связи с глобальным изменением собственного протокола заодно и, на основе полученного опыта, было решено переписать программу в устройствах. В документации на SIMCOM модули указывается, что они поддерживают (хотя и в слегка урезанном виде) режим мультиплексирования команд (AT+CMUX=1). Теоретически это может дать много жирных плюсов, однако перед перелопачиванием всего весьма немаленького проекта хотелось бы узнать мнения опытных людей. У кого был опыт применения режима мультиплексирования команд и на какие проблемы можно при этом натолкнуться?
Цырен.
Цитата(RadikX @ Dec 10 2012, 14:36) *
В связи с глобальным изменением собственного протокола заодно и, на основе полученного опыта, было решено переписать программу в устройствах. В документации на SIMCOM модули указывается, что они поддерживают (хотя и в слегка урезанном виде) режим мультиплексирования команд (AT+CMUX=1). Теоретически это может дать много жирных плюсов, однако перед перелопачиванием всего весьма немаленького проекта хотелось бы узнать мнения опытных людей. У кого был опыт применения режима мультиплексирования команд и на какие проблемы можно при этом натолкнуться?


CMUX действительно удобная вещь. Приложил доку - может упростит жизнь.
Нажмите для просмотра прикрепленного файла
Telit
Цитата(Цырен. @ Dec 10 2012, 17:12) *
CMUX действительно удобная вещь. Приложил доку - может упростит жизнь.
Нажмите для просмотра прикрепленного файла



приложил еще доку от Telit, т.к. более полное и грамотное описание wink.gif
mempfis_
Цитата(RadikX @ Dec 10 2012, 14:36) *
В связи с глобальным изменением собственного протокола заодно и, на основе полученного опыта, было решено переписать программу в устройствах. В документации на SIMCOM модули указывается, что они поддерживают (хотя и в слегка урезанном виде) режим мультиплексирования команд (AT+CMUX=1). Теоретически это может дать много жирных плюсов, однако перед перелопачиванием всего весьма немаленького проекта хотелось бы узнать мнения опытных людей. У кого был опыт применения режима мультиплексирования команд и на какие проблемы можно при этом натолкнуться?


Есть опыт применения правда в модемах Telit. Была необходимость организации канала управления модемом и 2х каналов для возможности открытия 2х независимых соединений с сервером. Вещь очень полезная и удобная. Если разобраться с фреймами и начальной инициализацией, то окажется что CMUX не такой уж и сложный в реализации. Среди подводных камней следует внимательно просмотреть возможности каналов. В Telit ограничений не встречал, а вот в доках на Cinterion написано что каналы неравноценны по возможностям. Проверьте этот момент для Simcom.
RadikX
И в Telit и в Simcom ограничение пакета 128 байт. Смогу ли я прочитать в таком режиме SMS в UCS2 кодировке?

Цитата(RadikX @ Dec 10 2012, 13:36) *
В связи с глобальным изменением собственного протокола заодно и, на основе полученного опыта, было решено переписать программу в устройствах. В документации на SIMCOM модули указывается, что они поддерживают (хотя и в слегка урезанном виде) режим мультиплексирования команд (AT+CMUX=1). Теоретически это может дать много жирных плюсов, однако перед перелопачиванием всего весьма немаленького проекта хотелось бы узнать мнения опытных людей. У кого был опыт применения режима мультиплексирования команд и на какие проблемы можно при этом натолкнуться?

Опечетался. Режим AT+CMUX=0

Увидел еще одну вещь:
В документации Telit указано, что некоторые команды не могут выполняться паралельно. Причем те, которые было бы как раз неплохо распаралелить. НО до тех пор пока не поднимут трубку с той стороны при дозвоне или пока не завершится подключение к каналу GPRS нужно ждать ответа. А это может занимать несколько десятков секунд. Так ли это? Как это дело обстоит в SIMCom?
Alechek
Самые большие подводные камни - периодически всплывают в Release notes к модемам SimCom! fman.gif
В 300-ке я только из-за этого не решался его использовать.
Но, вроде, в 900-ке все работает. Точнее почти все.
mempfis_
Цитата
И в Telit и в Simcom ограничение пакета 128 байт. Смогу ли я прочитать в таком режиме SMS в UCS2 кодировке?

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

Цитата
Увидел еще одну вещь:
В документации Telit указано, что некоторые команды не могут выполняться паралельно. Причем те, которые было бы как раз неплохо распаралелить. НО до тех пор пока не поднимут трубку с той стороны при дозвоне или пока не завершится подключение к каналу GPRS нужно ждать ответа. А это может занимать несколько десятков секунд. Так ли это? Как это дело обстоит в SIMCom?


Какие именно команды Вы хотели бы распаралелить? Вы хотите совершать 2 voice call одновременно? или одновременно активировать 2 GPRS-контента?


RadikX
Цитата(mempfis_ @ Dec 11 2012, 12:12) *
Это не проблема. Из фреймов канала собирается пакет который в итоге будет представлять из себя точную копию того, что Вы могли бы получить работая в обычном режиме. Для каждого канала необходимо будет иметь свой буффер достаточного размера чтобы сохранять в него извлечённый из фрейма пакет.

Спасибо. Вопрос снят.
Цитата(mempfis_ @ Dec 11 2012, 12:12) *
Какие именно команды Вы хотели бы распаралелить? Вы хотите совершать 2 voice call одновременно? или одновременно активировать 2 GPRS-контента?

Хотелось бы распаралелить работу по GPRS, SMS и звонки. Допустим, команда CGATT может быть очень долгой, в это время можно проверить нет ли входящих звонков и SMS (URC использовать не хотелось бы). Или во время передачи данных по GPRS отправить SMS. В общем, не только для удобства, но и для минимизации временных простоев и улучшить время реакции на внешние события.
Alechek
Насколько я помню, RING выдается во все каналы сразу. Так что голос можно объединить, допустим, с СМС.
mempfis_
Цитата(RadikX @ Dec 11 2012, 14:05) *
Хотелось бы распаралелить работу по GPRS, SMS и звонки. Допустим, команда CGATT может быть очень долгой, в это время можно проверить нет ли входящих звонков и SMS (URC использовать не хотелось бы). Или во время передачи данных по GPRS отправить SMS. В общем, не только для удобства, но и для минимизации временных простоев и улучшить время реакции на внешние события.


У меня например работа с сетью, смс и gprs (активация контента и контроль наличия ip) выполнена в одном канале. Там автоматически снимаются вопросы связанные с необходимостью ожидания активации контента и т.п. Контроль входящих/исходящих вызовов в другом канале. Работа с сервером в третьем. Хотя на треккеры много не звонят и сами они не совершают много исходящих вызовов, но пока сообщений об неадекватном поведении треккеров во время звонков ко мне не поступало, хотя их продано уже не одну тысячу штук. Ничто не мешает принимать/отправлять смс даже во время активного обмена данными с сервером по gprs. Более того как показала практика это возможно даже при активном обмене данными сразу с двумя серверами по двум открытым соккетам.
=F8=
Уже, наверное с пол года использую этот режим в серии на телитах. Особых граблей не заметил. Есть некоторые неудобства - например с SSL соединением можно работать только через 1-й канал, с другого не возможно даже опросить состояние SSL соединения.
Telit
Цитата(=F8= @ Dec 12 2012, 13:47) *
Уже, наверное с пол года использую этот режим в серии на телитах. Особых граблей не заметил. Есть некоторые неудобства - например с SSL соединением можно работать только через 1-й канал, с другого не возможно даже опросить состояние SSL соединения.



CMUX полезная вещь.

Мы еще сделали такую штуку как передачу NMEA с GPS/GLONASS приемника, который подключен на второй порт GSM модуля,
на внешний управляющий МК через основной первый порт.
для трэкеров получается экономия одного физического порта ...
megajohn
уважаемые знатоки CMUX, интересует следующее:
могу ли я параллельно заниматься обработкой звонов и приемом-передачей СМС ?
А то если нельзя так, то и переходить на своих задачах нет смысла
Frolov Kirill
Цитата(megajohn @ Dec 25 2012, 12:44) *
уважаемые знатоки CMUX, интересует следующее:
могу ли я параллельно заниматься обработкой звонов и приемом-передачей СМС ?
А то если нельзя так, то и переходить на своих задачах нет смысла


Думается можно, только вот в момент звонка (до начала разговора) отправка/приём SMS невозможны, равно как и наоборот.
kan35
Думаю, появятся задержки на операциях..
я вот тоже думаю скоро опробовать CMUX: один канал для AT команд, другой для GPRS PPP. Не знаю, на сколько оправданно и получу ли я желаемое. Но сейчас неудобно - когда дергается RI явно не видно то ли звонок, то ли SMS и за каким номером, а так - сразу месадж выплюнет в канал CMUX и не надо гадать. Даже RI не нужен, что будет экономить GPIO в перспективе.
Eirte
Уважаемые знатоки,
при использовании команды CMUX модем отвечает всего две секунды, после затыкается и далее не реагирует ни на AT команды ни на мультплексорные. Хотя в первые две секунды полностью отвечает и на те и на другие.
использую модем Sierra Wireless WS6318.
В чем может быть проблема?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.