Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Rebooting sim800c
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
MrDorianGray
Использую модуль SIM800C. Прошивка - 1418B02SIM800C32_BT_EAT_115200.
Пишу приложение для EAT. Приложение принимает данные с GPS, парсит их, а потом отправляет на сервер по TCP в определенном формате. В один прекрасный момент модуль начал хаотично перезагружаться в разные моменты времени. Данные с GPS принимаются с интервалом в 250 мс, с таким же интервалом и отправляются на сервер. Во время работы в отладочный порт выводится различная инфа - выводиться много и быстро.
Просадки по питанию исключаю - допаял дополнительный кондер - просадка по питанию не больше 100-150 мВ, напряжение питания 4.2В.
При работе программы с интервалом приема/передачи данных в 1000 мс устройство работает стабильней.
При работе программы с интервалом приема/передачи данных в 100 мс устройство работает очень нестабильно.
Вопрос в чем может быть проблема ? и куда копать ? возможно ли перезагрузка прибора при переполнении входящего или иходящего буферов UART. И как можно отдебажить момент перезагрузки, что бы понять что происходит?
Склоняюсь к софтовой проблеме, но понять так и не смог в чем проблема.

Второй вопрос:
какими путями можно удаленно обновить прошивку (модуль скачивает прошивку с сервера)?
Я так понимаю можно скачать ее по ftp, и записать ее во flash, а потом функцией eat_update_app обновить прошивку - В мануале - sim800_series_embedded_at_application_note_1.02.pdf пункт 8.4 APP upgrade прочитал.
Но как я понял API для работы с FTP пока нет, и нужно через AT команды делать (в примерах есть).
CADiLO
Обновитесь для начала до 1418B03V03SIM800C32_BT_EAT
Запрос прошивки письмом дистрибьютору.
MrDorianGray
Загрузил прошивку 1418B03V03SIM800C32_BT_EAT и модуль не запустился. Светодиод NET_LIGHT не мигает. загружал прошивку с файлом app (файл программы EAT), так и без файла - только ядро. Результат одинаковый. Прошивку получил вчера.
Со старой версией запускается нормально.
Процесс прошивки прошел хорошо.
CADiLO
В ЕАТ не проверял, а в обычной моде работает без проблем
MrDorianGray
Поборол проблему того, что не запускалась прошивка EAT - компилировал на старой версии ядра, а заливал на новую версию.
Но проблема с перезагрузкой осталась - опытным путем нашел строчку в которой возникает перезагрузка:
eat_uart_write(eat_uart_app, GPS_GLL_GGA_RMC_INTERVAl_1_1_1, len);

где
#define GPS_GLL_GGA_RMC_INTERVAl_1_1_1 "$PMTK314,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n"
len - длинна строки
eat_uart_app - EAT_UART_1

Данная строчка выполняется по таймеру, раз в секунду. Весит на отдельном таймере.
Но проблема еще в том что девайс перезагружается хаотично - иногда выводит строку, иногда нет.


При чем если отправлять строку меньшего размера, например
"$PMTK300,250,0,0,0,0*2A\r\n"
то перезагрузка не происходит.
Прошивка 1418B03V03SIM800C32_BT_EAT.
bureau
Цитата(MrDorianGray @ Mar 23 2016, 14:35) *
опытным путем нашел строчку в которой возникает перезагрузка:
eat_uart_write( uart, *data, len);

Между прочем, на EAT B08 проблема так и осталась.
Если ориентироваться по eat_trace, то там буфер на передачу -- 200 байт, все что больше -- обрезает. Очевидно и тут аналогичная проблема
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.