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

 
 
 
Reply to this topicStart new topic
> как начать работу с SIM300С, помогите пожалуйста наладить обмен
олег_уфа_81
сообщение Dec 28 2007, 11:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 28-12-07
Пользователь №: 33 704



здравствуйте. помогите пожалуйста наладить обмен с SIM300С. я реально понимаю, что многим такие вопросы набири аскомину, но я никак не могу понять в чем я ошибаюсь...

аппаратно модуль подключен следующим образом:
питание модуля 4.2В
питание процессора 3.3В

входы-выходы Rx-Tx модуля модуля и процессора развязаны резисторами 5к ( стелефоном семенс С35 так отлично работает) вывод RST подключен к земле.

обмен я пытался вести следующим образом:

1. настраиваем USART процессора след образом: 8 бит данных, паритета нет один стоп-бит. частота обмена 115200
2. включаем модуль. он регистрируется в сети, начинает жмургать светодиодом раз в 3 сек (индикация регистрации)
3. модуль выдает строку CallReady.
4. после получения этой строки отсылаю в модуль последовательность "AT\0x0D"
5. модуль должен ответить строкой "0x0D\0x0A OK 0x0D\0x0A"
6. при повтороной отпраке "AT\0x0D" выдается сообщение об ошибке...

в чем я ошибаюсь? в чем я неправ?
Go to the top of the page
 
+Quote Post
Палыч
сообщение Dec 28 2007, 17:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(олег_уфа_81 @ Dec 28 2007, 14:18) *
отсылаю в модуль последовательность "AT\0x0D"
в чем я ошибаюсь? в чем я неправ?




Собственно, какую команду Вы передаёте? АТ - это префикс команды, за которым должны следовать какие-то буковки-циферьки, которые и определяют команду. Вместо "\0x0D" удобнее (нагляднее) применять "\r" (это, если Вы пишете на С). Т.е. команда будет выглядеть как-то, например, так



"ATE0\r"
Go to the top of the page
 
+Quote Post
олег_уфа_81
сообщение Dec 29 2007, 03:25
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 28-12-07
Пользователь №: 33 704



Цитата(Палыч @ Dec 28 2007, 22:05) *
Собственно, какую команду Вы передаёте? АТ - это префикс команды, за которым должны следовать какие-то буковки-циферьки, которые и определяют команду. Вместо "\0x0D" удобнее (нагляднее) применять "\r" (это, если Вы пишете на С). Т.е. команда будет выглядеть как-то, например, так
"ATE0\r"


на счет наглядоности согласен, а именно "AT\r" шлю из следующих соображений:

1.4 AT Command syntax
The "AT" or "at" prefix must be set at the beginning of each command line. To terminate a command line enter <CR>.
Commands are usually followed by a response that includes.”<CR><LF><response><CR><LF>”
Throughout this document, only the responses are presented, <CR><LF> are omitted intentionally.

2.2.45.1 AutoBauding
Synchronization between DTE and DCE ensure that DTE and DCE are correctly synchronized and the bit rate used by the DTE is detected by the DCE (= ME). To allow the bit rate to be synchronized simply issue an "AT" or "at" string. This is necessary when you start up the module while autobauding is enabled. It is recommended to wait 3 to 5 seconds before sending the first AT character. Otherwise undefined characters might be returned.
If you want to use autobauding and autoanswer at the same time, you can easily enable the DTE-DCE synchronization, when you activate autobauding first and then configure the autoanswer mode.

я понимаю так, что поскольку судя по описанию активизированна фукция автоподстройки частоты обмена и по умолчанию телефон отвечает на 115200, то эта строка позволит проконтрлировать понимает меня модуль или нет.

ктоме того:

Demonstration Syntax Expect Result
The AT command AT OK
interpreter is actively
responding to input.

так что вроде не в этом ошибка...

кстати, чуть не забыл! с наступающим! :-)
Go to the top of the page
 
+Quote Post
stream
сообщение Dec 29 2007, 06:25
Сообщение #4


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

Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919



Цитата(олег_уфа_81 @ Dec 28 2007, 15:18) *
1. настраиваем USART процессора след образом: 8 бит данных, паритета нет один стоп-бит. частота обмена 115200
2. включаем модуль. он регистрируется в сети, начинает жмургать светодиодом раз в 3 сек (индикация регистрации)
3. модуль выдает строку CallReady.
4. после получения этой строки отсылаю в модуль последовательность "AT\0x0D"
5. модуль должен ответить строкой "0x0D\0x0A OK 0x0D\0x0A"

все правильно.

Цитата
6. при повтороной отпраке "AT\0x0D" выдается сообщение об ошибке...

Т.е. пункты 1-5 проходят нормально, а проблема только с посылкой второй команды? Такого быть не может, ищи программный или аппаратный косяк.

Что за процессор используется? Посмотри электрическую спецификацию пинов на нем. Если написано, что пины "5V tolerant", то никаких резисторов ставить не надо, можно подключать напрямую.

В некоторых случаях есть проблема с тормозным автободингом, но, если на первую команду приходит нормальный OK, это не твой случай.

Цитата
вывод RST подключен к земле.

Что за RST? Может, имелось в виду RTS? Желательно подать ноль еще и на DTR.

Сообщение отредактировал stream - Dec 29 2007, 06:28
Go to the top of the page
 
+Quote Post
олег_уфа_81
сообщение Dec 29 2007, 06:58
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 28-12-07
Пользователь №: 33 704



не совсем так. модель не отвечает и на первую посылку "АТ\0x0d"...
если делаю дознао но модуль, то он выкидывает наверх строку RING...

код вроде отлаженный. все процедуры и функции вполне корректно работали правда при общении с сименсом С35. код прогонял в отдачике.... щлются именно те посылки которые должны :-). БЛИН!

в названии вывода опечатка. ага это RTS. с DTRом обязательно попробую.... но что-то такое впечатление, что не с этим проблема....

просессор ATMEGA16

порылся по темам на этом же форуме - встретил такой момент, что народ для синхронизации обмена подает команду АТ через 0.5 секунд... и 10 таких попыток... что-то сомнения по этому поводу.

ниччччччего вобщем не понимаю.
Go to the top of the page
 
+Quote Post
Anthoni
сообщение Dec 29 2007, 08:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 1-12-07
Пользователь №: 32 864



Раза 2-3 я посылал AT что бы услышать OK. Между посылками делал паузу в 2 секунды. После установил фиксированную скорость.
Go to the top of the page
 
+Quote Post
Makey-2
сообщение Dec 29 2007, 09:37
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 34
Регистрация: 29-10-07
Пользователь №: 31 850



Цитата(олег_уфа_81 @ Dec 29 2007, 13:58) *
порылся по темам на этом же форуме - встретил такой момент, что народ для синхронизации обмена подает команду АТ через 0.5 секунд... и 10 таких попыток... что-то сомнения по этому поводу.

Я подаю команду установки фиксированной скорости обмена например at+ipr=9600. В МК забит цикл передачи этой команды с периодом в 0.5 сек. Из цикла вылетаем по получению OK от модуля. (это может быть 1 попытка) всего прописано 10 циклов после которых МК считает,что произошла ошибка при включении модуля (типа завис или не включился или ещё какая беда wacko.gif ) и повторяет программу включения модуля smile3009.gif . Для повышения надёжности обмена, с МК работаю на фиксированной скорости.
Go to the top of the page
 
+Quote Post
олег_уфа_81
сообщение Jan 3 2008, 06:01
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 28-12-07
Пользователь №: 33 704



уважаемые!!! огромное спасибо за советы и помощь!!!

ларчик открывался просто: глянул осциллографом сигналы на линии TX от контроллера к модулю наблюдались заваленные фронты. Судя по всему великоваты были согласующие резисторы 5кОм по этим цепям. Уменьшил их до 500 Ом и SIM300Cначал меня понимать. перезагрузил его 3 раза подряд. все 3 раза он принял команду "АТ" и корректно мне ответил. 08.gif

скорее всего после того вопросов у меня только прибится, ведь тема для меня относительно новая. вот...

вобщем ещё раз спасибо. :-)
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 8 2008, 09:31
Сообщение #9


Гуру
******

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



>>>>Судя по всему великоваты были согласующие резисторы 5кОм по этим цепям. Уменьшил их до 500 ....


Можно с этого места подробнее ?
какая схема согласования ?
вот этому соответствует ?
http://www.microchip.ua/simcom/SimCom/Sim3...C_AN_REFSCH.pdf


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Anthoni
сообщение Jan 8 2008, 15:41
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 1-12-07
Пользователь №: 32 864



А я вообще забыл про резисторы на UART и СИМ-кард, пока всё работает нормально, 3.6В питание на МК и SIM.
Go to the top of the page
 
+Quote Post

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

 


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


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