Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: модуль SIM900
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Дюбо Андрей
Люди добрые, подскажите, что я делаю не так.

Модуль SIM900 подключен к USB порту через FT232RL. Между FT232 и модулем стоят ключи, которые разрывают линию UART пока сигнал STATUS в модуле равен 0.
FT232 и ключи прекрасно работают и команды с компьютера через программку Serial Port Monitor поступают на модуль.
Модуль же в свою очередь, командным эхом передает обратно на компьютер принятые команды и так же нормально регистрируется в сети. Но на принятые команды он не реагирует, только отвечает эхом.
При звонке на модуль, он пишет RING и пишет NORMAL POWER DOWN когда я нажимаю кнопку POWER KEY.
Пины UARTа модуля: DTR и RTS сидят на земле, RxD и TxD идут на ключи и дальше на FT232.

Подскажите пожалуйста, в чем проблема, почему модуль не реагирует на команды?
KARLSON
Цитата(Дюбо Андрей @ Nov 24 2011, 11:04) *
Но на принятые команды он не реагирует, только отвечает эхом.


Эхо после каждой команды? Эхо - повторение введёных команд? Или эхо только при включении?

Осциллографом можете посмотреть RX на модуле? Может к нему команды-то не приходят?
Дюбо Андрей
Цитата(KARLSON @ Nov 24 2011, 12:15) *
Эхо после каждой команды? Эхо - повторение введёных команд? Или эхо только при включении?

Осциллографом можете посмотреть RX на модуле? Может к нему команды-то не приходят?

Эхо приходит после каждой команды (эта функция модуля по умолчанию, которую можно отключить). И эхо приходит всегда, сразу после того как модуль становится готов к работе.
Данные на вывод RX модуля приходят, только что проверил осциллографом. Да и если бы они не приходили на модуль, то и эха бы не было.
Master of Nature
Цитата(Дюбо Андрей @ Nov 24 2011, 12:22) *
Эхо приходит после каждой команды (эта функция модуля по умолчанию, которую можно отключить). И эхо приходит всегда, сразу после того как модуль становится готов к работе.
Данные на вывод RX модуля приходят, только что проверил осциллографом. Да и если бы они не приходили на модуль, то и эха бы не было.

Вы посылаемые команды какими символами завершаете?
Необходимо завершать символом - <CR>(<Возврат Каретки>)
код этого символа 13 (десятичный) или 0x0D - шестнадцатеричный
Romashki
Нужно посмотреть схему между модулем и фт232.
Дюбо Андрей
Цитата(Master of Nature @ Nov 24 2011, 12:29) *
Вы посылаемые команды какими символами завершаете?
Необходимо завершать символом - <CR>(<Возврат Каретки>)
код этого символа 13 (десятичный) или 0x0D - шестнадцатеричный

К примеру, на входящий звонок (на модуль) я посылаю команду ATA.Больше ничего не пишу.
Можете на примере этой же команды написать как именно нужно писать?
Может так надо ATA\r ?

Цитата(Romashki @ Nov 24 2011, 12:36) *
Нужно посмотреть схему между модулем и фт232.

Между модулем и FT стоят ключи. Я проверял, они коммутируют входящие/выходящие сигналы без искажений.
Master of Nature
Цитата(Дюбо Андрей @ Nov 24 2011, 12:42) *
К примеру, на входящий звонок (на модуль) я посылаю команду ATA.Больше ничего не пишу.
Можете на примере этой же команды написать как именно нужно писать?
Может так надо ATA\r ?
Вы данные передаете с помощью какой программы?
Если Serial Port Monitor - то там нужно отдельно добивать символ.
Попробуйте другой терминальной программой воспользоваться.
И первой командой попробуйте AT<CR>
ierofant
QUOTE (Дюбо Андрей @ Nov 24 2011, 11:42) *
Может так надо ATA\r ?


Можно и так. Зависит от терминальной программы, которой пользуетесь.
Если терминал от Брая - тогда в конце строки нужно дописывать $0D .($ указывает, что символ будет задан в hex формате)
В общем нужно выдать символ перевода каретки. Это 0D в шестнадцатеричной системе.

Добавите - должно нормально заработать.

Дюбо Андрей
Цитата(Master of Nature @ Nov 24 2011, 12:49) *
Вы данные передаете с помощью какой программы?
Если Serial Port Monitor - то там нужно отдельно добивать символ.
Попробуйте другой терминальной программой воспользоваться.
И первой командой попробуйте AT<CR>

Большое спасибо. В конце команды добавил 0D и все заработало.
CADiLO
А чтобы не городить ключи между модулем и FT и управлять ими от STATUS, достаточно на четвертый вывод FT232RL (VCCIO) подать напряжение с VEXT модуля. Тогда выходной буфер преобразователя будет запитываться нужной напругой и синхронно со статусом.
Дюбо Андрей
Цитата(CADiLO @ Nov 24 2011, 13:24) *
А чтобы не городить ключи между модулем и FT и управлять ими от STATUS, достаточно на четвертый вывод FT232RL (VCCIO) подать напряжение с VEXT модуля. Тогда выходной буфер преобразователя будет запитываться нужной напругой и синхронно со статусом.

На счет вывода VCCIO полностью согласен. А вот то что VEXT появляется синхронно со статусом, не соглашусь.
Я специально сравнивал, VEXT появляется сразу после включения модуля, а статус появляется чуть позже, как только модуль будет готов к работе.
Чтобы избежать неприятностей с фантомной загрузкой, то советую использовать только сигнал статуса.

Подскажите пожалуйста, как передать данные с модуля на модуль, при обычном телефонном звонке (не TCP IP и не FAX). И какие выводы модуля нужно задействовать и каким образом?
CADiLO
Можете не соглашаться, но все внутренние подтяжки модуля на порту сделаны именно к этой ножке (у меня схема модуля перед собой имеется sm.gif ). И в отличии от SIM300 и SIM300C где нельзя было просто так использовать Vext, в SIM900 можно. А програмное соответствие появления STATUS было переделано после 5 версии чобы соответствовать по временам 300й серии.

Заглянул в даташит на чипсет - все правильно, в соответствии с перемычкой GPIO_Voltage выбирается питание портов 1.8 или 2.8 вольта и появляется питание VGPIO. С этого момента порты активны. Это же VGPIO выводится в модуле наружу под именем Vext.
Дюбо Андрей
Цитата(CADiLO @ Nov 24 2011, 14:26) *
Можете не соглашаться, но все внутренние подтяжки модуля на порту сделаны именно к этой ножке (у меня схема модуля перед собой имеется sm.gif ). И в отличии от SIM300 и SIM300C где нельзя было просто так использовать Vext, в SIM900 можно. А програмное соответствие появления STATUS было переделано после 5 версии чобы соответствовать по временам 300й серии.

Я с Вами спорить не могу, ибо только начал заниматься этими модулями rolleyes.gif
Подскажите пожалуйста, как передать данные с модуля на модуль, при обычном телефонном звонке (не TCP IP и не FAX). И какие выводы модуля нужно задействовать и каким образом?
Master of Nature
Цитата(Дюбо Андрей @ Nov 24 2011, 14:22) *
Подскажите пожалуйста, как передать данные с модуля на модуль, при обычном телефонном звонке (не TCP IP и не FAX). И какие выводы модуля нужно задействовать и каким образом?
Никакие (дополнительно) - если речь про CSD. Все как на обычном модеме.
необходимо просто вызов сделать ATDxxxxx<CR>
А на другом - или снять трубку или включить автоснятие после первого гудка.
И, естественно, дождаться установки соединения.

Для удобства можно воспользоваться аппаратным управлением потока, для переключения между режимами команд и данных.
Насчет этого - почитайте инструкцию или поищите здесь на форуме.

Много документации есть на сайте Гамма
Дюбо Андрей
Цитата(Master of Nature @ Nov 24 2011, 14:33) *
Никакие (дополнительно) - если речь про CSD. Все как на обычном модеме.
необходимо просто вызов сделать ATDxxxxx<CR>
А на другом - или снять трубку или включить автоснятие после первого гудка.
И, естественно, дождаться установки соединения.

Для удобства можно воспользоваться аппаратным управлением потока, для переключения между режимами команд и данных.
Насчет этого - почитайте инструкцию или поищите здесь на форуме.

Много документации есть на сайте Гамма

Т. е. надо набрать номер ATDxxxxx без <;> и можно обмениваться данными по UART и будут использоваться те же выводы UART, что и при обычном телефонном звонке? И надо ли использовать вывод DCD?
Master of Nature
Цитата(Дюбо Андрей @ Nov 24 2011, 14:42) *
Т. е. надо набрать номер ATDxxxxx без <;> и можно обмениваться данными по UART и будут использоваться те же выводы UART, что и при обычном телефонном звонке? И надо ли использовать вывод DCD?
Да, можно обойтись без дополнительных выводов. Только Rx и Tx.
Дюбо Андрей
Цитата(Master of Nature @ Nov 24 2011, 14:53) *
Да, можно обойтись без дополнительных выводов. Только Rx и Tx.

Что то у меня не получилось установить звонок. Модуль пишет NO CARRIER.
Делал так:
ATDxxxxxx<CR> (без wink.gif
Использовались только Rx и Tx
RTS и DTR на земле
RI, CTS и DTR в воздухе
Где я напортачил?
Baser
Цитата(Дюбо Андрей @ Nov 24 2011, 13:04) *
Что то у меня не получилось установить звонок. Модуль пишет NO CARRIER.

А на другом конце соединения у вас что?
Должен быть другой модем.
При звонке на него нужно снимать трубку командой ATA<CR>
или установить на нем настройку автоснятия трубки после N звонков командой
ATS0=1<CR>
- снимать самому после первого звонка.

После чего модемы сами между собой договорятся о параметрах обмена и только после этого вы получите
CONNECT
CADiLO
Кроме того CSD должно быть разрешено оператором. У некоторых это отдельные тарифы и по умолчанию CSD режим запрещен.
Romashki
Вообще то при звонке с модема на модем (о котором говорится в теме), тарификация идет как за голосовой вызов. Это проверено на 100 % !
Master of Nature
Цитата(Romashki @ Nov 24 2011, 16:02) *
Вообще то при звонке с модема на модем (о котором говорится в теме), тарификация идет как за голосовой вызов. Это проверено на 100 % !
Но по типу - это передача данных (CSD).
Дюбо Андрей
Цитата(Romashki @ Nov 24 2011, 16:02) *
Вообще то при звонке с модема на модем (о котором говорится в теме), тарификация идет как за голосовой вызов. Это проверено на 100 % !

Мужики, это все конечно хорошо, но прошу вас объясните чайнику, как говорится с нуля, как организовать передачу данных по CSD и как и какие выводы UART в модуле задействовать. И я никак не пойму, нужно ли ставить знак; после команды ATDxxxxxx.
Заранее всем спасибо!
CADiLO
Да и определяется оператором по ; в конце набора номера.
Так вот у меня на карточке киевстара было отключено CSD, отдельно ездил включал - 10 гривен стоило разрешение работы CSD.
Потом тарификация как и голос. Но это зависит от пакета.

с ; - голос
без ; - CSD
Romashki
Нужно разграничить, если мы иде в интернет по CSD, тогда нужно от ператора предоставление этой услуги, НО если мы передаем данные с модема на модем, то тарификация идет как голос. При этом и в одном и в другом случае используется технология CSD.

"
Мужики, это все конечно хорошо, но прошу вас объясните чайнику, как говорится с нуля, как организовать передачу данных по CSD и как и какие выводы UART в модуле задействовать. И я никак не пойму, нужно ли ставить знак; после команды ATDxxxxxx.
Заранее всем спасибо!
"

Я никаких доп.выводов не использовал
Дюбо Андрей
Цитата(Romashki @ Nov 24 2011, 16:28) *
Нужно разграничить, если мы иде в интернет по CSD, тогда нужно от ператора предоставление этой услуги, НО если мы передаем данные с модема на модем, то тарификация идет как голос. При этом и в одном и в другом случае используется технология CSD.

"
Мужики, это все конечно хорошо, но прошу вас объясните чайнику, как говорится с нуля, как организовать передачу данных по CSD и как и какие выводы UART в модуле задействовать. И я никак не пойму, нужно ли ставить знак; после команды ATDxxxxxx.
Заранее всем спасибо!
"

Я никаких доп.выводов не использовал

А вывод DTR использовать разве не надо, для переключения режима команда/данные?
Romashki
Цитата(Дюбо Андрей @ Nov 24 2011, 14:37) *
А вывод DCD использовать разве не надо, для переключения режима команда/данные?

Можно и без него командой "+++"
CADiLO
>>>Нужно разграничить, если мы иде в интернет по CSD, тогда нужно от ператора предоставление этой услуги, НО если мы передаем данные с модема на модем, то тарификация идет как голос. При этом и в одном и в другом случае используется технология CSD.

"К сожалению, в последнее время многие корпоративные клиенты оператора мобильной связи КиевСтар столкнулись с увеличением стоимости GSM трафика для опроса объектов. Это связано с повышением тарифов на передачу данных (CSD) оператором мобильной связи КиевСтар в некоторых тарифных планах в пять-шесть раз."

Оператор четко знает что вам нужно CSD или голос. Потому что никакие модемы в голосовом соединении не передадут данные.


А вот маленькие расчеты:

Расчет затрат на примере одного из клиентов

Система использовала один канал опроса в режиме CSD на 150 подвижных объектов.

Абонентская плата за мобильную связь составляла 25 грн + 7% на каждый объект. Затраты на опрос одного объекта в режиме CSD составляли около 6,7 грн в месяц при получении базы данных четыре раза в сутки. Информация о перемещении всех объектов передавалась непосредственно на компьютер диспетчера в режиме он-лайн (UDP маркерами через GPRS).

Структура расходов до повышения тарифов:

•абонплата 150 * 26,75 = 4012,5 грн
•опрос объектов CSD 150 * 6,7 = 1005 грн
Итого: 5017,5 грн

Ожидаемые затраты после повышения тарифов:

•абонплата 150 * 26,75 = 4012,5 грн
•опрос объектов CSD 150 * 40,2 = 6030 грн
Итого: 10042,5 грн

При переходе к режиму GPRS трафик будет оплачиваться за счет уже установленной абонплаты. К этой сумме следует добавить стоимость аренды сервера или покупку ПО IS25-01, а также стоимость доступа к сети Интернет с рабочих мест диспетчеров.

Ожидаемые затраты при переходе на GPRS:

•абонплата (включает 20 Мб трафика GPRS, чего достаточно для он-лайн наблюдения) 150 * 26,75 = 4012,5 грн
•аренда виртуального сервера, включая Интернет-трафик (цены www.lucky.net) ~520 грн
•доступ к сети Интернет для работы диспетчеров (цены Утел) ~250 грн
Итого: 4782,5 грн

Romashki
У меня были карточки киевстара, на них подключены только GPRS и голосовая услуга. При потере GPRS, прибор дозванивался в режиме данных на модем, который стоял у оператора. Деньги снимали за GPRS и голосовой канал. Функция CSD не была активирована, соответственно и в модуле никаких настроек по CSD не делалось, при этом данные передавались с модема на модем.
CADiLO
Совершенно верно - в вашем пакете CSD было разрешено по умолчанию, а тарификация соизмерима с голосом.
Такое например у МТС часто практикуется.
Но пакеты ведь разные бывают - и есть такие где голос намного дешевле чем данные.
Romashki
В моем представлении услуга CSD (именно услуга!!!) заказывается у оператора для того, чтоб оператор посредством технологии CSD предоставил выход в интернет. Как минимум в модеме необходимо ввести настройки оператора для CSD и звонить типа *99# и т.д. Но в моем случае тарифные планы принципиально были без CSD. Звонки осуществлялись напрямую с модема на модем.

К статии распечатки от КС (за что снимали деньги) тоже не показали работы в CSD.
CADiLO
Ладно. Чтобы не путаться в терминах объясню что я имею в виду.

Номер куда звоним это модем SIM900 c карточкой UTEL подключеный к компу в режиме модема - "стандартный 33600".

теперь модуль с которого звоним.

вариант 1 - карточка киевстар
Набираем с модуля номер без ; и гарантировано получаем "no carrier" - так вот тут CSD отключено и нужно просить оператора включить его.

вариант 2 - карточка МТС
Набираем номер без ; и получаем дозвон (ну а что потом будет, это уже зависит как модемы договорятся) - CSD включено.

Я приехал к киевстаровцам и сказал - разрешите CSD для этого пакета. Не вопрос - 10 гривен в кассу и все заработало.

А называется оно услугой или технологией или еще как, мне как пользователю розово аж фиолетово. Факт в том что не везде это разрешено.


andrewlekar
У Теле2 например CSD отсутствует как класс. Так что доступ в интернет тут вообще не при чем.
=F8=
Цитата(Romashki @ Nov 24 2011, 17:21) *
У меня были карточки киевстара, на них подключены только GPRS и голосовая услуга. При потере GPRS, прибор дозванивался в режиме данных на модем, который стоял у оператора. Деньги снимали за GPRS и голосовой канал. Функция CSD не была активирована, соответственно и в модуле никаких настроек по CSD не делалось, при этом данные передавались с модема на модем.

А у меня киевстаровские карточки на которых есть GPRS, но нет и CSD ни голосовых вызовов. Так-что, как уже говорили, никаких правил на этот счет не существует.
Master of Nature
Цитата(Romashki @ Nov 24 2011, 17:21) *
У меня были карточки киевстара, на них подключены только GPRS и голосовая услуга. При потере GPRS, прибор дозванивался в режиме данных на модем, который стоял у оператора. Деньги снимали за GPRS и голосовой канал. Функция CSD не была активирована, соответственно и в модуле никаких настроек по CSD не делалось, при этом данные передавались с модема на модем.

1. Для CSD не требуется каких-то особых настроек в модуле.
2. В отличие от проводных модемов, подключавшихся к телефонной линии, GSM-модем использует цифровой канал передачи данных.
3. При голосовом вызове - передаётся то, что было принято и оцифровано с микрофонного входа, выдается информация, соотвтественно, через аудиовыход. По UARTу вы ничего не увидите.
4. Для сравнения - попробуйте набрать телефон с ";" в конце.
5. То, что ваш ОпСоС не разделяет CSD и Voice - вопрос к их тех. службе. Скорее всего, т.к. эта услуга уже считается устаревшей, на ней не акцентируют внимание.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.