|
Темп выдачи команд в SIM900, обмен затыкается |
|
|
|
Sep 5 2012, 10:58
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Наблюдается странное поведение, когда обмен между SIM900 и микроконтроллером встает. В процессе разбирательств сделали такой трюк, с помощью диодов и одного pull-uр резистора объединили RX и TX по И и вывели на RX-овый вход USB-UART мостика (CP2103). И тоге имеем в гипертерминале протокол обмена модуля и контроллера. Поскольку в основном обмен полудуплексный то все достаточно наглядно. Этим методом изучали, где затыкается.
Так вот, обнаружили что: 1) Затыкается не в определенном конкретно месте, а блуждает по разным командам. 2) С очень высокой вероятностью на сбойной команде видно мусор в терминале, что говорит об одновременной активности RX и TX. Но иногда мусора нет. 3) Остановка обмена выглядит так, мы туда что-то послали (например, AT+CPIN=0000), а в ответ тишина, ну то есть вообще ничего, ни OK, ни ERROR.
Из фактов пока все.
Пока что решили увеличить задержки между командами. И теперь все работает вроде, хотя и медленно.
Но ведь раньше их тоже не то чтобы слали без разбору. Ждали OK или таймаут. А оно все равно умирает. Ну была гипотеза, что нельзя до прихода OK начинать слать следующую команду, и при неправильном таймауте оно может не дожидаться ОК, и слать следующую команду. Но тогда странно другое: 1) Ну и что такого, что команда идет до OK, она же в буфер идет? И будет обработана второй. 2) Мы видели зависание команд, которые в логе вполне чистые, то есть нет наложений на предыдущий ОК. 3) Допустим, что при приеме команды и до выдачи ОК модуль вообще RX выключает. Допустим, что он пропустит начало следующей команды и примет только конец, тогда он должен выдать ERROR. Но вот ERROR мы никогда не видели от него. Получается, что мы как-бы вообще всю команду послали в закрытый RX ему. Странно.
Да, эхо у нас выключено, и падать начинает сильно после его выключения.
|
|
|
|
|
 |
Ответов
|
Sep 5 2012, 12:18
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
При автободинге остается небольшое дрожание скорости - оно может влиять на межкомандный интервал. И кстати рекомендуется не спешить с командами - запрос-ответ-следующая команда.
>>> Ну и что такого, что команда идет до OK, она же в буфер идет? И будет обработана второй.
не обязательно, может быть проигнорирована
>>>Мы видели зависание команд, которые в логе вполне чистые, то есть нет наложений на предыдущий ОК.
при дрожании скорости и завышеных уровнях модуль точно так же может не принять команду кроме того общий разбег скорости не должен превышать 2%
>>>тогда он должен выдать ERROR. Но вот ERROR мы никогда не видели от него
а если он недопонял команду и ждет ее окончания???
Вобщем приведите уровни в соответствие, поставьте фиксированую скорость и посмотрите ее погрешность со стороны контроллера. Соблюдение этих трех простых правил практически исключит непонятки.
И еще не забывайте что если прозевали фантомное питание модуля, то как он себя будет вести никто не предскажет. И самый главный вопрос который я всем задаю - а куда вы спешите так с командами? Зачастую ожидание реакции сети сводит на нет всю спешку.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
Сообщений в этой теме
Hoodwin Темп выдачи команд в SIM900 Sep 5 2012, 10:58 CADiLO Самый первый вопрос - скорость стоит в автоопредел... Sep 5 2012, 11:07 Hoodwin 1) Модули не перепрограммировали по части режима с... Sep 5 2012, 11:24 CADiLO 1. Поставьте фиксированую скорость - на автоопреде... Sep 5 2012, 11:29 Hoodwin 1) Ну, а какая связь бодовой скорости и этой пробл... Sep 5 2012, 11:46 Hoodwin >>> не обязательно, может быть проигнорир... Sep 5 2012, 12:46 CADiLO >>>Кстати, а чего они до 3.3В то не дотян... Sep 5 2012, 12:56 Hoodwin Цитата(CADiLO @ Sep 5 2012, 16:56) >... Sep 5 2012, 14:50  Master of Nature Цитата(Hoodwin @ Sep 5 2012, 18:50) Скоро... Sep 5 2012, 21:54 Velund QUOTE (Hoodwin @ Sep 5 2012, 14:58) 1) Ну... Sep 6 2012, 05:21 CADiLO >>>>Скорость контроллера у нас определ... Sep 6 2012, 05:58 Hoodwin Master of Nature
По поводу кварца. Кварц у нас на ... Sep 6 2012, 09:07 CADiLO >>>В этом случае никакой "отче наш... Sep 6 2012, 09:47 Hoodwin 1) Ну, я про рекомендацию понял, это вполне можно ... Sep 6 2012, 10:22 ssokol Цитата(Hoodwin @ Sep 6 2012, 14:22) Относ... Sep 6 2012, 10:55 MKdemiurg Цитата(Hoodwin @ Sep 6 2012, 12:07) Остал... Sep 6 2012, 11:02 Hoodwin Так я же вроде бы написал, что мы ждем ответов и п... Sep 6 2012, 11:14 _Артём_ Цитата(Hoodwin @ Sep 6 2012, 14:14) 2) чт... Sep 6 2012, 11:20 Hoodwin Не, МК ничего такой, довольно живучий, даже без во... Sep 6 2012, 11:25 _Артём_ Цитата(Hoodwin @ Sep 6 2012, 14:25) Я име... Sep 6 2012, 12:32 MKdemiurg Цитата(Hoodwin @ Sep 6 2012, 14:14) Так я... Sep 6 2012, 11:26 Master of Nature Цитата(MKdemiurg @ Sep 6 2012, 15:26) Кст... Sep 6 2012, 11:43 CADiLO Если с автоопределения на фиксированую - то на лет... Sep 6 2012, 11:56 Hoodwin Не понял, зачем менять скорость?
Артем
Ну проблем... Sep 6 2012, 12:59 MKdemiurg Цитата(Hoodwin @ Sep 6 2012, 15:59) В общ... Sep 6 2012, 13:08 CADiLO >>>>Например, ждем OK, а пришло уведом... Sep 6 2012, 13:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|