реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Не всегда регистрируется и не выключается SIM300D.
Mingrief
сообщение Nov 12 2008, 16:03
Сообщение #1


Участник
*

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



Здравствуйте, уважаемые.

Перед описанием неисправности пару слов о правильной работе моего изделия.
Итак, имеем спаянные на заводе платы с модулем SIM300DZ (1008B14SIM300D32_SST34HF3284). После прошивки микроконтроллера включаю устройство для проверки, при этом работа с модулем проходит следующим образом:
1. Включение модуля через PWRKEY (контроль STATUSа);
2. Инициализация модуля;
3. Проверка наличия сим-карты, считывание записной книжки;
4. Ожидание регистрации в сети (если нет, то по таймауту в 30с выкл. модуль, пауза 2с и в п.1.);
5. Дальнейшая работа (звонки, передача данных).
На данный момент из 30 шт. проверенных таким образом приборов с первого раза правильно заработали только 20.

Остальные 10 непонятно ведут себя с п.4:
4. Ожидание регистрации в сети. Модуль не регистрируется в сети, постоянно идет обмен командами
Код
AT+CPAS // запрос на регистрацию

+CPAS: 2 // модуль не готов отвечать на инструкции

OK
AT+CPAS

+CPAS: 2

OK

Выходит таймаут в 30с, после чего микроконтроллер должен отключить модуль через PWRKEY, затем пауза 2с и повторить все с п.1.
НО! модуль не реагирует на операцию выключения через PWRKEY, при этом светодиод NET мигает 1 раз в 3с (найдена GSM сеть).

Фокус в том, что если снять питание в ручную и снова подать питание, то модуль начинает _правильно_ работать с этой попытки и впредь такое больше не повторяется. Пробовал включить/выключить модуль раз 10 подряд - все равно работает правильно. Если я отключаю антенну и повторяю эксперимент в надежде повторить глюк по истечению таймаута, то все равно модуль правильно отключается и затем снова правильно включается.
Т.е. этот глюк появляется в 30% устройств и только один раз при первом включении.

Железо.
SIM300D питается от 4В, МК от 3.3В, согласование сигналов TxD, DTR, RTS через резисторы 240 Ом, PWRKEY включен через транзистор с открытым коллектором, до включения и перед выключением модуля выводы МК переводятся в третье состояние.


--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Nov 12 2008, 19:08
Сообщение #2


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Видимо, "затыкаются" на считывании записной книжки или ещё чего-то из SIM-карты.
А если тайм-аут на регистрацию увеличить? 30 с иногда мало.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Budek
сообщение Nov 12 2008, 19:34
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116



Немного не по теме, но хочу поведать еще об одной вещи.
Несколько модулей из последней партии при подаче питания не хотят видеть данные по uart (хотя в остальном полностью работают и даже выдают ring при дозвоне на них). Помогает только снятие питания на 30 секунд (естественно, после выключения через powerkey), но далеко не с первого раза (почему то напряжение на модуле продолжаем очень медленно падать (за 30 секунд может упасть до 2В, а может почти до нуля). Сразу скажу, левой подпитки никакой нет (специально тупо отпаял uart). Пришлось поставить резистор на 4,7К для ускорения разрядки конденсатора (у меня стоит 1000мкФ) . Правда, питание было 4,35В (вроде CADILO как то писал, что последние модули не хотят включаться при 4,4В (но ведь у меня полностью работают, за исключением входа uart). Уменьшил до 4,2В. Пока ,вроде запускается устойчиво.
Go to the top of the page
 
+Quote Post
Mingrief
сообщение Nov 13 2008, 07:04
Сообщение #4


Участник
*

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



Цитата(Budek @ Nov 12 2008, 21:34) *
Немного не по теме, но хочу поведать еще об одной вещи.
Несколько модулей из последней партии при подаче питания не хотят видеть данные по uart (хотя в остальном полностью работают и даже выдают ring при дозвоне на них). Помогает только снятие питания на 30 секунд (естественно, после выключения через powerkey), но далеко не с первого раза (почему то напряжение на модуле продолжаем очень медленно падать (за 30 секунд может упасть до 2В, а может почти до нуля). Сразу скажу, левой подпитки никакой нет (специально тупо отпаял uart). Пришлось поставить резистор на 4,7К для ускорения разрядки конденсатора (у меня стоит 1000мкФ) . Правда, питание было 4,35В (вроде CADILO как то писал, что последние модули не хотят включаться при 4,4В (но ведь у меня полностью работают, за исключением входа uart). Уменьшил до 4,2В. Пока ,вроде запускается устойчиво.

Может быть и по теме, я тоже наблюдал такое, как раз вот в своем же глюке - первые 30...60с модуль не отвечает на АТ-команды. Выглядит это так, МК на всех скоростях начиная с 1200 и заканчивая 115200 pbs передает по три команды "АТ" пока модуль не ответит, если весь ряд скоростей пройден и связь не установлена, то откл/вкл через PWRKEY, пауза 2с и снова повтор.
Через 30...60с таких синхронизаций модуль с очередного включения нормально отвечает, но тут начинается вышеописанный глюк с "нерегистрацией в сети".
И опять же это происходит ТОЛЬКО ОДИН РАЗ. Все последующие включения проходят "на ура".

А как у вас с повторяемостью глюка?


--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
Go to the top of the page
 
+Quote Post
Mingrief
сообщение Nov 13 2008, 11:50
Сообщение #5


Участник
*

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



Думал, может операция внутрисхемного программирования МК всему виной, оказалось что нет.
Из партии тех, что заработали со второго раза взял 5шт, перепрошил и включил - пошли с первого раза. Не могу никак заставить их глючить снова.
Это вроде бы хорошо, но как-то не спокойно.


--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
Go to the top of the page
 
+Quote Post
Budek
сообщение Nov 13 2008, 13:17
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116



У меня программа ждет пока модуль оживет (в данном случае хотя-бы начнет принимать команды) секунд 30. Потом передергивает питание (конечно перед этим нажав на powerkey). Без питания держит секунд 30. Так вот, бывает запустится со второго раза, а один раз ждал не менее получаса (выходит раз 30 пытался запуститься), так и не дождался, выключил вообще блок питания и снова включил, запустился сразу.
Go to the top of the page
 
+Quote Post
M_Z
сообщение Nov 13 2008, 13:25
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 483
Регистрация: 1-09-06
Из: Гродно РБ
Пользователь №: 20 011



Цитата(Mingrief @ Nov 13 2008, 11:04) *
Может быть и по теме, я тоже наблюдал такое, как раз вот в своем же глюке - первые 30...60с модуль не отвечает на АТ-команды. Выглядит это так, МК на всех скоростях начиная с 1200 и заканчивая 115200 pbs передает по три команды "АТ" пока модуль не ответит, если весь ряд скоростей пройден и связь не установлена, то откл/вкл через PWRKEY, пауза 2с и снова повтор.

А зачем перебирать скорости обмена
Я по умолчанию использую 115200. Проблем с обменом не замечал. Может перебом скоростей голову дуоите модулю?
Go to the top of the page
 
+Quote Post
Mingrief
сообщение Nov 13 2008, 13:54
Сообщение #8


Участник
*

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



Цитата(M_Z @ Nov 13 2008, 15:25) *
А зачем перебирать скорости обмена
Я по умолчанию использую 115200. Проблем с обменом не замечал. Может перебом скоростей голову дуоите модулю?

Еще до меня разработчики использовали Q2403A кажется, так вот работали на одной скорости по умолчанию, потом им стали приходить модули с установленной другой скоростью. Как и что я уже не узнаю, но учитывая такое дело решил перестраховаться и сканировать на разных скоростях, чтобы уж наверняка. А есть негативный опыт с таким подходом?


--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Nov 13 2008, 15:23
Сообщение #9


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Цитата(Mingrief @ Nov 13 2008, 15:54) *
Еще до меня разработчики использовали Q2403A кажется, так вот работали на одной скорости по умолчанию, потом им стали приходить модули с установленной другой скоростью.

9600 и 115200.
По даташиту скорость по умолчанию у Q2403A - 9600. Но со 115200 - да, встречались, и много. Как по мне, оно и к лучшему - всё равно в изделии при первом включении, если не отвечали на этой скорости, то переводились на неё.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Budek
сообщение Nov 13 2008, 15:28
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116



Возникла мысль (тупая вроде, но учитывая адрес производителя sim, думаю имеет право на жизнь).
Может модуль начинает тупить, если при включении начать общаться с ним не на его "родной" скорости 115200. У меня в программе скорость не перебирается, работаю на 38400. Как назло, теперь глюк исчез (я думаю, из-за уменьшения питалова с 4,35 до 4,2 (писал ранее). Но вы, наверное, имеете возможность протестировать, работая ТОЛЬКО на 115200.
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Nov 13 2008, 15:43
Сообщение #11


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Цитата(Budek @ Nov 13 2008, 17:28) *
Но вы, наверное, имеете возможность протестировать, работая ТОЛЬКО на 115200.
Да почему, собственно. Можно и на любой другой, 38400 так 38400... только момент. Первое, что с ним сделаю, это: AT+IPR=38400;&W. Чтобы после сброса гарантированно работал именно на этой скорости.
(В прошивках под Spansion версий вплоть до 13-й происходили в этом плане чудеса, ещё как-то на AT+CFUN завязанные - скорость вовсе не обязательно запоминалась; подозреваю, что с SST то же самое. Начиная с 14, не замечал неадекватностей).


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Nov 14 2008, 06:36
Сообщение #12


Гуру
******

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



>>>В прошивках под Spansion версий вплоть до 13-й происходили в этом плане чудеса

Да, там было чудилово если AT+IPR=0.

А вот это работало правильно не когда AT+IPR=38400;&W, а так
AT+IPR=38400
AT&W
и выключить-включить.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
M_Z
сообщение Nov 14 2008, 12:24
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 483
Регистрация: 1-09-06
Из: Гродно РБ
Пользователь №: 20 011



Цитата(Mingrief @ Nov 13 2008, 17:54) *
Еще до меня разработчики использовали Q2403A кажется, так вот работали на одной скорости по умолчанию, потом им стали приходить модули с установленной другой скоростью. Как и что я уже не узнаю, но учитывая такое дело решил перестраховаться и сканировать на разных скоростях, чтобы уж наверняка. А есть негативный опыт с таким подходом?

просто в даташите на SIM300D есть запись
Serial Port supports the communication rate as following:
300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 Default as 115200bps.
Поэтому я не искал приключений и использовал 115200
Ну а если вдруг по умолчанию пойдут другие скорости, начиная с какой то версии, то многие настройки в том числе и скорость обмена с SIMом програмируется по последовательному интерфейсу имеющемуся в устройстве.
И потом при последующей компиляции программы по умолчанию будет другая скорость.
Go to the top of the page
 
+Quote Post
PIC_Embedder
сообщение Nov 14 2008, 13:36
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 30-07-08
Из: Украина Луганск
Пользователь №: 39 308



Цитата(M_Z @ Nov 14 2008, 16:24) *
просто в даташите на SIM300D есть запись
Serial Port supports the communication rate as following:
300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 Default as 115200bps.
Поэтому я не искал приключений и использовал 115200

Тоже использовал скорость 115200. Потом перевел на 9600. При более низкой скорости, допустим больший разброс частоты тактового генератора. Решил, что так будет надежнее.
Go to the top of the page
 
+Quote Post
Mingrief
сообщение Nov 14 2008, 14:11
Сообщение #15


Участник
*

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



Цитата(Mingrief @ Nov 13 2008, 09:04) *
Может быть и по теме, я тоже наблюдал такое, как раз вот в своем же глюке - первые 30...60с модуль не отвечает на АТ-команды. Выглядит это так, МК на всех скоростях начиная с 1200 и заканчивая 115200 pbs передает по три команды "АТ" пока модуль не ответит, если весь ряд скоростей пройден и связь не установлена, то откл/вкл через PWRKEY, пауза 2с и снова повтор.
Через 30...60с таких синхронизаций модуль с очередного включения нормально отвечает, но тут начинается вышеописанный глюк с "нерегистрацией в сети".
И опять же это происходит ТОЛЬКО ОДИН РАЗ. Все последующие включения проходят "на ура".

А как у вас с повторяемостью глюка?


Наврал с алгоритмом установки скорости.
Начинается синхронизация с отправки трех команд АТ на скорости 9600, если неудачно, то тогда переходит на скорость 115200 и т.д. до скорости 1200. Если модуль ответил на одной из скоростей, то на ней производится запись "AT+IPR=9600" - установка на 9600. Т.о. при следующем включении и впредь модуль будет работать на 9600 бит/с. Скорее всего в этом вся магическая закономерность "первого раза".
Теперь осталось разобраться почему модуль "подвисает" если в нем установлена 115200, а обращаются к нему на 9600.


--------------------
удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!удалить этот аккаунт!
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 12:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016