|
Не всегда регистрируется и не выключается SIM300D. |
|
|
|
Nov 14 2008, 14:56
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 18-03-08
Из: удалить этот аккаунт!
Пользователь №: 36 006

|
Цитата(CADiLO @ Nov 14 2008, 16:22)  Запросите модуль AT+IPR? Последние модули (с SST) идут после исправления ошибок с IPR=0 - автоопределение. Причем сами китайцы рекомендуют при первом включении перейти на фиксированую скорость и не использовать автобандинг. Сейчас пока не проверю, все имеющиеся в наличии симкомы уже включил, а значит записал в них скорость 9600. НО! Одно такое глючное включение записал в *.wav файл, и новость об автобаудрейте кое что прояснила. Вот что записано. 1. МК шлет в модуль по три команды АТ на 9600, 115200 ... 1200, от модуля нет ответов, рестарт. 2. п.1 повторяется 4 раза. 3. МК шлет в модуль АТ на скорости 9600 и сразу получает ответ - вот он, оказывается автобауд где  4. Дальше инициализация модуля, безуспешный запрос на регистрацию и, как писалось выше, зависон до ручного выключения питания с игнорированием выключения через PWRKEY. Может для автоопределения скорости трех команд АТ мало?
--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
|
|
|
|
|
Nov 14 2008, 16:30
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
А может некоторым модулям не нравится иногда нарастание питающего напряжения при включении блока питания? Специально проделывал следующее: у меня питается от LM2576 (4,2В), емкости - 1000 до и 2000 после ключа, временно отключил uart от МК. Включаю блок питания в сеть, жму руками powerkey, подключаю после этого шнурок к компу. Часто бывало, что модуль не принимал AT команды (но при дозвоне на него RING отсылал). Отключение через powerkey, снятие питания с модуля (у меня через ключ IRLML6202) ни к чему не приводило. Но стоило выдернуть розетку 220В, потом воткнуть снова и модуль уже мог запуститься с первого раза. Я уже писал до этого, что происходило при питании модуля 4,35В, как только снизил до 4,2В добиться зависания не могу, работает железно. И еще, пока писал, сам обратил внимание на очень важную вещь: у меня МК и терминалка на 38400, но в программе я никогда не устанавливал этой скорости (как писал CADILO, со второго запроса на AT отвечает OK). Так вот, когда модуль не реагировал на команды (я пытался их вводить вручную) на звонок он отвечал RING на скорости 38400, а ведь по идее должен на 115200. То есть он их видел (настроил же скорость на 38400), но не отвечал. Сейчас думаю, надо было попробовать дать ему ATD..., похоже позвонил бы. Сейчас думаю снова поднять питание до 4,35В, потерзать его.
|
|
|
|
|
Nov 15 2008, 18:17
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(Mingrief @ Nov 14 2008, 18:56)  1. МК шлет в модуль по три команды АТ на 9600, 115200 ... 1200, от модуля нет ответов, рестарт. Может для автоопределения скорости трех команд АТ мало? Там настолько кривой автободер, что мне, как человеку, сделавшего несколько модемов, просто не понять, КАК так можно извратиться. Делай так: 1) Сначала шли на 115200 - ее он, если в автободе, хватает лучше всего 2) Посылаешь AT и ждешь ответа. 3) Если модуль молчит - ЖДЕШЬ СЕКУНДЫ ТРИ и потом посылаешь AT на той же скорости ЕЩЕ РАЗ. 4) Если опять молчит - тогда уже начинаешь перебирать скорости. Эти магические таймауты меня просто убили. Прочее шаманство типа сдублированной буквы "A" не помогает. А еше, если слать в модуль, пребывающий в такой позе, много всяких буков, можно получить совершенно шизофренические ответы вплоть до перезагрузки.
|
|
|
|
|
Nov 15 2008, 21:17
|

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

|
Цитата(Mingrief @ Nov 14 2008, 16:56)  Может для автоопределения скорости трех команд АТ мало? Цитата(stream @ Nov 15 2008, 20:17)  Там настолько кривой автободер, что мне, как человеку, сделавшего несколько модемов, просто не понять, КАК так можно извратиться. Угу, китайцы это сами признают, рекомендуя сразу установить фиксированную скорость и не мучиться Действительно, таймауты должны быть по нескольку секунд и на низких скоростях автободинг работает плохо. Сначала китайцы обещали работу от 1200 бит/с и выше, сейчас эту цифру подняли до 4800 и выше. Но все равно на 4800 работает отвратно. Мучая модем в ручном режиме, сам пару раз наблюдал, как ответ ОК приходил только после четвертого АТ. И это при точном кварце. При разбросе частот (в пределах допустимых 3%) UART модема вообще плохо работает.
|
|
|
|
|
Nov 16 2008, 10:50
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 18-03-08
Из: удалить этот аккаунт!
Пользователь №: 36 006

|
Цитата(stream @ Nov 15 2008, 20:17)  А еше, если слать в модуль, пребывающий в такой позе, много всяких буков, можно получить совершенно шизофренические ответы вплоть до перезагрузки. Кстати, я вот подумал, что в связи с необходимостью править прошивку нужно добавить в нее идентификатор - номер или дату сборки, чтобы отследить какая из моих прошивок глючит с какой версией симкома. Для контроля версии симкома всегда отправляю ATI, а как слать в туже шину свои символы и не повесить при этом модем? Можно конечно и просто слать, в ответ по идее должно прийти "ERROR", но при этом модуль может и повиснуть. Может есть какая-нибудь АТ-команда с передачей не особенно важного текста в модуль?
--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
|
|
|
|
|
Nov 17 2008, 10:55
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(Mingrief @ Nov 16 2008, 14:50)  Для контроля версии симкома всегда отправляю ATI, а как слать в туже шину свои символы и не повесить при этом модем? Можно конечно и просто слать, в ответ по идее должно прийти "ERROR", но при этом модуль может и повиснуть. Если модуль нормально встал на скорость, то уже не повиснет, честно ответит ERROR. Или шли что-то типа ATI999, этому модулю по фигу, какой там параметр после ATI, он всегда отвечает одинаково.
|
|
|
|
|
Nov 17 2008, 11:58
|
Местный
  
Группа: Свой
Сообщений: 483
Регистрация: 1-09-06
Из: Гродно РБ
Пользователь №: 20 011

|
Цитата(Budek @ Nov 14 2008, 20:30)  А может некоторым модулям не нравится иногда нарастание питающего напряжения при включении блока питания? Специально проделывал следующее: у меня питается от LM2576 (4,2В), емкости - 1000 до и 2000 после ключа, временно отключил uart от МК. Емкость после ключа 2000 я бы не ставил. до ключа да, желательно побольше. После ключа я ставлю 100мкФ а то и меньше. сопротивление ключа мало и падение на нем даже при токах 2А невелико. а вот наростание питания будет быстрым. реально я пока не замечал проблем с обменом между контроллером и СИМ300. хотя если умножить количество работающих устройств на время их работы то получтися не один десяток лет. т.е. статистика довольно большая. что касается скоростей обмена то я использую 115200. после включения модуля я жду от него ответа о регистрации в сети. И потом шлю в него команды инициализации модема и GPRS.
|
|
|
|
|
Nov 17 2008, 14:05
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 18-03-08
Из: удалить этот аккаунт!
Пользователь №: 36 006

|
Итак, все решилось. Причина глюка - невнимательное прочтение даташита. Там в главе про автобауд написано, что перед отправкой первой АТ нужно выждать 3...5 с. У меня было около 1с. Провел эксперимент, установил на 10 модулях (тех что висли раньше) автобауд и включил их со своей (теперь уже старой) прошивкой, как и ожидалось из 10 повесилось 6. Снова установил автобауд в тех же модулях, а в своей проге поставил задержку перед первой АТ в 3 с и все 10 модулей пошли как дети в школу. Большое спасибо всем ответившим за помощь. В данном случае к симкому никаких претензий, сам во всем виноват. P.S. Идентификатор поставил сразу после синхронизации с модулем, он честно выдает ERROR
--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|