Andrey_Dyubo 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Люди добрые, подскажите, что я делаю не так. Модуль SIM900 подключен к USB порту через FT232RL. Между FT232 и модулем стоят ключи, которые разрывают линию UART пока сигнал STATUS в модуле равен 0. FT232 и ключи прекрасно работают и команды с компьютера через программку Serial Port Monitor поступают на модуль. Модуль же в свою очередь, командным эхом передает обратно на компьютер принятые команды и так же нормально регистрируется в сети. Но на принятые команды он не реагирует, только отвечает эхом. При звонке на модуль, он пишет RING и пишет NORMAL POWER DOWN когда я нажимаю кнопку POWER KEY. Пины UARTа модуля: DTR и RTS сидят на земле, RxD и TxD идут на ключи и дальше на FT232. Подскажите пожалуйста, в чем проблема, почему модуль не реагирует на команды? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KARLSON 1 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Но на принятые команды он не реагирует, только отвечает эхом. Эхо после каждой команды? Эхо - повторение введёных команд? Или эхо только при включении? Осциллографом можете посмотреть RX на модуле? Может к нему команды-то не приходят? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Dyubo 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Эхо после каждой команды? Эхо - повторение введёных команд? Или эхо только при включении? Осциллографом можете посмотреть RX на модуле? Может к нему команды-то не приходят? Эхо приходит после каждой команды (эта функция модуля по умолчанию, которую можно отключить). И эхо приходит всегда, сразу после того как модуль становится готов к работе. Данные на вывод RX модуля приходят, только что проверил осциллографом. Да и если бы они не приходили на модуль, то и эха бы не было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masterofnature 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Эхо приходит после каждой команды (эта функция модуля по умолчанию, которую можно отключить). И эхо приходит всегда, сразу после того как модуль становится готов к работе. Данные на вывод RX модуля приходят, только что проверил осциллографом. Да и если бы они не приходили на модуль, то и эха бы не было. Вы посылаемые команды какими символами завершаете? Необходимо завершать символом - <CR>(<Возврат Каретки>) код этого символа 13 (десятичный) или 0x0D - шестнадцатеричный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Romashki 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Нужно посмотреть схему между модулем и фт232. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Dyubo 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Вы посылаемые команды какими символами завершаете? Необходимо завершать символом - <CR>(<Возврат Каретки>) код этого символа 13 (десятичный) или 0x0D - шестнадцатеричный К примеру, на входящий звонок (на модуль) я посылаю команду ATA.Больше ничего не пишу. Можете на примере этой же команды написать как именно нужно писать? Может так надо ATA\r ? Нужно посмотреть схему между модулем и фт232. Между модулем и FT стоят ключи. Я проверял, они коммутируют входящие/выходящие сигналы без искажений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masterofnature 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба К примеру, на входящий звонок (на модуль) я посылаю команду ATA.Больше ничего не пишу. Можете на примере этой же команды написать как именно нужно писать? Может так надо ATA\r ? Вы данные передаете с помощью какой программы? Если Serial Port Monitor - то там нужно отдельно добивать символ. Попробуйте другой терминальной программой воспользоваться. И первой командой попробуйте AT<CR> Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ierofant 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Может так надо ATA\r ? Можно и так. Зависит от терминальной программы, которой пользуетесь. Если терминал от Брая - тогда в конце строки нужно дописывать $0D .($ указывает, что символ будет задан в hex формате) В общем нужно выдать символ перевода каретки. Это 0D в шестнадцатеричной системе. Добавите - должно нормально заработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Dyubo 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Вы данные передаете с помощью какой программы? Если Serial Port Monitor - то там нужно отдельно добивать символ. Попробуйте другой терминальной программой воспользоваться. И первой командой попробуйте AT<CR> Большое спасибо. В конце команды добавил 0D и все заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба А чтобы не городить ключи между модулем и FT и управлять ими от STATUS, достаточно на четвертый вывод FT232RL (VCCIO) подать напряжение с VEXT модуля. Тогда выходной буфер преобразователя будет запитываться нужной напругой и синхронно со статусом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Dyubo 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 (изменено) · Жалоба А чтобы не городить ключи между модулем и FT и управлять ими от STATUS, достаточно на четвертый вывод FT232RL (VCCIO) подать напряжение с VEXT модуля. Тогда выходной буфер преобразователя будет запитываться нужной напругой и синхронно со статусом. На счет вывода VCCIO полностью согласен. А вот то что VEXT появляется синхронно со статусом, не соглашусь. Я специально сравнивал, VEXT появляется сразу после включения модуля, а статус появляется чуть позже, как только модуль будет готов к работе. Чтобы избежать неприятностей с фантомной загрузкой, то советую использовать только сигнал статуса. Подскажите пожалуйста, как передать данные с модуля на модуль, при обычном телефонном звонке (не TCP IP и не FAX). И какие выводы модуля нужно задействовать и каким образом? Изменено 24 ноября, 2011 пользователем Дюбо Андрей Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Можете не соглашаться, но все внутренние подтяжки модуля на порту сделаны именно к этой ножке (у меня схема модуля перед собой имеется :) ). И в отличии от SIM300 и SIM300C где нельзя было просто так использовать Vext, в SIM900 можно. А програмное соответствие появления STATUS было переделано после 5 версии чобы соответствовать по временам 300й серии. Заглянул в даташит на чипсет - все правильно, в соответствии с перемычкой GPIO_Voltage выбирается питание портов 1.8 или 2.8 вольта и появляется питание VGPIO. С этого момента порты активны. Это же VGPIO выводится в модуле наружу под именем Vext. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Dyubo 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Можете не соглашаться, но все внутренние подтяжки модуля на порту сделаны именно к этой ножке (у меня схема модуля перед собой имеется :) ). И в отличии от SIM300 и SIM300C где нельзя было просто так использовать Vext, в SIM900 можно. А програмное соответствие появления STATUS было переделано после 5 версии чобы соответствовать по временам 300й серии. Я с Вами спорить не могу, ибо только начал заниматься этими модулями :rolleyes: Подскажите пожалуйста, как передать данные с модуля на модуль, при обычном телефонном звонке (не TCP IP и не FAX). И какие выводы модуля нужно задействовать и каким образом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masterofnature 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Подскажите пожалуйста, как передать данные с модуля на модуль, при обычном телефонном звонке (не TCP IP и не FAX). И какие выводы модуля нужно задействовать и каким образом?Никакие (дополнительно) - если речь про CSD. Все как на обычном модеме. необходимо просто вызов сделать ATDxxxxx<CR> А на другом - или снять трубку или включить автоснятие после первого гудка. И, естественно, дождаться установки соединения. Для удобства можно воспользоваться аппаратным управлением потока, для переключения между режимами команд и данных. Насчет этого - почитайте инструкцию или поищите здесь на форуме. Много документации есть на сайте Гамма Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Dyubo 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 (изменено) · Жалоба Никакие (дополнительно) - если речь про CSD. Все как на обычном модеме. необходимо просто вызов сделать ATDxxxxx<CR> А на другом - или снять трубку или включить автоснятие после первого гудка. И, естественно, дождаться установки соединения. Для удобства можно воспользоваться аппаратным управлением потока, для переключения между режимами команд и данных. Насчет этого - почитайте инструкцию или поищите здесь на форуме. Много документации есть на сайте Гамма Т. е. надо набрать номер ATDxxxxx без <;> и можно обмениваться данными по UART и будут использоваться те же выводы UART, что и при обычном телефонном звонке? И надо ли использовать вывод DCD? Изменено 24 ноября, 2011 пользователем Дюбо Андрей Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться