|
Странный глюк SIM300D, SIM300D "глотает" данные |
|
|
|
Nov 24 2009, 10:24
|
Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059

|
Цитата(CADiLO @ Nov 23 2009, 10:24)  КС - она же CRC - контрольная сумма - гонять файлы без нее ну скажем несколько рисковано.... Насколько я знаю таких контрольных сумм в самом TCP\IP несколько - на каждом уровне протоколов. Повышает ли надежность передачи добавление еще и своей CRC? По-моему, нет, при условии, что стек протоколов на самом модеме реализован корректно.
|
|
|
|
|
Nov 24 2009, 10:55
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(korobov_michael @ Nov 24 2009, 12:24)  Насколько я знаю таких контрольных сумм в самом TCP\IP несколько - на каждом уровне протоколов. Повышает ли надежность передачи добавление еще и своей CRC? По-моему, нет, при условии, что стек протоколов на самом модеме реализован корректно. Ключевая фраза "при условии" А вы уверены, что стек в модеме не имеет ошибок? А вы уверены, что у ОпСоса при передаче пакетов ничего не может выкинуться (именно намеренно удалится, а не пропасть) при полной загруженности конкретной соты голосовыми данными? Я вот не уверен. Хотя допускаю, что те TCP сегменты, которые добираются до места назначения, не имеют ошибок. Но при передаче больших объемов данных происходит фрагментация. И, видимо, часть сегментов пропадает по пути из-за кривости какой-то части оборудования...
|
|
|
|
|
Nov 24 2009, 13:25
|
Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059

|
Цитата(Baser @ Nov 24 2009, 12:55)  допускаю, что те TCP сегменты, которые добираются до места назначения, не имеют ошибок. Но при передаче больших объемов данных происходит фрагментация. И, видимо, часть сегментов пропадает по пути из-за кривости какой-то части оборудования... Дело в том, что если не дошел хотя бы один фрагмент из пакета, то этот пакет будет невозможно собрать, и, по сути, весь пакет будет считаться недошедшим. Cмысл-то TCP как раз в этом - создать иллюзию передачи всего пакета, сколь угодно большого, а внутри себя нарезать его удобным образом. Вопрос к CADiLO - замечались ли частичные приходы пакета, без части сегментов? Спасибо.
|
|
|
|
|
Nov 26 2009, 13:15
|

Местный
  
Группа: Участник
Сообщений: 327
Регистрация: 6-10-09
Из: РФ :: Ленинград
Пользователь №: 52 781

|
Цитата(korobov_michael @ Nov 24 2009, 17:25)  Дело в том, что если не дошел хотя бы один фрагмент из пакета, то этот пакет будет невозможно собрать, и, по сути, весь пакет будет считаться недошедшим. Cмысл-то TCP как раз в этом - создать иллюзию передачи всего пакета, сколь угодно большого, а внутри себя нарезать его удобным образом. Вопрос к CADiLO - замечались ли частичные приходы пакета, без части сегментов?
Спасибо. Я, конечно, не уважаемый CADiLO, но замечу примерно следующее: потеря части пакетов - дело абсолютно нормальное. И бороться с этим посредством заклинания "Оборудование оператора сети должно передавать всё в целости и сохранности", думаю, вряд ли удастся. Посему советую сделать так: разбить прошивку (а речь ведь идёт именно о ней) на пакеты по 1 кБайт и передавать их один за другим. При этом, во-первых, можно полностью задействовать буфер SIM300, во-вторых, в случае порчи части посылки придётся пересылать не всю прошивку, а лишь её небольшую часть. Обязательно следует использовать квитирование (дошла посылка в целости - отвечаем о готовности принять следующий кусок, нет - запрос на повторную пересылку). Кстати, что касается самого процесса перепрошивки. Сильно сомневаюсь, что нужно заливать прошивку "на лету" по приёму из модема. Во-первых, тогда сам bootloader займёт очень много места (в него будет входить программный драйвер SIM300), а во-вторых, этот самый драйвер может содержать программные ошибки, и исправить его удалённо уже не удастся. Это, конечно, в том случае, если не перепрошивать и bootloader, что считается дурным тоном... Для хранения прошивки на плату удобнее всего ставить SRAM. Залитую прошивку можно проверить после сборки на целостность при помощи всё той же пресловутой CRC, да и управление памятью не в пример проще, стало быть, драйвер SRAM займёт немного места. Для экономии места на плате можно применить SRAM в BGA (AS6UA25616) или, к примеру, KM68V1000B в TSOP.
Сообщение отредактировал Slonofil - Nov 26 2009, 13:17
|
|
|
|
|
Nov 29 2009, 20:36
|
Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059

|
Цитата(Harbinger @ Nov 26 2009, 19:30)  SRAM много "лап" контроллера займёт. AT45-е вполне рулят, т.к. спешить особо не требуется. Самый стрёмный момент: пропадание питания в процессе прошивки. Поддерживаю. Тоже использую АТ45. Пропадание питания в процессе прошивки вроде не боюсь, т.к. после восстановления питания программа стартует с бутлоадера и заново прошьет программу сначала. А потом уж удалит спецсимвол из 45-й, приказывающий эту прошивку осуществить.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|