Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM300D "режет" данные
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Spider
Столкнулся с проблемой "затыков" во время работы TCP. Стек использую софтовый, свой.
Иногда при работе TCP перестаёт происходить обмен данными между клиентом и сервером. В процессе изучения проблемы выяснилось, что фактически прекращается поток TCP. Стал изучать что да как и получил такие вот результаты:
Для наглядности эксперимента я отказался от GPRS и соеденил 2 SIM300D модема между собой. Получен CONNECT 9600. Один модем управляется Linux 2.6 + pppd, воторой ATMega128 и мой PPP/TCP. Устройство коннектится к FTP серверу и заливает туда файл, после предварительного прохода по директориям.
В один прекрасный момент обмен останавливается и ATMega128 "вешает трубуку" после неоднократного TCP Timeout.
Я повесил dumper на ноги RX/TX между AtMega & SIM300D и аналогично Linux делает дамп (pppd record file.name). В идеале дампы должны были получиться одинаковые. Но не тут-то было. Если со стороны ATmega в модем ушли одни данные, то со стороны Linux из модема вышло немного не то... В лучшем случае "обрезанное" с конца, в худшем с "битыми" битами, в результате чего не сошлась CRC и так далее. Эксперимент проводился неоднократно, и всегда результат был один.
Я по началу грешил на "кривую" обработку RST/CTS с моей стороны, но посидев и понаблюдав на них осцилом, так ни разу и не увил на них активности, да и от куда? Длина пакетов редко превышает 40 байт, а интервал между послыками в среднем 100ms и редко, когда идёт 2 пакета подряд в одном направлении, чаще туда-сюда.
Скорость порта 57600, фактическая скорость на ATMega ~57596 (кварц 7,3728 MHz).

Я не грешу на модем, потому как на макетке с FTDI и под управлением всё тем же Linux он работает как из пушки. (кстати у FTDI выходные уровни заданы самой FTDI, а именно 3.3В и Z состояние отсутсвует.)
Но всё таки? Что может быть? Что я делаю не так?
Spider
чес. слово что случилось. Но сегодня с утра всё работает. Маракуюя. буду смотреть и наблюдать.
YAM
По-моему, все это шаманство зависит от оператора, загруженности сети и конкретных сот... ну и конечно кривизны или прямых рук smile.gif
Spider
Цитата(YAM @ Apr 28 2008, 18:14) *
По-моему, все это шаманство зависит от оператора, загруженности сети и конкретных сот... ну и конечно кривизны или прямых рук smile.gif

Ну такая мысль тоже пролетала. Руик уже не знаю в каких тисках ровнять smile.gif Ну пока работает, тфу-тфу-тфу. Продолжаем мониторить.
Alechek
Недавно тоже пришлось изучать передачу данных. Так вот нашел одну интересную "странность": модем отправляет данные (+CIPSEND), получает подтверждение доставки ТСР (SEND ОК). И только через секунду-полторы данные доходят до получателя!
Получатель был подключен через спутниковый инет (входящий траффик). Когда подключил через скайлинковский инет - все стало в норме - вначале данные, потом SEND OK.
Все это я к тому, что данные могут портить всякие файрволы, NAT и прочая маршритизирующая гадость.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.