HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL
РадиоЛоцман - Все об электронике

Особенности применения GSM-модулей и беспроводных процессоров Sierra Wireless

Sierra Wireless, Wavecom, Sierra Wireless

Тимур Ташпулатов (Лаборатория СМАРТ)

Статья ведущего инженера лаборатории СМАРТ представляет собой инструкцию по использованию программного комплекса Open AT и ряд полезных замечаний для разработчика, впервые применяющего GSM-модули и беспроводные процессоры Sierra Wireless из линейки Wavecom. Лаборатория СМАРТ – петербургский инженерный центр по применению беспроводных технологий и официальный партнер компании КОМПЭЛ по инженерным решениям на базе модулей Sierra Wireless/Wavecom.
Модули Sierra Wireless/Wavecom прекрасно работают в качестве обычных GSM/GPRS-модемов, но только с использованием технологии Open AT их потенциал раскрывается полностью. Open AT - мощный инструмент, позволяющий пользователю создать приложение, которое будет выполняться в модуле, не требуя никаких дополнительных внешних элементов (микроконтроллера или процессора с обвязкой). Функционал такого приложения может быть практически неограниченным - от приема-передачи SMS и данных по GSM/GPRS до организации обмена через интерфейсы RS-232, по шинам I2C и SPI, а также ввода-вывода через линии GPIO и ADC.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Инструменты для разработки приложений Open AT (рис. 1) свободно доступны после несложной процедуры регистрации на сайте http://www.sierrawireless.com.

Среда разработки 

Рис. 1. Среда разработки

В комплекте поставляются примеры программ и необходимая документация. Большинство примеров написано с использованием библиотеки ADL, дающей пользователю возможность высокоуровневого доступа ко всем необходимым ресурсам модема - памяти, портам ввода-вывода и даже управлению вычислительной мощностью/потреблением процессорного ядра. Большое количество примеров применения можно найти на сайте Sierra Wireless (табл. 1). Примеры применения (application Notes) поясняют различные аппаратные и программные аспекты и рассчитаны на разработчиков разной степени подготовки. Примеры сопровождаются исходными текстами кода и принципиальными схемами.

Таблица 1. Список примеров применения Wavecom

Наименование

Уровень
сложности

Снижение эффекта эха для серии Q26 и WMP Acoustic Echo Cancellation for Q26_WMP Series

Средний

Добавление контрольной суммы к бинарному файлу при работк с Linux Adding Checksum to a binary file using Linux

Повышенный

Диагностирование антенны Antenna Diagnosis

Средний

Антенный ключ Antenna Switch

Средний

Конструкция аудиофильтра для серии Q26 Audio Filter Design for Q26_WMP Series APN and tool

Повышенный

Автоматическое соединение посредством TCP-сокета Auto TCP Socket Data connection

Средний

Интерфейс Bluetooth, версия 3 Bluetooth Interface v3

Средний

Возможности CMUX, версия 3 CMUX Feature v3

Повышенный

Управление вызовом с помощью клавиатуры Call Management with Keypad

Начальный

Блокировка Ячейки Cell Lock

Начальный

Вычисление контрольной суммы для ОС Х4х Checksum calculation algorithm for OS X4x series

Повышенный*

Среда разработки Open AT® 3: создание новой мелодии Open AT® 3: Creation of new Melody

Начальный

Функционал DOTA_Open AT® v2.1x DOTA_Open AT® v2.1x

Начальный

Функционал DOTA_Open AT® v3.0x DOTA_Open AT® v3.0x

Начальный

Организация питания от двух источников энергии Dual Power Supply

Средний

Пример подключения двух СИМ-карт Dual SIM Application Note

Средний

Вариант зарядки внешней батареи External Battery Charging Solution

Средний

Библиотека математики с плавающей точкой Floating Point Arithmetic Library

Начальный

Графическое ядро и драйвер ЖКИ Graphical Engine & LCD Driver

Средний

Организация режима «Громкой связи» Hands Free Speaker Phone

Средний

Включение питания на модулях новой серии Q24 New Q24 Series Power On

Начальный

Среда разработки Open AT® 3: усовершенствованные методы компиляции Open AT® 3: Advanced Compilation

Повышенный

Советы по компиляции приложения Open AT Open AT® Application Compilation Tips

Средний

Среда разработки Open AT® 3: распределение памяти Open AT® 3: Memory Mapping

Начальный

Библиотека генерации периодических импульсов Open AT® 3: Periodic Pulse Generation Library

Повышенный

Среда разработки Open AT® 3: управление исполнением программы Open AT® 3: Using Flow Control Manager

Повышенный

Пример применения решения C-GPS Opus I Opus I C-GPS Application Note

Начальный

Пример применения решения Opus III C-GPS Opus III C-GPS

Начальный

Пример приема и отправки MMS MMS Sample Application

Средний

Использование PPP в среде Linux PPP using Linux

Начальный

Различные режимы потребления энергии Power Consumption Modes

Повышенный

Включение режима пониженного энергопотребления с помощью Open AT Power Down Mode Activation Using Open AT®

Начальный

Пример использования Q52 в режиме слежения с помощью API Open AT Q52 Omni Tracking Application Note

Средний

Пример использования RTC RTC Open AT® API usage

Начальный

Загрузка данных с помощью SMS SMS Data download

Начальный

Прием и отправка факсов, версия 2 Sending Receiving Faxes v2

Начальный

Использование COM PC-карт для скоростного обмена данными Serial Cards for High Speed Transfer

Начальный

Временная синхронизация NTP – SNTP Time Synchronisation (NTP – SNTP)

Начальный

Настраиваемая антенна диапазона 900/1800 МГц в виде проводников печатной платы Tunable PCB Antenna 900/1800

Повышенный*

Настраиваемая антенна диапазона 850/1900 МГц в виде проводников печатной платы Tunable PCB Antenna 850/1900

Повышенный*

Исподьзование FCM flow в приложении Open AT Using FCM flow in an Open AT® Application

Повышенный

Использование TCP и UDP в среде разработки Open AT® Using TCP and UDP in OpenAT®

Повышенный

Управление дежурным таймером сброса Watchdog timer reset

Средний

Отладка беспроводных процессоров WMP с помощью JTAG WMP Family JTAG Debug Application Note 001-002

Средний

Общие документы по применению (старый формат представления)

Создание библиотеки в среде разработки Open AT® 2.x Creating an Open AT 2.x Library

Начальный

Модифицированные AT-команды и API-интерфейс для UART2 Modified AT commands and API Interfaces for UART2

Начальный

Организация режима «Громкой связи» в среде OS 6.43 OS 6.43 Hands Free Audio

Средний

Среда разработки Open AT® 3: компиляция Open AT® 3: Compilation

Начальный

Конфигурация TCP/IP параметров в среде разработки Open AT® Open AT® TCP/IP Parameter Configuration

Начальный

Портирование задачи Open AT из библиотеки WM в библиотеку ADL Porting Open AT application from WM library to ADL library

Средний

Режим «Dead Reckoning» в Q2501 Q25 Dead Reckoning

Начальный

Пошаговая инструкция для создания DWL-файла для Open AT ADL задачи Steps to create a DWL file for Open AT ADL application

Начальный

Приостановка и возобновление задачи Open AT с помощью режима прерываний Suspending & resuming Open AT applications with interrupt mode

Начальный

Интерфейс USB 1.1 USB 1.1 Interface

Средний

Интерфейс USB 2.0 USB 2.0 Interface

Средний

Использование AT-команд для GPRS, PLMN, AEC, Battery & USSD AT implementation of GPRS, PLMN, AEC, Battery & USSD

Начальный

* Предоставляется на условиях подписания соглашения о нераспространении.

Начинающему разработчику приложения Open AT потребуется некоторое усилие, чтобы привыкнуть к особенностям новой для него архитектуры. Прежде всего, приложение Open AT выполняется процессорным ядром модуля в режиме кооперативной многозадачности. Это накладывает определенные ограничения на структуру разрабатываемого приложения. Так как монопольный захват процессора на длительное время может привести к срабатыванию сторожевого таймера и перезагрузке всего модуля, требуется более творческий подход в организации длительных циклов ожидания какого-либо события, или инициализации больших массивов и структур данных.

Например, часто встречающаяся ошибка - попытка инициализации в цикле относительно небольшого количества (нескольких десятков) ячеек flash-памяти. Казалось бы, общее время выполнения цикла невелико, но почему-то удается проинициализировать только первый десяток-другой ячеек, а на обращение к остальным ячейкам выдается код ошибки. Причина в том, что доступ к flash-памяти недостаточно быстрый, и требуется разнесение обращений к каждой последующей ячейке как раз на время, требуемое для завершения операций над предыдущей. Вставлять циклы ожидания, как отмечалось выше, небезопасно. Правильней будет завести в приложении циклический таймер с периодом срабатывания в несколько десятков или сотен миллисекунд и выполнять инициализацию очередной ячейки в его обработчике.

Прежде чем использовать в своем приложении доступ к линиям GPIO, следует убедиться в том, что они вообще могут быть доступны программным способом.

Некоторые линии GPIO могут выполнять различные функции (мультиплексироваться) в зависимости от конкретного типа модуля и его настроек - например, в модуле Q2686 линии GPIO14 и GPIO15 задействуются как сигналы CT103/TXD2 и CT104/RXD2 при работе с UART2, и использовать их под свои нужды без отключения UART2 невозможно. Разумеется, также невозможно использовать линии GPI для вывода, а линии GPO - для ввода.

Если линия GPIO доступна для работы и на ввод, и на вывод, убедитесь, что правильно сконфигурировали направление (ввод либо вывод) перед обращением к ней.

При работе с UART (RS-232) следует помнить, что принимаемые данные будут поступать в обработчик не байт за байтом, а различного размера порциями, но не более 120 байт за раз. Происходит это вследствие внутренней буферизации входного потока в ОС модуля, и логику обработки поступаемых в приложение данных следует строить с учетом этой особенности.

Большим подспорьем при отладке приложения Open AT являются так называемые трейсы (traces) - отладочные сообщения (рис. 2), выводимые при помощи специальных макросов TRACE и DEBUG с уровнем 1 в программе TMT (Target Monitoring Tool).

Программа TMT 

Рис. 2. Программа TMT

Можно включить другие уровни, получив, таким образом, возможность наблюдать за богатым внутренним миром модуля - процессами запуска и остановки таймеров, ввода-вывода, выделения и освобождения памяти и так далее. Помимо группы CUS4, куда относится вывод TRACE и DEBUG, есть и другие группы, которые могут оказаться полезными при поиске проблем в приложении. Программа TMT позволяет снимать и записывать в файл отладочные сообщения, которые могут впоследствии анализироваться специалистами Wavecom при разборе особенно сложных случаев. Для снятия трейсов может использоваться USB-интерфейс (для Q268x) или второй последовательный порт беспроводного процессора.

О «железе»

При использовании готовых (корпусированных) модемов или модулей Sierra Wireless/Wavecom следует соблюдать рекомендованные условия применения - температурный диапазон, требования к источнику питания. Если вы собираетесь использовать модуль в своем изделии, внимательно изучите документацию на конкретную модель, в частности, документ под названием CDG (Customer Design Guidelines). Этот документ дает рекомендации и общие соображения по применению модулей Sierra/Wavecom, включая конкретные примеры решений и типовые схемы узлов, в частности:

  • по построению радиочастотной части,
  • по разводке печатной платы,
  • по подключению аналоговых (микрофон, динамик) и цифровых (UART, GPIO, клавиатура и т.д.) цепей,
  • по чертежам и посадочным габаритам модуля,
  • по тестированию и загрузке (обновлению) программного обеспечения.

Очень важно соблюсти все требования к источнику питания (минимальное и максимальное напряжение, возможность выдерживать значительные по силе кратковременные выбросы потребляемого тока, допустимый уровень пульсаций), так как это впоследствии избавит разработчика от плохо обнаруживаемых и на первый взгляд бессистемных сбоев в работе спроектированного устройства.

Дополнительный способ проверки правильности схемотехники - это заказ бесплатной услуги анализа схемы на Sierra Wireless. Результатом анализа является документ, в котором по пунктам перечисляются найденные ошибки, отклонения от допустимых режимов, «опасные» места с точки зрения потенциальных проблем по ЭМС. Имея огромный опыт работы с GSM-продуктами, инженеры Sierra Wireless помогут найти оптимальное решение и избежать лишних шагов при производстве прототипов изделия. Информация может быть предоставлена в виде электрических принципиальных схем и топологии печатной платы в каких-либо широко распространенных форматах: например, можно просто конвертировать чертежи в файлы PDF. Экспертный анализ выполняется в срок от нескольких дней до двух недель.

О прошивке

Время от времени Sierra Wireless выпускает обновления прошивок для своих модемов.

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

Не стоит гнаться за модой и ставить себе самую последнюю вышедшую прошивку. Сперва изучите список того, что было исправлено в новой версии, обычно список таких исправлений есть в прилагающемся к обновлению документе Release Notes. Если в этом списке есть и ваша проблема (или похожая на нее) - обновляйтесь. Если нет - подумайте еще раз. Вполне возможно, что вместе с исправлениями прошлых ошибок в новом обновлении могли затесаться какие-либо новые. И хотя вероятность этого крайне мала, все же оцените - стоит ли игра свеч?

Обновить прошивку в модеме очень просто - в любой программе-эмуляторе терминала с помощью команды AT+WDWL по протоколу XMODEM. Процедура обновления может занять несколько минут, при этом прерывание процесса крайне нежелательно. Впрочем, если это все же произошло, и модем перестал подавать признаки жизни, ничего страшного - модем всегда можно восстановить с помощью утилиты DwlWin.

Общие соображения

АТ-команды - это первое, с чем сталкивается любой разработчик, который ранее никогда не работал с GSM-технологиями. Несмотря на то, что полное описание AT-команд занимает сотни страниц, для начала практической работы необходимо изучить и понять, как работают два-три десятка ключевых команд. Для тех, кто только начинает знакомиться с азами передачи информации c помощью GSM, большим подспорьем может оказаться программа Expresso. Expresso автоматически обнаруживает подключенный к ПК GSM-модуль (рис. 3), позволяет «в один клик» прочитать основные параметры устройства, отправить СМС или совершить голосовой звонок.

Рис. 3. Программа Expresso

В специальном окне можно видеть все отправляемые на модуль AT-команды, связанные с тем или иным действием пользователя. Имеется также возможность набора AT-команд в обычном текстовом виде. Доступная бесплатная версия программы позволяет работать с модемами Fastrack Go и Fastrack Supreme, модулями серии Q26 и WMP100.

Если вы столкнулись с проблемой - нештатным поведением модема или модуля, либо реакцией, отличающейся от описанной в документации, то, прежде всего, попробуйте ее решить, исходя из здравого смысла и житейского опыта:

  • проверьте питание, при возможности- замените источник питания на более мощный;
  • проверьте антенну. Если с антенной все в порядке, убедитесь в наличии хорошего покрытия оператора сотовой связи. Можно для этой цели использовать команду AT+CSQ, или ее вариант в циклическом режиме AT+CCED=1,8. Может оказаться, что слабого сигнала базовой станции AT+ хватает на прием SMS или голосовой звонок, но для надежной работы GPRS его недостаточно- убедитесь, что SIM-карта вставлена и не требует PIN-кода (или же он введен правильно), что на счете достаточно средств и включена услуга передачи данных. Если есть возможность, попробуйте поставить другую SIM-карту, а еще лучше- SIM-карту другого оператора.

Если вы разрабатываете приложение Open AT, то:

  • внимательно читайте документацию;
  • изучайте примеры, входящие в пакет Open AT ;
  • неплохой способ создания своего приложения- взять подходящий пример и его творчески переработать;
  • ответственно относитесь к результатам, возвращаемым вызовами API Open AT (ADL и WIP);
  • если вы еще не зарегистрировались на сайте http://www.sierrawireless.com, сделайте это. Форум разработчиков- неоценимый источник информации практически по всем аспектам применения продукции Sierra Wireless/Wavecom;
  • еще раз проштудируйте документацию.

Если проблему устранить не удается, тогда смело обращайтесь в службу поддержки. Максимально подробно опишите, в чем именно состоит проблема, присовокупив как можно более детальное описание модема (модуля) с указанием версии прошивки, настроек и условий, при которых проблема возникла, а также действий, которые предпринимались для ее решения.

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

Будьте уверены, вам ответят. 

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя