Реализация GPS-канала в семействе модулей Enabler IIIG Enfora
GPS-модуль Enfora Enabler L GPS0401
Модуль Enabler L GPS0401 — это законченный 12-канальный GPS-приемник на базе однокристального микропроцессорного чипа TI 5350 NaviLink 5.0.
Модуль GPS0401 является одним из компонентов серии продукции eWiDE (Enfora’s Enhanced Wireless Intelligent Device Ecosystem).
В линейке продукции Enfora имеется совмещенный GPS/GSM-модуль MLG0208. Этот модуль хорошо зарекомендовал себя в изделиях различных производителей.
Совмещенные модули предназначены, в основном, для миниатюрных GPS/GSM-навигаторов и являются оптимальным вариантом для бытовых устройств, не содержащих внешнего микроконтроллера. Например, на базе модуля MLG0208-W-MT выпускается бытовой GPS/GSM-навигатор GSM2228.
Однако не является секретом тот факт, что устройства на базе совмещенных GPS/GSM-модулей имеют ряд ограничений при реализации дополнительных функций.
Проектировщики специального, профессионального оборудования предпочитают использовать раздельные GPS- и GSM/GPRS-модули. Это связано, с одной стороны, с проблемами чувствительности и наводок, а с другой — с недостатком управляющих AT-команд.
Цель создания собственного GPS-модуля Enfora — это добавление GPS-канала в существующие разработки на базе GSM/GPRS-модулей GSM0308 [1]. Выпуская на рынок новое устройство, фирма Enfora не пытается конкурировать с известными мировыми производителями GPS-модулей. Основная задача — это упростить процесс разработки с использованием согласованных GSM/GPRS- и GPS-модулей, управляемых с помощью единого набора AT-команд. При этом появляется возможность использовать все заложенные функции семейства Enabler IIIG и создавать новые АТ-команды с помощью функции Event Processing [1, 2].
Целесообразно отметить, что модули Enfora Enabler III GSM0308 — это последнее поколение, выпущенное на рынок в 2007 году.
Модуль Enabler IIIG GSM0308 изготовлен на базе нового однокристального чипа Texas Instruments “LoCosto”. Модель Enfora Enabler IIIG GSM0308 представляет собой 4-диапазонный GSM/GPRS-модуль 850/E-900/1800/1900 МГц. Выпускается также модель GSM0306, рассчитанная на работу в двух диапазонах 900/1800 МГц. Эти модули с размерами всего 27,0×28,0×2,5 мм и весом 3,6 г в настоящее время не имеют аналогов в мире. В модулях имеется встроенный TCP/IP-стек. Библиотеки HCI-интерфейса содержат программные блоки PPP, TCP, UDP, PAD, TCP, API, FRIEND и т. д. В серии Enabler IIIG увеличено до 20 число программируемых вводов/выводов [3].
Следует особо подчеркнуть, что модуль GPS0401 может работать только совместно с GSM-модулем GSM0308-W-MT Enfora.
В этой модели реализованы функции управления GPS-модулем Enabler L GPS0401. Модули GSM0308-W-MT и GSM0308 полностью идентичны по механическому исполнению и разъемам. Единственное и основное различие между модулями заключается в программном обеспечении. Модуль GSM0308-W-MT имеет специальное программное обеспечение, получившее название “MT-code”. Оно может быть установлено только на заводе-изготовителе.
Взаимодействие с GSM0308 осуществляется через I2C-интерфейс по AI2-протоколу Texas Instruments.
Внешний вид модуля показан на рис. 1.
Особенности модуля GPS0401:
- Минимальные габаритные размеры (12,8×8,3×2,5 мм).
- Минимальный вес 0,4 г.
- Минимальное энергопотребление (16 мА в рабочем режиме).
- Минимальное время старта (горячий 5 с, повторный захват 3 с).
- Максимальная чувствительность (-157,5 дБм в режиме слежения).
- Максимальная точность (1 м, CEP 50%).
- Простой и надежный интерфейс для связи с управляющим модулем.
Российские потребители хорошо знают GPS/GSM-навигаторы Enfora серии EII MT systems (GSM2208, GSM2218). Поэтому имеет смысл обратить внимание на отличия изделий, проектируемых на базе новых модулей GSM0308+GPS0401, по сравнению с серией EII MT systems.
В новой серии EIIIG оставлен один АЦП и вообще нет ЦАП. Одновременно увеличено до 20 количество GPIO (в старой серии их было всего 8). Шесть из этих GPIO зарезервированы для контроля модуля Enabler-L.
В модуле используется фильтр Кальмана, позволяющий выделять полезные сигналы спутника в условиях отражений от зданий, возвышенностей и т. д. Специальная схема усилителя мощности предназначена для работы с ультранизкими сигналами.
Основной протокол обмена данных GPS, установленный по умолчанию, — NMEA. Программно и аппаратно поддерживаются также протоколы GGA, GSA, GSV и RMC. Только аппаратно поддерживаются протоколы GLL, VTG.
В серии EIIIG используются новые средства персонализации в сети и дополнительной проверки IMEI. Это означает, что Enfora обеспечивает поддержку will provide an API DLL (dynamic link library) для крупных заказчиков. Это позволяет пользователю записывать специальные идентификационные данные SIM-карты (MEPD data) и свой персональный IMEI в память модуля.
Кроме того, введены новые АТ-команды для управления каналом GPS (AT$GPSCMD, AT$GPSCFG0).
Технические характеристики GP0S401
Этот модуль оптимизирован для работы с серией Enabler III. Поэтому для его интеграции в системы навигации Enfora GPS-GSM/GPRS не требуется специальное ПО и внешние компоненты. Модуль использует то же питание, что и серия Enabler III.
Для связи с внешними устройствами используется разъем LGA (Land Grid Array), предназначенный для пайки непосредственно на печатную плату. Выводы под пайку размещены на корпусе модуля.
Среди прочих, выведенных на этот разъем, можно отметить следующие полезные управляющие сигналы:
- активизация GPS;
- перезапуск GPS;
- интерфейс I2C для обмена данными;
- вход GPS-антенны (50 Ом);
- сигнал активизации хост-процессора;
- контроль режима передачи.
Модуль GPS0401 достаточно просто подключается к базовому модулю GSM0308.
Рекомендуемая схема подключения приведена на рис. 2.
Название и краткое описание сигнальных линий, связывающих оба модуля, приведены ниже.
TIMESTAMP_DRDY, TIMESTAMP_DRDY — используется для активизации GPS-модуля. Данный сигнал контролируется модулем Enabler IIIG в течение инициализации GPS-модуля, а также во время исполнения команды AT$GPSCMD. Этот вывод GPS0401 подключен к GPIO6 Enabler IIIG через RF-фильтр.
CLK32KHZ — тактовая частота подается через RF-фильтр с вывода CLK32K_BUF Enabler IIIG на GPS-модуль.
GPS_RESET — перезапуск цифровой части модуля GPS0401. Сигнал подается с GPIO3 Enabler IIIG.
I2C Interface — стандартный двухпроводной интерфейс с двумя режимами работы (100 и 400 кбит/с). Этот двунаправленный интерфейс предназначен для обмена данными между GPS- и GSM-модулями.
GPS_ANT-RF — вывод для подключения антенны. К этому выводу могут быть подключены как пассивная, так и активная антенны. В качестве пассивной рекомендуется использовать patch-антенну. Длина проводника, соединяющего этот вывод с антенной, не должна превышать 8 см, а его сопротивление должно быть 50 Ом. При использовании активной антенны необходимо обеспечить дополнительное питание. Схема питания активной антенны приведена в [4]. Плата питания активной антенны дополнительно может быть включена в комплект поставки.
EN_RFSUPPLY — питание радиочастотной части GPS-модуля. Подключается к VRIO Enabler IIIG через нагрузку 10 кОм.
EN_DIGSUPPLY — питание цифровой части GPS-модуля. Подключается к VRIO Enabler IIIG через нагрузку 10 кОм.
GCLK_REQ — сигнал для активизации хост-процессора. Этот вывод подключается к GPIO1 Enabler IIIG через нагрузку 10 кОм.
PA_ON — сигнал оповещения GPS-модуля о том, что GSM-модуль занят и находится в режиме передачи дополнительной информации. Этот сигнал позволяет GPS-модулю быстро возобновить свою работу сразу после того, как GSM-модуль закончит «постороннюю» передачу. В качестве примера использования этой опции можно привести сотовый телефон с GPS-функцией. Сигнал подается через RF-фильтр (рис. 2). В качестве фильтра рекомендуется использовать Murata NTA21SL30ZX1A48L.
При разработке печатной платы следует учитывать тот факт, что GPS-сигнал, принимаемый модулем, очень слабый, и шумы, радиочастотные и электромагнитные наводки могут полностью его заблокировать. Поэтому модуль GPS0401 нужно размещать на плате максимально удаленно от потенциальных источников подобных помех. Немаловажное значение имеет топология и взаимное расположение GPS0401 и GSM0308 модулей на плате. Подробные рекомендации по разработке печатной платы приведены в [4].
Управление модулем Enabler L с помощью АТ-команд
Управление GPS-модулем GPS0401 осуществляется GSM-модулем GSM0308 с помощью специальных АТ-команд. Более детально эти АТ-команды описаны в [5].
Наиболее мощной и важной командой является команда $EVENT, предназначенная для обработки событий. Модуль Enabler IIIG может быть запрограммирован таким образом, чтобы постоянно контролируемые внешние события вызывали бы определенного рода ответные действия модуля.
В качестве входных могут быть использованы, например, следующие группы событий:
- GPS-расстояние;
- GPS-максимальная скорость;
- GPS-регион (5 заданных точек с фиксированными координатами центра и радиусом);
- GPS-спутник (действующий, недействующий);
- состояние вводов/выводов (GPIO);
- питание (включено/выключено);
- регистрация GSM/GPRS (процесс регистрации, работа в домашней сети, роуминг, нет регистрации);
- сетевые IP-события (нет IP, первый IP, новый IP, нет IP при переключении, действующий IP при переключении);
- входящее SMS-сообщение;
- часы реального времени;
- таймер событий;
- счетчик событий.
В качестве реакции модуля (выходных событий) рассматривается тот же набор, что и для входных событий — UDP/SMS-сообщения, состояние I/O, сетевые события и др.
Структура команды выглядит следующим образом: AT$EVENT=<event group>, <event Response type>, <event category>, <parm1>, <parm2>.
Первый параметр — “Event group” — определяет группу событий. Все события могут быть дополнительно разбиты по отдельным группам, которые будут обрабатываться поочередно. Данный параметр определяет очередность обработки заданных событий.
Кроме единичных событий можно задать также и множественные, последовательные события, такие как «Состояние вводов/выводов» и «Сетевые IP-события» и т. д. Множественные события внутри одной группы должны рассматриваться как логическое условие «и».
Второй параметр — “Event Response type” — определяет тип события: «Входное» (Input) или «Выходное» (Output). Этот параметр может принимать значения от 0 до 3.
Третий параметр — “Event category” — описывает конкретные входные и выходные события. Параметр может принимать значения от 0 до 255. Часть из этих значений задействована, а часть зарезервирована.
Четвертый и пятый параметры — “Parm1” и “Parm2” — задают диапазон входных событий и тип выходных событий. Их нельзя рассматривать в отрыве категории событий. «Входные события» разделены на три основных класса: “Transition trigger”, “Occurrence trigger”, “Input trigger”. Такая градация позволяет определить «истинность» и «ложность» входного события и исключить возможность случайного появления выходного события.
Некоторые команды из таблицы 2 требуют дополнительных пояснений.
Включение спящего режима GPS-модуля задается командой AT$GPSCFG.
Формат команды AT$GPSCFG = <apm>, <elev>, где <apm> — опция управления энергопотреблением, позволяющая переводить модуль в экономичный режим энергопотребления (значения 0 — «Выключено» и 1 — «Включено »); <elev> — минимально допустимый угол склонения (значения от –89 до +89 °С).
При выходе из зоны видимости спутника GPS-модуль переводится в спящий режим.
Например, команда AT$GPSCFG = 1,10 включает спящий режим в том случае, если угол склонения будет меньше 10° по отношению к идеальному горизонту.
С помощью команды AT$GPSCMD осуществляются начальные установки режимов работы GPS-модуля.
Формат команды AT$GPSCMD = <cmd>, где параметр <cmd> может принимать значения от 0 до 3.
Эти значения соответствуют перечисленным далее режимам работы:
- 0 — GPS-модуль выключен (полностью снято питание модуля);
- 1 — холодный старт (модуль начинает поиск спутников);
- 2 — горячий старт (возможен в том случае, если сохранились эфемериды, альманах и координаты);
- 3 — прекращение работы со спутником в целях уменьшения энергопотребления.
Подробно АТ-команды для серии Enabler III рассмотрены в [6].
Отладочный комплект Enabler-L
Отладочный комплект для модуля GSM0401 поставляется в двух вариантах.
В полный комплект поставки входят:
- SDK0308MG700 Development Board — отладочный комплект для модуля GSM0308;
- модуль GSM0308-W-MT;
- SDK0401 Daughter Board — отладочная плата для модуля GPS0401;
- модуль GPS0401;
- комплект технической документации на CD.
Пользователи, имеющие опыт работы с модулем GSM0308, могут заказать отдельно плату SDK0401 и использовать ее для добавления GPS-канала Enabler L в свои готовые изделия, выполненные на базе Enabler IIIG. Эта плата выпускается с напаянным модулем GPS0401 (рис. 3).
Следует учитывать, что при этом модуль GSM0308 обязательно должен иметь прошивку W-MT. В этом случае нужно также заказывать и модуль GSM0308-W-MT. Подчеркнем, что самостоятельно добавить MT-прошивку в имеющийся модуль нельзя.
В полной комплектации плата SDK0401 монтируется на отладочную плату SDK0308MG700 (рис. 4) через специальные разъемы.
Допускается монтаж платы SDK0401 на отладочные платы SDK0119MG701 и SDK0119MG702. Однако в этом случае необходимо будет сделать некоторую доработку плат (выпаять несколько резисторов и переключателей, поставить дополнительные перемычки). Подробно эти доработки описаны в [7].
К модулю GPS0401 можно подключить как активную, так и пассивную антенны. На отладочной плате SDK0401 имеется планарная, пассивная антенна. По умолчанию она постоянно подключена к модулю. Кроме того, через SMA-разъем можно подключить внешнюю, активную антенну. На этот разъем от платы подается питание для активной антенны 3,3 В. Выбрать тип антенны можно с помощью переключателя.
Отладочная плата SDK0308MG700 предназначена для работы с модулем GSM0308. На эту плату можно устанавливать как модули с держателем SIM-карты, так и без него. В последнем случае используется держатель SIM-карты, размещенный непосредственно на отладочной плате.
Для работы с аудиоаксессуарами на отладочной плате имеется 4-контактный разъем для подключения стереогарнитуры и отдельные разъемы для микрофона и динамика. Режимы работы аудиосистемы конфигурируются с помощью команд AT$VSELECT = 0 (handset) и AT$VSELECT = 1 (headset).
Для контроля работы GPIO 7, GPIO 8 и GPIO-events используется светодиодная индикация. Выбор режимов работы осуществляется с помощью DIP-переключателей. Следует учитывать, что GPIO 1-6 используются для контроля GPS0401 и не могут быть модифицированы пользователем.
Каждый из регулируемых GPIO может быть установлен в высокое или низкое состояние с помощью DIP-переключателя.
Соответствующим GPIO можно присваивать статус входного или выходного вывода с помощью команды AT$IOCFG. Кроме того, их можно подключать через DIP-переключатели к той или иной линии.
Для каждого GPIO имеется контрольный светодиод, который загорается, когда GPIO переключается в высокое состояние.
Плата SDK0308 оснащена стандартным последовательным портом RS232 и отладочным USB-портом. Каждая линия RS232 контролируется с помощью своего светодиода.
Порт USB используется исключительно в целях конфигурирования модуля Enabler и не может быть использован для связи с внешними устройствами.
Для питания отладочной платы используется напряжение в диапазоне 4,5–9 В.
Более подробно отладочный комплект описан в [7].
Заключение
Благодаря специальной ориентированности на рынок системных интеграторов, продукция фирмы Enfora завоевывает все большую популярность у этой категории покупателей во всем мире. Во многом это связано с хорошо продуманным «нишевым» направлением, которое позволяет максимально быстро и с наименьшими затратами внедрять GSM/GPRS/GPS-модули и терминалы Enfora в сложные беспроводные системы.
- Алексеев В. Функция «Обработка событий» в GSM/GPRS-модулях фирмы Enfora // Беспроводные технологии. 2008. № 2.
- Event Processing Commands 2008.
- Алексеев В., Тжоя Т. Новые модули и модемы GSM/GPRS/EDGE фирмы Enfora с расширенными возможностями базового ПО // Беспроводные технологии. 2008. № 1.
- Enfora Enabler IIIG Supplementary Integration Guide for Use with the Enabler L Module (GPS0401).
- Enfora Enabler-L Mobile Tracker AT Command Set Reference Release 0.01. 2008.
- Enfora Enabler III Supplementary AT Command Set Reference for Use with Enabler L Release 1.00
- Enfora Enabler L Module SDK Guide Revision 1.00. 2008.