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

Если нет ответа на команду, что делать?

Кроме скорости ничего в параметрах порта не менял, прибором TXD и RTS не звонятся. Так в себя ведут 2 комплекта плат. Если есть такие то способы проверить это предположение

ответ приходит только тогда, когда включен передатчик,

подскажите, проверю.

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


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

Может где лишнюю подтяжку на UART поставили?

 

Покажите кусок схемки - UART часть.

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


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

Схему загрузил

Цепи идущие на мк STM32

GSM_PWRKEY - используется

GSM_STATUS - используется

GSM_TXD - используется

GSM_RXD - используется

GSM_RTS - не используется

GSM_CTS - не используется

GSM_RI - не используется

GSM_RF_SYNC - не используется

GSM.pdf

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


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

Уберите резистор R64 и вроде будет счастье

 

на линиях CTS и RI делитель тоже не нужен

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

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


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

Ну как бы да, в даташите нет этих резисторов. Возможно подтяжка держит стоповое состояние....

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


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

понял, спасибо, ближе к вечеру уберу резисторы R64, R70, R72.

Забыл указать, на схеме он не нарисован, что установлен резистор 10k на землю на линии DTR (увидел о его включении на форуме, после того как плата в заказ ушла).

Скажите, ножка RF_SYNC для чего-нибудь полезного нужна? Была разведена на всякий случай.

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


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

>>>>Забыл указать, на схеме он не нарисован, что установлен резистор 10k на землю на линии DTR

 

If these pins are unused, keep open.

 

 

Хотя апнотес пишет что

 

NOTE: The DTR signal must pulled to low level voltage when DTE is sending data to module.

If DTR does not connect with DTE, DTR must be connected to GND via a 10K resistor.

 

Но тут скорее всего коллизия с тем что апнот более старый и создавался на основе доки от 900 серии.

В практическом применении, если DTR не пользуемся, то висит себе в воздухе и никому не мешает.

Хотя я бы завел на контроллер - удобно будить модуль или переключать дата/команд моде.

 

А по умолчанию ножка игнорится, поэтому резистор там не нужен.

 

 

6.4 DTR

Module will automatically go into SLEEP mode (set AT+CSCLK=1) if DTR is set to high level and there is no on air and no hardware interrupt (such as GPIO interrupt or data on serial port). In this case, the current consumption of module will reduce to the minimal level. During SLEEP mode, the module can still receive paging message and SMS from the system normally. If DTR Pin is pulled down to a low level, this signal will wake up module from SLEEP mode. The serial port will be active after DTR changes to low level about 50ms. DTR must be held low during the call.

The AT command “AT&D” can be used to set DTR function mode.

 

􀁺 When it is set to "AT&D0", TA ignores status on DTR.

 

􀁺 When it is set to "AT&D1", ON (low)->OFF (high) on DTR: module will be changed to command mode when the connected call is remained.

 

􀁺 When it is set to "AT&D2", ON->OFF on DTR and pull DTR to high more than the time that the setting value by ATS10: call is disconnected, module is changed to command mode.

 

TCP/IP applications only support AT&D1 and AT&D0. In TCP/IP application (for more detail, please refer to TCP/IP application NOTE), DTR line of serial port can also be used to switch from data mode to command mode. To use this method, AT&D1 should be set firstly. Pull DTR line to ground for at least 1 second and then pull up, the module will switch from data mode to command mode and OK will be returned which indicates the module is in command mode.

 

 

 

>>>ножка RF_SYNC для чего-нибудь полезного нужна?

 

Используем если применяем навигацию - заводим на ключик который коротит вход GPS при пассивной антенне или снимает питание с активной.

Предусмотрено чтобы передатчик GSM при разных проблемах по вч части не убил чуствительный вход GPS

 

 

 

 

 

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


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

Удалил резистор R64 на линии TXD отчасти помогло. Спасибо.

Удалил все лишние резисторы с не используемых пинов и делитель в цепи STATUS. Новая схема в приложении. Ничего больше не изменилось.

 

Удаление резистора R64 помогло только в части моей инициализации. Также для теста добавил посылку несколько подряд команд AT.

При обмене следующими командами, задержек при ответе не выявлено, ответ почти сразу или макс. 100-400 мсек, считаю это нормальным. Задержка ответа только в команде включение BT модуля, обычно около 2 секунд, но это хоть объяснить можно.

Код инициализации:

RDY
+CFUN: 1
+CPIN: READY

AT         // Ответ почти сразу
OK

AT
OK

AT
OK

AT
OK

AT
OK

AT
OK

AT
OK

AT

Call Ready

OK

AT
OK

AT
OK

AT+IPR?
+IPR: 9600
OK

AT+CSMINS?

SMS Ready

+CSMINS: 0,1
OK

AT+CFUN=1
OK

AT+BTPOWER=1
OK

AT+CMGF=1
OK

AT+GCAP
+GCAP: +CGSM
OK

AT+GMM
SIMCOM_SIM800C
OK

AT+GMR
Revision:1418B07SIM800C32_BT_EAT
OK

AT+GSN
xxxxxxxxxxxxxxx
OK

AT+CPIN?
+CPIN: READY
OK

AT+BTPAIRCFG=1,1111
OK

AT+BTSPPCFG="MC",1
OK

AT+CLIP=1
OK

AT+CLTS=1
OK

AT+CMIC=0,15
OK

AT+CLVL=100
OK

AT+CREG=1
OK

AT+DDET=1
OK

AT+CENG=1,1
OK

AT+SJDR=1,1,255,1
OK

AT+CCLK?
+CCLK: "04/01/01,00:01:17+00"
OK

AT+CLCC=1
OK

AT+CPMS="SM"
+CPMS: 0,10,0,10,0,10
OK

 

Но после этих команд в дальнейшем обмене начинаются задержки, которые иногда имеют периодичность, это хорошо видно когда передавать одну и туже команду подряд. Ответ на 1-ую команду приходит сразу, а на вторую с задержкой 1.8-2 сек., потом на следующую команду ответ приходит сразу, а посл неё опять с задержкой 1.8-2 сек..

 

AT                  
OK             // ответ сразу

AT
OK            // ответ с задержкой

AT            
OK            // ответ сразу

AT
OK           // ответ с задержкой

AT
OK           // ответ сразу

AT
OK          // ответ с задержкой

AT
OK

AT
OK

AT
OK

AT
OK

AT+CBC
+CBC: 0,92,4142
OK

AT+CREG?
+CREG: 1,1
OK

AT+CSQ
+CSQ: 16,0
OK

 

Также если сим карта не вставлена, то ответ на передачу нескольких команд AT при инициализации, проиходит всегда с задержкой до 4 сек.

 

Картинка показывающая задержку

post-8231-1507393322_thumb.png

GSM2.pdf

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


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

Здравствуйте, извините может не в ту тему пишу...

Такая проблема, на модеме RX100-R4 с GL868 dual v3, включил #CMUXSCR, и теперь модем ни в какую не отвечает на AT-команды в терминале.

Как можно сбросить настройки без AT-команд?

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


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

Проверьте как настроен режим управления потоком в модуле командой AT+IFC? и соответственно настройте его под схему и программу.

Картинка показывающая задержку

Возможно ошибаюсь или что-то не правильно понял, но судя по картинке модуль работает нормально, задержки около 50 мс. Время передачи команды "AT" и ответа "OK" с учетом \r и \n на скорости 9600 бит/с занимает примерно 4 мс, но т.к. горизонтальная развертка сжата, пакеты приема и передачи видны как вертикальные столбики (импульсы). По картинке видно по линии RX передается команда и примерно через 50 мс на линии TX виден ответ на команду. Причем во время ответа или почти сразу после него по линии RX передается повторная команда и на линии TX также через 50 мс виден ответ на вторую команду. Примерно через 2,18 с все повторяется.

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


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

Команда передаётся по линии TX. Первый ответ по RX лини это ответ с задержкой на предыдущую команду AT. Это фрагмент обмена передачи из 10 команд AT. Следующая команда передаётся через 50 мсек от полученного ответа.

Если не считать этих задержек, модуль работает нормально. Использую входящие/исходящие CМС, звонки, DTMF и BT.

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


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

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

у микроконтроллера какая величина логического уровня?

 

Что-то не понятно откуда такие задержки, конкретно с BLUETOOTH не работал... и проверить времени нет

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

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


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

Запрос -ответ

Ответ на AT-команду всегда должен быть.

Никаких следующих команд модулю посылать нельзя до его ответа на предыдущую, так как протокол общения АТ-командами - синхронный протокол.

Если модуль ничего не ответил на АТ-команду в течение некоего разумного времени (зависит от поданной команды), то это - критическая ошибка. Реакция на неё - RESET модулю и рестарт управляющего драйвера.

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


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

Mysteo, в чём может быть логическая ошибка ПО, если модуль отвечает, но не сразу и то не всегда. Специально для этого привёл скрин анализатора. Контроллер STM32, питание от 3.3В.

 

jcxz, Про ответ всегда это я понял. Если не отвечает, то так и решил делать, перезагрузкой модуля.

До ответа OK, ни какие команды не посылаю.

течение некоего разумного времени

Это сколько? минута или 10 секунд. Есть же документированный таймаут.

 

Предполагаю, что может где-то перекос по земле происходит или фантомная запитка, хотя всё лишнее отключено.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...