SIM300+ATMEGA32

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Вс апр 12, 2009 22:40:37

Сообщение zebrox »

Всем доброго времени суток!

Подскажите пожалуйста как можно связать GSM модуль SIM300CZ с микроконтроллером ATMEGA32L?

точнее как их связать понятно, у модуля есть семь линий:
-TXD
-RXD
-RTS
-CTS
-DTR
-DCD
-RI

по первым двум модуль передаем и принимает данные, а какое назначение остальных - совсем непонятно.

Собственно говоря интересует назначение последний четырех линий, что и когда на них появляется и что и когда на них нужно подать для приема и передачи данных. Я так понимаю это управляющие линии.
Поделитесь пожалуйста инфой как правильно работать с этим интерфейсом?

Заранее спасибо!
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 73
Зарегистрирован: Вс янв 04, 2009 23:47:30
Откуда: Пенза

Сообщение K()X »

Вообщем то остальные сигналы-это стандартные сигналы 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 я думаю ты знаешь что надо делать :))
Дерзай, удачи!
Кто не пил ни разу водки-тот не знает вкус воды!
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки

Сообщение Секретный кот »

K()X писал(а):RI подключить к какой-нить ноге на конроллере, она будет сообщать контроллеру о входящем звонке.
Будет ли? Вроде этот сигнал уже давно нигде не используется, даже во внешних аналоговых модемах.
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 73
Зарегистрирован: Вс янв 04, 2009 23:47:30
Откуда: Пенза

Сообщение K()X »

Ну ХЗ, по крайней мере вреда от этого не будет.
Кто не пил ни разу водки-тот не знает вкус воды!
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

zebrox писал(а): Подскажите пожалуйста как можно связать GSM модуль SIM300CZ с микроконтроллером ATMEGA32L?
Mega32 питание 3V3.
RXD(mega) -> TXD(sim) и TXD(mega) -> RXD(sim) через 150 Ом.
RTS соединить CTS.
DTR завести на любой порт также через 150 Ом. Если он сейчас не нужен, то в будущем может пригодиться. При инициализации выставить высокий уровень на ноге порта.
DCD можно никуда не подключать.
RI лучше завести на прерывание, например INT0. Очень удобно будет ловить вызовы и SMS-ки.
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 438
Зарегистрирован: Вт сен 25, 2007 19:40:26
Откуда: Челябинск

Сообщение mr.Kirill »

в DataSheet'е все есть, и как подключать, и куда, и все рекомендации даны. Неужели так сложно почитать? Ну да, на английском, ну а никто и не говорил что будет просто.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Вс апр 12, 2009 22:40:37

Сообщение zebrox »

Секретный кот писал(а):Будет ли? Вроде этот сигнал уже давно нигде не используется, даже во внешних аналоговых модемах.
только-что попробовал, когда звонка нет там высокий уровень, когда приходит звонок появляется низкий уровень. При приеме смс тоже вроде низкий на короткое время включается, но мультиметр не успевает за ним.

Попробую его юзать :)
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Вс апр 12, 2009 22:40:37

Сообщение zebrox »

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'е все есть
туда полез в первую очередь, но что-то не нашел описания и назначения всех этих выводов, подозреваю, что они сделаны по стандарту. А как его искать-не знаю даже как у поисковика спросить. :)
Открыл глаза
Аватара пользователя
Сообщения: 73
Зарегистрирован: Вс янв 04, 2009 23:47:30
Откуда: Пенза

Сообщение K()X »

100% не даю (так как этим интересовался в 13 лет, то есть 12 лет назад, когда паял ноль-модемный кабель для связи 2 компов по ком портам.)

RTS- этот сигнал устройсво выставляет, когда у него в буфере имеются данные для отправки. То есть он выставил RTS и ждет, пока другое устройство маякнет ему на выводе CTS и только после этого начинает отправлять данные . То есть что получается, если закоротить эти выводы:устройство дергает RTS, а так как он закорочен с CTS то устройство ловит его ногой CTS и считает, что этот сигнал ему пришёл с устройства, которому он собрался отправлять данные и отправляет их:)) Надеюсь, что понятно написал (а то температура у меня, голова плохо соображает)
Приблизительно тоже самое происходит с ногами DTR и DCD
И все эти ноги никаким боком не относятся к GPRS, протокол RS-232 был разработан задолго до GPRS. кароч эти ноги служат для аппаратного управления потоком. Ща это мало уже где ипользуется.
Кароч короти ноги как я написал выше и все должно работать, по крайней мере я так делал с консольным портом CISCO и с консольным портом сервера SunFire V120. У меня все работает.
Кто не пил ни разу водки-тот не знает вкус воды!
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

DTR и DSR это связка типа "RTS/CTS" только инициатором передачи данных является приемник. Их можешь вообще не трогать (в некоторых gsm модулях они могут настраиваться для экстренного набора номера из первой ячейки памяти и тому подобное...).

CTS и RTS соединяешь между собой (можно даже через резистор :)) ).

Тебе надо только RX, TX и GND.

И еще, если в первый раз будешь это делать, то лучше через преобразователь подключить к компу и потренироваться в терминале. А сразу на МК будешь долго морочиться.
Мучитель микросхем
Аватара пользователя
Сообщения: 438
Зарегистрирован: Вт сен 25, 2007 19:40:26
Откуда: Челябинск

Сообщение mr.Kirill »

zebrox писал(а):
mr.Kirill писал(а):в DataSheet'е все есть
туда полез в первую очередь, но что-то не нашел описания и назначения всех этих выводов, подозреваю, что они сделаны по стандарту. А как его искать-не знаю даже как у поисковика спросить. :)
У SimCom есть несколько документов касательно модулей SIM. В каждом из них расписаны свои моменты. Один обощающий, второй по железу, третий по включению модуля, третий по прошивке и командам. Видимо Вы не тот документ смотрели.
Когда занимался подключением SIM508 (GSM+GPS) тогда тоже с этим столкнулся.
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

zebrox
Если Вы не можете найти в SIM300 HARDWARE SPECIFICATION какие ноги как направлены, то, без обид, может лучше отложить на время данный модуль...
Этот модуль - достаточно дорогое и сложное устройство с жесткой спецификацией. Несоблюдение последнего на несколько десятков вольт приводит к выходу из строя всего девайса. Поверьте, даже при свободном чтении в фирменных ДШ-ах не всё очевидно.
А если совсем не терпится проиграться с ним - приобретите кит (например вот такой: http://www.mt-system.ru/index.php?id=203 ).
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Делал правда не на симком, а взял готовый 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
Вложения
dtmf.pdf
(49.36 КБ) 746 скачиваний
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»