Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Telit GL865-QUAD проблема с GPRS
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
desh
При разработке нового проекта столкнулся со странным поведением модема Telit GL865-QUAD.
При установлении соединения с сервером модем зависает до пересброса питания. Пробовал подавать
питание от внешенго лабораторного источника, но все тщетно. По питанию стоит тантал на 470 мкФ.
На выводе PWRMON во всех состояниях 2.84 В.

Лог работы с модемом. Прошивка модема 10.00.145

Код
MODEM: Init
MODEM: Send "AT\r"
MODEM: Recv "AT\r\r\nOK\r\n"
MODEM: Send "ATZ0\r"
MODEM: Recv "ATZ0\r\r\nOK\r\n"
MODEM: Send "ATE0\r"
MODEM: Recv "ATE0\r\r\nOK\r\n"
MODEM: Send "AT+CPIN?\r"
MODEM: Recv "\r\n+CPIN: READY\r\n\r\nOK\r\n"
MODEM: Send "AT+GMR\r"
MODEM: Recv "\r\n10.00.145\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,0\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,2\r\n\r\nOK\r\n"
MODEM: Send "AT+CREG?\r"
MODEM: Recv "\r\n+CREG: 0,1\r\n\r\nOK\r\n"
MODEM: Send "AT+CSQ\r"
MODEM: Recv "\r\n+CSQ: 16,0\r\n\r\nOK\r\n"
MODEM: Connect
MODEM: Send "AT+CGDCONT=1,"IP","internet.mts.ru","0.0.0.0",0,0\r"
MODEM: Recv "\r\nOK\r\n"
MODEM: Send "AT#SGACT=1,1,"mts","mts"\r"
MODEM: Recv "\r\n#SGACT: 10.145.250.88\r\n\r\nOK\r\n"
MODEM: Server
MODEM: Send "AT#SCFG=1,1,300,90,600,50\r"
MODEM: Recv "\r\nOK\r\n"
MODEM: Send "AT#SD=1,0,80,"www.telit.com"\r" <-по другим адресам ситуация повторяется
MODEM: Recv "\r" <- приходит один символ за 60 секунд
MODEM: Send "AT\r"
MODEM: Recv "" <- далее ответа на команды нет
MODEM: Send "AT\r"
MODEM: Recv ""


В чем может быть дело? Какие есть подводные камни?
mempfis_
Попробуйте отправить AT&K0 - может быть проблема в аппаратном управлении потоком.
А так в остальной инициализации проблем не вижу.

desh
Спасибо, действительно дело в аппаратном управлении потоком blush.gif
molecul
Цитата(desh @ Mar 5 2013, 13:01) *
Спасибо, действительно дело в аппаратном управлении потоком blush.gif

Стандартные грабли всех начинающих работать с Telit sm.gif
А управление потоком все ж лучше сделать, при больших объемах передачи данных без него будут ошибки.
mempfis_
Цитата(molecul @ Mar 5 2013, 13:31) *
А управление потоком все ж лучше сделать, при больших объемах передачи данных без него будут ошибки.


Зависит от того что понимать под большими объёмами. Если есть желание сэкономить на линииях управления потоком и не предполагается передача больших объёмов данных, то можно принять во внимание что модем может спокойно принять/отправить 2-3 килобайта без управления потоком. В мануале Easy Script In Python написано что размер буффера SER 4 килобайта. Опираясь на эти данные мы спокойно ганяем данные до 2х килобайт и ещё ниразу не сталкивались с необходимостью введения управления потоком. Даже с сервера всегда можно запросить блок данных нужного размера используя частичный GET-запрос.
molecul
Цитата(mempfis_ @ Mar 5 2013, 13:43) *
Зависит от того что понимать под большими объёмами. Если есть желание сэкономить на линииях управления потоком и не предполагается передача больших объёмов данных, то можно принять во внимание что модем может спокойно принять/отправить 2-3 килобайта без управления потоком. В мануале Easy Script In Python написано что размер буффера SER 4 килобайта. Опираясь на эти данные мы спокойно ганяем данные до 2х килобайт и ещё ниразу не сталкивались с необходимостью введения управления потоком. Даже с сервера всегда можно запросить блок данных нужного размера используя частичный GET-запрос.

На самом деле да, данные до 2 кбайт успешно буферизуются, для бОльших объемов я бы рекомендовал использовать аппаратное управление потоком. Но проблема еще и с другой стороны может выплыть - управляющий контроллер может не успеть их принять.
CADiLO
>>>А управление потоком все ж лучше сделать, при больших объемах передачи данных без него будут ошибки.

Это таки так - сота может просто заткнуться и данные уйдут в никуда, или будете ждать не зная что нет слотов под данные.
Лучше не пожалеть пары выводов под аппаратное решение.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.