Подскажите пожалуйста как можно связать GSM модуль SIM300CZ с микроконтроллером ATMEGA32L?
точнее как их связать понятно, у модуля есть семь линий:
-TXD
-RXD
-RTS
-CTS
-DTR
-DCD
-RI
по первым двум модуль передаем и принимает данные, а какое назначение остальных - совсем непонятно.
Собственно говоря интересует назначение последний четырех линий, что и когда на них появляется и что и когда на них нужно подать для приема и передачи данных. Я так понимаю это управляющие линии.
Поделитесь пожалуйста инфой как правильно работать с этим интерфейсом?
Вообщем то остальные сигналы-это стандартные сигналы com порта.
Только нет их на меге. Можно на контроллере програмно дергать этими ногами. а можно подумать и......... RTS -Request to Send (запрос на отправку данных), нога является выходом. CTS -Clear to Send (Освобождено для приема данных), нога является входом. DTR - Data Terminal Ready (Терминальные данные готовы к отправке), нога является выходом. DCD -Data Carrier Detect (Детекция приема данных), нога является входом. RI -Ring Indicator (Индикатор звонка), нога является выходом.
Вообщем вообщем осталось подумать над значением и закоротить между собой эти сигналы так: RTS+CTS DTR+DCD
RI подключить к какой-нить ноге на конроллере, она будет сообщать контроллеру о входящем звонке.
Ну а с RXD и TXD я думаю ты знаешь что надо делать
Дерзай, удачи!
zebrox писал(а):
Подскажите пожалуйста как можно связать GSM модуль SIM300CZ с микроконтроллером ATMEGA32L?
Mega32 питание 3V3.
RXD(mega) -> TXD(sim) и TXD(mega) -> RXD(sim) через 150 Ом.
RTS соединить CTS.
DTR завести на любой порт также через 150 Ом. Если он сейчас не нужен, то в будущем может пригодиться. При инициализации выставить высокий уровень на ноге порта.
DCD можно никуда не подключать.
RI лучше завести на прерывание, например INT0. Очень удобно будет ловить вызовы и SMS-ки.
в DataSheet'е все есть, и как подключать, и куда, и все рекомендации даны. Неужели так сложно почитать? Ну да, на английском, ну а никто и не говорил что будет просто.
Секретный кот писал(а):Будет ли? Вроде этот сигнал уже давно нигде не используется, даже во внешних аналоговых модемах.
только-что попробовал, когда звонка нет там высокий уровень, когда приходит звонок появляется низкий уровень. При приеме смс тоже вроде низкий на короткое время включается, но мультиметр не успевает за ним.
K()X писал(а):Вообщем то остальные сигналы-это стандартные сигналы com порта.
Только нет их на меге. Можно на контроллере програмно дергать этими ногами.
вот с этого момента, пожалуйста, поподробнее
K()X писал(а):RTS -Request to Send (запрос на отправку данных), нога является выходом.
т.е. когда модулю есть что передавать, он сюда лог.1 выставляет, правильно понял?
K()X писал(а):CTS -Clear to Send (Освобождено для приема данных), нога является входом.
т.е. т.к. эта нога-вход, то что-бы модуль начал принимать здесь нужно выставить высокий уровень?
замыканием RTS и CTS мы это делаем?
после окончания передачи снова на CTS возвращаем ноль?
K()X писал(а):DTR - Data Terminal Ready (Терминальные данные готовы к отправке), нога является выходом.
что такое теримнальные данные? подозреваю, что вывод используется для GPRS?
но если судить по этому посту:
asteroid7 писал(а):DTR завести на любой порт также через 150 Ом. Если он сейчас не нужен, то в будущем может пригодиться. При инициализации выставить высокий уровень на ноге порта.
то эта нога является входом?
что-то я запутался...
K()X писал(а):DCD -Data Carrier Detect (Детекция приема данных), нога является входом.
суть этой ноги не совсем ясна, точнее, совсем не ясна.
K()X писал(а):
RI -Ring Indicator (Индикатор звонка), нога является выходом.
100%, спасибо, уже убедился
mr.Kirill писал(а):в DataSheet'е все есть
туда полез в первую очередь, но что-то не нашел описания и назначения всех этих выводов, подозреваю, что они сделаны по стандарту. А как его искать-не знаю даже как у поисковика спросить.
100% не даю (так как этим интересовался в 13 лет, то есть 12 лет назад, когда паял ноль-модемный кабель для связи 2 компов по ком портам.)
RTS- этот сигнал устройсво выставляет, когда у него в буфере имеются данные для отправки. То есть он выставил RTS и ждет, пока другое устройство маякнет ему на выводе CTS и только после этого начинает отправлять данные . То есть что получается, если закоротить эти выводы:устройство дергает RTS, а так как он закорочен с CTS то устройство ловит его ногой CTS и считает, что этот сигнал ему пришёл с устройства, которому он собрался отправлять данные и отправляет их:)) Надеюсь, что понятно написал (а то температура у меня, голова плохо соображает)
Приблизительно тоже самое происходит с ногами DTR и DCD
И все эти ноги никаким боком не относятся к GPRS, протокол RS-232 был разработан задолго до GPRS. кароч эти ноги служат для аппаратного управления потоком. Ща это мало уже где ипользуется.
Кароч короти ноги как я написал выше и все должно работать, по крайней мере я так делал с консольным портом CISCO и с консольным портом сервера SunFire V120. У меня все работает.
DTR и DSR это связка типа "RTS/CTS" только инициатором передачи данных является приемник. Их можешь вообще не трогать (в некоторых gsm модулях они могут настраиваться для экстренного набора номера из первой ячейки памяти и тому подобное...).
CTS и RTS соединяешь между собой (можно даже через резистор ).
Тебе надо только RX, TX и GND.
И еще, если в первый раз будешь это делать, то лучше через преобразователь подключить к компу и потренироваться в терминале. А сразу на МК будешь долго морочиться.
туда полез в первую очередь, но что-то не нашел описания и назначения всех этих выводов, подозреваю, что они сделаны по стандарту. А как его искать-не знаю даже как у поисковика спросить.
У SimCom есть несколько документов касательно модулей SIM. В каждом из них расписаны свои моменты. Один обощающий, второй по железу, третий по включению модуля, третий по прошивке и командам. Видимо Вы не тот документ смотрели.
Когда занимался подключением SIM508 (GSM+GPS) тогда тоже с этим столкнулся.
zebrox
Если Вы не можете найти в SIM300 HARDWARE SPECIFICATION какие ноги как направлены, то, без обид, может лучше отложить на время данный модуль...
Этот модуль - достаточно дорогое и сложное устройство с жесткой спецификацией. Несоблюдение последнего на несколько десятков вольт приводит к выходу из строя всего девайса. Поверьте, даже при свободном чтении в фирменных ДШ-ах не всё очевидно.
А если совсем не терпится проиграться с ним - приобретите кит (например вот такой: http://www.mt-system.ru/index.php?id=203 ).
Делал правда не на симком, а взял готовый gsm модуль Fargo Maestro 100, прилепил его к меге 64, к ней же DTMF (MT8870) и вот сижу свет в квартире включаю/выключаю.
При этом использовал RX, TX и для сброса RESET (хотя при нормальном питании не обязательно).
Кстати, для расширения коммутируемых нагрузок, чтобы не тратить порты МК, которые в будущем еще пригодятся, использовал 74595. При этом управлять можно 1000 релюх , только в цепочку 125 штук 595 это пипец.
Формат DTMF таков:
*nnn#x
* - синхронизация. Обязательно надо нажать если посылка первая, а в дальнейшем для обнуления, если что-то введено не правильно.
nnn - номер коммутируемого реле (0-999)
#x - x= 1 или 0, если 1 - включаем реле, 0 - выключаем.
Пример:
Для включения реле 1:
*1#1
для выключения:
*1#0
Выключаем первое и включаем второе:
*1#02#1