В последнее время, с появлением миниатюрных приемников GPS и массовым распространением смартфонов, получили широкое распространение миниатюрные керамические чип-антенны размером в несколько миллиметров и весом в доли грамма. Такие антенны производятся по технологии, схожей с изготовлением микросхем и подстраиваются лазером в момент изготовления.
Несмотря на миниатюрные размеры, чип-антенна в сочетании с современными микросхемами приемника практически не уступает по параметрам обычным антеннам, но стоит несколько дороже и, как правило, применяется в составе готовых миниатюрных модулей GPS.
Поток данных GPS, протокол NMEA
Навигационный модуль передает поток данных в полетный контроллер по последовательному интерфейсу UART (СОМ) или I 2С. В любом случае структура и содержание этих данных соответствуют протоколу NMEA0183 (National Marine Electronics Assotiation). Это стандарт текстового обмена данными и командами посредством ASCII-символов, созданный для морского навигационного оборудования. В настоящее время внедряется стандарт NMEA 2000.
Модуль GPS передает строковые сообщения, содержащие различный набор данных: широта, долгота, скорость, курс, системное время, количество спутников и т. д. Сообщения делятся на несколько видов, формат которых содержит в своих полях строго определенную информацию.
Владельцу коптера, как правило, не приходится работать с "сырыми" данными GPS, но для общей эрудиции полезно знать их структуру. В общем случае строковое сообщение приемника имеет такой вид:
$GPRMC,hhmmss. sss, A,GGMM.MM, P, gggram.mm, J, v.v,b.b,ddmmyy,x.x,n,m*hh
$— с этого символа начинается каждое сообщение
GPRMC— первые две буквы — это идентификатор системы, остальные три — это идентификатор формата сообщения, от которого зависит содержимое остальной строки. В нашем случае GP— GPS ( GL— ГЛОНАСС, GA— GALILEO и т. д.)
RMC— рекомендованный минимум навигационных данных. Содержит данные о широте, долготе, дате, времени и скорости. Эти данные приемный модуль передает по умолчанию после старта. По запросу контроллера также передаются данные типа GGAи GSAоб активных и наблюдаемых спутниках, а при движении по заданному маршруту некоторые контроллеры могут запрашивать строки типа GPL, BODи RMB, содержащие параметры заданных точек и рекомендуемый минимум навигационных данных для достижения заданной точки. Полный список форматов достаточно велик, и с ним можно ознакомиться в спецификации NMEA. Некоторые изготовители добавляют в перечень форматов собственные строки, несущие информацию о состоянии приемника, версии прошивки, напряжении питания и т. д. Далее следует набор навигационной информации, подробное описание которой также можно прочесть в спецификации.
Внимание!
Дробные значения широты и долготы в "сыром" потоке данных NMEA представлены десятичной дробью минут, а не секундами! Если эти значения ввести в строку поиска Google Maps, то местоположение на карте будет на несколько километров отличаться от истинного. Необходимо поделить дробные части широты и долготы на 60, чтобы получить значения секунд. Программы для работы с GPS не нуждаются в такой подготовке данных и отображают координаты правильно.
Протокол U-BLOX (UBX)
Протокол U-BLOX (binary UBX) — это проприетарный бинарный протокол, разработанный и применяемый швейцарской компанией u-blox AG, известным производителем модулей и программного обеспечения для навигационного и коммуникационного оборудования.
Поскольку навигационные приемники на основе модулей U-BLOX NEO 6 и U-BLOX NEO 7 получили широкое, почти монопольное распространение в авиамоделизме, прошивки полетных контроллеров поддерживают как протокол UBX, так и NMEA.
В целом, спецификация приемников U-BLOX предоставляет разработчику очень широкий диапазон возможностей для обмена данными между приемником и потребителем. Например, реализован протокол DDC (Display Data Channel), совместимый со стандартом I 2С. Это позволяет подключать приемник к контроллеру по шине I 2С в случае нехватки свободных СОМ-портов. Также протокол DDC допускает выборочное чтение регистров приемника и запись в них.
Но если говорить о любительском применении в квадрокойтерах, то дополнительные возможности протокола UBX не используются, поскольку полетный контроллер использует лишь минимальный набор стандартных данных GPS. Подключение по шине I 2С может создать проблемы даже достаточно опытному пользователю.
Читать дальше