Практичный GSM модуль

GSM модуль представляет собой беспроводное коммуникационное устройство (модем) для приема/передачи данных в сетях мобильной связи. В любом мобильном телефоне установлен такой модуль, благодаря которому возможно голосовое общение, прием сообщений, выход в интернет. В этой статье я расскажу про GSM/GPRS модуль NEOWAY M590, приведу описание и назначение основных команд.

Данный модуль, смонтированный на плате с минимальной обвязкой (а также в виде конструктора) можно приобрести в Китае, где он позиционируется как модуль под Arduino.

Модуль питается напряжением 3,3 – 4,5В, максимальный ток потребления кратковременно может достигать 2А (особенно в момент включения), поэтому конденсатор C1 должен иметь минимальную емкость в 1000 мкФ, желательно больше. В режиме ожидания средний ток потребления модуля равен 25 мА.

Для включения модуля необходимо подать положительный импульс на линию ON/OFF (база транзистора VT1), длительность импульса должна быть не менее 300 мс. После успешного включения и выхода в рабочий режим, светодиод статуса HL1 начнет мигать с частотой в 1Гц. Рекомендуется выдержать паузу в 2 секунды после включения, прежде чем отправлять команды на модуль. При включении модуль выдает сообщение MODEM:STARTUP, затем через 10-15 секунд сообщение +PBREADY, означающее, что телефонная книга готова к использованию. Здесь кстати можно почитать про neoway m590 подключение.

Для выключения модуля необходимо повторно подать такой же положительный импульс, или же отправить специальную команду на выключение (AT+CPWROFF). В выключенном состоянии модуль потребляет ток в пределах 80 мкА.

Номинальное рабочее напряжение линий ввода/вывода модуля (RXD, TXD, DTR, RING, LED) составляет 2,85В. Напряжения на линиях ввода (RXD, DTR) не должны превышать 3,3В, для исключения их повреждения, поэтому для их сопряжения с логическими уровнями большего напряжения установлены элементы VD1, R1, VD2, R2. С помощью резисторов эти входы подтягиваются к линии VCCIO, после включения модуля на этой линии появляется напряжение величиной 2,85В (макс. выход. ток 3 мА), тем самым обеспечивается безопасный логический уровень для линий ввода. Диоды предотвращают входы от перенапряжения.

В случае зависания модуля, имеется возможность аварийного выключения, для этого необходимо подать положительный импульс на линию EMERGENCY OFF (база транзистора VT2) длительностью 100 мс. После этого необходимо выдержать паузу в 5 секунд перед повторным включением, чтобы исключить возможность повреждения модуля.

“Общение” с модулем осуществляется с помощью стандартного интерфейса UART, линия MCU TX подключается к выходу передатчика управляющего устройства (микроконтроллер, компьютер), вывод MCU RX к входу приемника управляющего устройства.

Для снижения энергопотребления в модуле предусмотрен спящий режим, по умолчанию этот режим отключен, для его включения необходимо предварительно подать команду на разрешение спящего режима (at+enpwrsave=1). Затем необходимо установить низкий логический уровень на линии SLEEP, после чего, через 10-30 секунд модуль “заснет”. Во время “сна” модуль не реагирует на команды, поступающие по UART. Установка высокого логического уровня на линии SLEEP, выводит модуль из спящего режима в течение 50 мс. Если во время “сна” поступит SMS сообщение, данные от сервера, или входящий звонок, то модуль проснется и отправить соответствующее сообщение по UART, после чего управляющее устройство должно выставить высокий логический уровень на линии SLEEP, чтобы продолжить обмен данными. Если этого не произойдет, модуль автоматически уйдет в “сон” в течение 10-30 сек. В спящем режиме потребляемый ток составляет 2,5-3 мА.

При поступлении входящего вызова на линии RING появляются импульсы с низким логическим уровнем длительностью 30 мс, частота следования один раз в 5 секунд (в такт звуку гудка). При получении SMS сообщения, на линии появляется однократный импульс длительностью 25-35 мс. Данную линию можно использовать для генерации прерываний в управляющем устройстве.

Линии DCD (16-й вывод модуля), DSR (17-й вывод модуля) не используются, остальные выводы задействованы для подключения СИМ карты A2.

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

Чтобы поработать с модулем я подключил его к компьютеру с помощью USB-UART преобразователя. В качестве терминальной программы я использовал Terminal v1.9b by Bray. В программе необходимо выставить следующие настройки подключения: 8 бит данных, без проверки четности, один стоповый бит, управление потоком отключаем. По умолчанию модуль настроен на скорость 9600 бит/сек, также поддерживаются 1200, 2400, 4800, 19200, 38400, 57600, 115200 бит/сек.