Перейти к содержанию

SIM800C не отвечает на команды

Добрый день!
Возникла такая проблема - достаточно давно не делали никаких устройств с GSM/GPRS-модулями, а тут понадобилось снова. Решили взять SIM800C, как дешевый и экономичный. В статьях писали о приемственности с более ранними SIM900, так что, решили использовать старую обвзязку, проверенную еще во времена Quectel M10 (тем более, что было указано напряжение питания модуля примерно такое же)
Собрали схему. Написал программу инициализации:
Код
GPIOA->ODR                |=0x0802;                                    //Power on for GSM and set POWERKEY
os_dly_wait(500);
GPIOA->ODR                &=~0x1000;                                //Reset RTS
GPIOB->ODR                &=~0x0080;                                //Reset DTR
GPIOA->ODR                &=~(1<<11);                                //Reset POWERKEY
os_dly_wait(1000);
GPIOA->ODR                |=(1<<11);                                //Set POWERKEY
while (GPIOB->IDR    &0x20);
send_string_buff3("AT\r");

Реализуется такой алгоритм:
1. Включаем питание модема и устанавливаем на входе PowerKey логическую единицу
2. Ждем 500 мс
3. Сбрасываем PowerKey, DTR и RTS в нуль
4. Ждем 1с
5. Устанавливаем PowerKey в единицу
6. Ждем установку логической единицы на линии Status (на схеме стоит буферный инвертор на транзисторе, поэтому ждем, когда на нужном входе будет нуль)
7. Отправляем команду "AT"
Модем устанавливает на выходе Status логическую единицу, но не откликается на команду AT - от модуля не поступает никаких сигналов и UART не принимает никаких байтов - даже мусора.
Пробовал различные скорости - более-менее стандартные 115200 и 9600, так 19200 - до кучи - ответа нет.
Может ли это быть связано с тем, что на модуль подаются сигналы без делителей - 3,3В? Может быть, UART модуля пожгли?
Манипуляции с RTS и DTR, доставшиеся в наследство со времен SIM300 убирал, но разницы не было.
Для управления используется микроконтроллер STM32F151C6
Модем: SIM800C S2-10688-Z1L1J
Заранее спасибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(stepper88 @ Apr 25 2018, 11:13) <{POST_SNAPBACK}>
Заранее спасибо за ответы.

Вы бы его к компу подключили через USB-UART-переходник и посмотрели сами что происходит.
Естественно уровни нужно согласовывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
>>>Может ли это быть связано с тем, что на модуль подаются сигналы без делителей - 3,3В?

А если не гадать, а прочесть даташит на модуль где сказано что максимальный уровень логической единицы 3.0 вольта.

И ключик на поверкее стоит?

DTR и RTS нафига трогать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Прошу прощения за такое долго молчание - переделали плату со схемой сопряжения из даташита. В том числе - вместо преобразователя уровня (а был именно он) на PowerKey посадили транзистор. Модем завелся, отвечает на команды, но возникла такая проблема - последнее время не всегда приходит Call Ready - на двух сим-картах Мегафон и Билайн, причем раньше проходило нормально. С третьей Билайн приходит Call Ready, но уровень сигнала в ответе на команду AT+CSQ нулевой.

Еще одна проблема - после примерно трех-пяти секунд перерыва модем перестает отвечать на команды даже эхо. При этом на запрос настроек спящего режима AT+CSCLK? выдает нуль. Это нормальное поведение модема или где-то еще можно посмотреть среди настроек?

Порядок настройки:

После передергивания PowerKey
МК: AT\r
SIM800:
AT\r\n
RDY
+CFUN: 1
+CPIN: READY
Call Ready (не всегда, в чем и проблема)
SMS Ready (тоже не всегда, даже, если от модема удалось получить Call Ready)
МК: AT+CMGD=1
SIM800: OK
МК: AT+CPIN=?
SIM800: +CPIN: READY
MK: AT+CSQ

Вот тут в случае получения нулевого результата (+CSQ: 0,0) через 2-3 с ожидания отправляю AT, на которую не всегда откликается и не всегда выдает эхо

P.S. С помощью этой симки и этого модема удавалось подключаться к серверу через встроенный TCP/IP стек. Плату передвигали, но не хватали..

Изменено пользователем stepper88

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Схему включения и версию прошивки - в студию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Схема включения

3h8j8B6vm1_thumb.jpg

А вот насчет версии прошивки - можете просветить темного, как ее можно глянуть?

Сам модем SIM800C S2-10688-Z1L1J - прошивку родную не меняли

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала ответьте себе на два вопроса.

 

С чего вы решили что на V_EXT можно ставить конденсатор?

Почему не стоит конденсатор на VRTC ?

 

 

Call Ready - может не выдаваться если стоит автодетект скорости UART - настоятельно рекомендуется выключить автодетект и навсегда поставить фиксированную скорость.

Часть глюков на фиксированой скорости исчезнут сами.

 

Дополню - посмотрите состояния DTR - есть предположение что модуль засыпает.

И потом перед выходом из сна есть задержка на восприятие команд

 

Вобщем кроме даташита читаем и апнотесы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчет фиксированной скорости - большое спасибо - настрою.

DTR во время инициализации подаю нуль и не снимаю - по крайней мере, осциллографом там логическую единицу не увидели. Плюс отправлял команду AT+CSCLK? - вернула нуль. Но еще глянем.

Насчет конденсаторов - еще раз внимательно посмотрю схему

Посмотрел: решили, что это для часов реального времени и нам не понадобится или же всегда надо?

Огромное спасибо за помощь

P.S. А из-за чего может упасть уровень сигнала, измеряемый по AT+CSQ?

Изменено пользователем stepper88

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VD1 - лишний. При выходе модуля в передачу ему станет плохо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Посмотрел: решили, что это для часов реального времени и нам не понадобится или же всегда надо?

Рекомендация в SIM800C_Hardware_Design стр.14.

VRTC. It is recommended to connect with a battery or a capacitor (e.g. 4.7uF).

Схема подключения в 4.4. Power Saving Mode.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация