Меню Рубрики

Nmea сообщения. Эмулятор данных с GNSS приемника по протоколу NMEA

  • Речные портативные УКВ радиостанции
  • Прочие станции УКВ
  • Приемники Navtex
  • РЛО / SART
  • Стационарные станции УКВ
    • Морские станции
    • Речные станции
    • Прочие
  • Морское радиооборудование – оборудование, предназначенное для охраны человеческой жизни на море, обеспечения безопасности мореплавания, управления работой флота и передачи общественной и частной корреспонденции. Для эффективного использования радиооборудования на судах необходимо знать его принципы построения, технические характеристики и особенности эксплуатации. В зависимости от района плавания к морскому радиооборудованию выдвигаются различные требования.

    А1 – в зоне действия береговых УКВ-радиотелефонных станций с использованием ЦИВ.
    А2 – в зоне действия ПВ-радиотелефонных станций с использованием ЦИВ, исключая район А1.
    А3 – в зоне действия спутников ИНМАРСАТ, исключая районы А1 и А2.
    А4 – за пределами районов А1, А2, А3.
    Таким образом, радиооборудование на судне состоит из трех комплексов: аппаратура УКВ-диапазона, аппаратура ПВ/КВ-диапазона и судовая земная станция (СЗС) системы ИНМАРСАТ. Вне зависимости от районов плавания на каждом судне должны быть установлены: УКВ-радиоустановка, РЛО (радиолокационный маяк-ответчик), приемник НАВТЕКС, АРБ (аварийный радиобуй), портативные аварийные УКВ-радиостанции.

    Радиооборудование на судне должно удовлетворять требованиям ГМССБ, указанным в правилах РМРС (Российского Морского Регистра Судоходства) и РРР (Российского Речного Регистра). На каждом судне должен быть размещен запасной источник питания, с помощью которого радиооборудование могло бы обеспечивать связь при бедствии в случае поломки или повреждения главного и аварийного источников энергии. При переходе от одного источника питания к другому, должна срабатывать световая и звуковая сигнализации. Для работы и ремонта оборудования предоставляется техническое обслуживание, которое выполняет следующие процедуры: доставка до места установки, хранение (при необходимости) и установка. Все эти этапы должны выполняться в соответствии с инструкциями в технической документации.

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

    На судах водоизмещением свыше 500 р.т. должно быть не менее трех УКВ переносных станций и двух радиолокационных ответчиков. На судах водоизмещением от 300 до 500 р.т. - две станции и 1 РЛО. Также рекомендуется оборудовать суда аппаратурой для приема факсимиле.

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

  • НАВИГАЦИЯ
    • Компасы гироскопические
    • Компасы магнитные
    • Картплоттеры
    • Лаги
    • Метеодатчики
    • Приемники ГНСС GPS/GLONASS
    • Радиолокационные станции
    • Репитеры
    • СКДВП (BNWAS)
    • Регистраторы данных рейса РДР/У-РДР
    • Автоматическая идентификационная система (АИС)
    • Системы приема внешних звуковых сигналов
    • Сонары
    • Спутниковый компас
    • Эхолоты
    • Авторулевые
    • Электронная картография
  • СПУТНИКОВАЯ СВЯЗЬ
    • FleetBroadband
    • Inmarsat LRIT, SSAS (ОСДР, ССОО)
    • Iridium (Иридиум)
    • Спутниковое телевидение
    • Терминалы BGAN
    • Терминалы VSAT

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

    На судах, поднадзорных классификационным сообществам, используется как обязательное к установке спутниковое оборудование, так и как дополнительное. На небольших судах, катерах, яхтах, спутниковое оборудование используется по усмотрению владельцев и в основном для выхода в интернет.

    Типы оборудования:

    Терминалы Inmarsat LRIT, SSAS (ОСДР, ССОО) – это морское спутниковое оборудование, обязательное для установки на пассажирские, коммерческие и грузовые суда с районами плавания А2, А3, А4.
    - Судовая Система Охранного Оповещения - позволяет отправлять скрытый сигнал тревоги в случае нападения на судно. ОСДР или LRIT - это система опознавания судов и слежения за ними на дальнем расстоянии.
    - Терминалы FleetBroadband – это оборудование морской системы спутниковой связи, дающие широкополосный выход в интернет, обеспечивающие спутниковую телефонную связь, передачу SMS сообщений.
    - VSAT – оборудование, обеспечивающее высокоскоростную передачу данных через спутниковый интернет, что позволяет организовывать даже видеоконференции на борту.

    Так же для этих целей используются терминалы BGAN, отличающиеся от оборудования FBB и VSAT компактностью, мобильностью и скоростью связи.
    Из узкоспециализированного спутникового морского оборудования на судах используются: станция спутниковой связи, антенна приема TV сигнала и, для дальних районов плавания и телефоны, работающие через спутниковые системы связи таких операторов, как Iridium, Inmarsat и Thuraya.

  • АВТОМАТИКА
    • Кренометры
    • Системы автоматики NAVIS
    • Системы автоматики Praxis
    • Системы автоматики МРС
    • Системы контроля расхода топлива
    • Датчики
    • Системы автоматики АБС
    • Системы автоматики Валком

    1. Обслуживание, сервис и ремонт судовой электроавтоматики:
    - автоматика систем дистанционного управления главных двигателей;
    - автоматика судовых электростанций;
    - ремонт и настройка систем ГЭУ;
    - ремонт, наладка и проверка автоматики и аварийно-предупредительной сигнализации главных двигателей (Wartsila, MAN, MAK, SKL);
    - ремонт, наладка и проверка автоматики и аварийно-предупредительной сигнализации вспомогательных и аварийных дизель-генераторов (Volvo Penta, Scania, Deutz, CAT).

    2. Обслуживание, сервис и ремонт электрооборудования общесудовых систем:
    - ремонт, наладка рулевых устройств и автоматики авторулевых;
    - ремонт, наладка, комплексная проверка систем пожарной сигнализации;
    - автоматика котельного оборудования;
    - автоматика систем топливоподготовки;
    - автоматика систем водоподготовки;
    - автоматика систем очистки сточных вод.

    3. Обслуживание, сервис и ремонт электрооборудования палубных механизмов.

    4. Разработка и согласование проектной документации при модернизации и переоборудовании судовых систем автоматики.

    5. Капитальный, средний и текущий ремонт электродвигателей и генераторов любой мощности. Ремонт и настройка системы возбуждения генераторов, настройка параллельной работы генераторов.

  • ДОПОЛНИТЕЛЬНО
    • Гарнитуры и трубки
    • Гидростаты
    • Запасные части для КВУ
    • ЗИП для гирокомпасов
    • ЗИП для тифонов
    • Магнетроны
    • Преобразователи и распределители
    • Системы безбатарейной связи
    • Системы пожарной безопасности
    • Судовые дисплеи и ПК
    • Судовые тифоны
    • Элементы питания (АКБ)
    • Блоки Питания
    • Дополнительные блоки
  • Описание NMEA протокола.

    Реализация в приемниках Garmin и GlobalSat

    Введение

    Национальная Ассоциация Морской Электроники (National Marine Electronics Association - NMEA) разработала специальный протокол для поддержания совместимости морского навигационного оборудования различных производителей. Этот NMEA протокол описывает не только данные, полученные с GPS приемников, но и измерения сонаров, радаров, электронных компасов, барометров и других навигационных устройств, использующихся на морских судах. Интерфейс обмена данными большинства портативных GPS приемников реализован в соответствии с NMEA спецификацией. Большинство навигационных программ, которые обеспечивают отображение данных в реальном времени, поддерживают и «понимают» NMEA протокол. Эти данные содержат полные навигационные измерения GPS приемника – позицию, скорость и время. Все NMEA сообщения состоят из последовательного набора данных, разделенных запятыми. Каждое отдельное сообщение не зависит от других и является полностью «завершенным». NMEA cообщение включает заголовок, набор данных, представленных ASCII символами, и поле «чексуммы» для проверки достоверности переданной информации. Заголовок стандартных NMEA сообщений состоит из 5 символов, из которых два первых определяют тип сообщения, а оставшиеся три – его название. Например, все GPS NMEA сообщения имеют префикс «GP». Сообщения, которые не описаны в спецификации NMEA, но реализованы в GPS приемниках в соответствии с общими правилами, имеют префикс «Р», дополненный тремя символами, уникальными для каждой компании. Например, «собственные» NMEA сообщения Garmin имеют префикс «PGRM», Magellan – «PMGN» Каждое NMEA сообщение начинается с «$», заканчивается «\n» («перевод строки») и не может быть длиннее 80-и символов. Все данные содержаться в одной строке и отделены друг от друга запятыми. Информация представлена в виде ASCII текста и не требует специального декодирования. Если данные не умещаются в выделенные 80 символов, то они «разбиваются» на несколько NMEA сообщений. Такой формат позволяет не ограничивать точность и количество символов в отдельных полях данных. Например, дробная часть значения координат может быть представлена 3 или 4 знаками после запятой, но это никак не должно повлиять на работу программного обеспечения, которые выделяет нужные данные из сообщения по номеру поля. В конце каждого NMEA сообщения содержится поле «чексуммы», отделенное от данных символом «*». При необходимости оно может использоваться для проверки целостности и достоверности каждого принятого сообщения. NMEA протокол поддерживает не только исходящие, но и входящие сообщения, с помощью которых, например, можно обновить или добавить путевые точки маршрута. Эти сообщения должны быть сформированы в строгом соответствии с форматом NMEA, в противном случае, они будут просто проигнорированы GPS приемником. Стоит отметить, что не все навигационные программы и модели приемников поддерживают этот режим, так как используют для загрузки точек и маршрутов фирменные протоколы производителей – Garmin, Magellan и т.д. С момента создания, NMEA протокол претерпел несколько модификаций, связанных с добавлением новых полей и сообщений. Текущей версией, которую поддерживают большинство приемников, является версия 2.3, хотя уже опубликовано описание новой версии 3.0. Полная спецификация NMEA сообщений отсутствует в свободном доступе и ее нельзя официально скачать в электронном виде, Отдельные ее разделы, общее описание NMEA протокола и наиболее популярных сообщений можно найти в Интернете. Официально приобрести NMEA документацию можно на сайте http://www.nmea.org/ .

    Список сообщений

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

      AAM – Прибытие в путевую точку

      ALM – Данные альманаха

      АPA – Данные автопилота «А»

      APB – Данные автопилота «В»

      BOD – Азимут на пункт назначения

      DTM – Используемый датум

      GGA – Информация о фиксированном решении

      GLL – Данные широты и долготы

      GSA – Общая информация о спутниках

      GSV – Детальная информация о спутниках

      MSK – Передача управлению базовому приемнику

      MSS – Статус базового приемника

      RTE – Маршрутная информация VTG – Вектор движения и скорости

      WCV - Данные скорости вблизи путевой точки

      WPL – Данные путевой точки

      XTC – Ошибка отклонения от трека

      XTE – Измеренная ошибка отклонения от трека

      ZTG – UTC время и оставшееся время до прибытия в точку назначения

      ZDA – Дата и время.

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

    GGA - информация о фиксированном решении.

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

    $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,*47

    GGA – NMEA Заговолок

    123519 –UTC время 12:35:19

    4807.038, N – Широта, 48 градусов 7.038 минуты северной широты

    01131.000, Е – Долгота, 11 градусов 31.000 минуты восточной долготы

    1 - тип решение, StandAlone решение

    08 – количество используемых спутников

    0.9 – геометрический фактор, HDOP

    545.4, М – высота над уровнем моря в метрах

    46.9, М – высота геоида над эллипсоидом WGS 84

    [пустое поле] – время прошедшее с момента получения последней DGPS поправки. Заполняется при активизации DGPS режима

    [пустое поле] – идентификационный номер базовой станции. Заполняется при активизации DGPS режима.

    GSA – общая информация о спутниках.

    Это NMEA сообщение содержит список спутников, используемых в подсчете позиции и значения геометрических факторов DOPs, определяющих точность подсчете позиции. Параметры DOP определяются геометрическим расположением спутников на небе. Чем лучше «распределены» на небе спутники, тем меньше DOP и тем лучше точность позиции. Минимальное значение PDOP (= 1) соответствует ситуации, когда один спутник находится строго над пользователем, а другие 3 равномерно распределены вокруг на уровне горизонта. Значение PDOP вычисляется, как квадратный корень из суммы квадратов HDOP и VDOP.

    $GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39

      GSA – NMEA заголовок

      А – тип выбора между 2D и 3D решениями, Автоматический (A-auto, M-manual)

      3 – тип решения, 3D решение (1 – нет решения, 2 – 2D решение, 3 – 3D решение)

      04,05… - PRN коды используемых в подсчете позиции спутников (12 полей)

      2.5 – пространственный геометрический фактор, PDOP

      1.3 – горизонтальный геометрический фактор, HDOP

      2.1 – вертикальный геометрический фактор, VDOP

    GSV - Детальная информация о спутниках

    Это NMEA сообщение содержит детальную информацию для всех отслеживаемых навигатором GPS спутников. Исходя из ограничения в 80 символов в составе одного NMEA сообщения могут передаваться данные только для 4-х спутников. Соответственно для 12 спутников требуется 3 сообщения GSV. Поле SNR (Signal to Noise Ration) содержит значения уровней, принимаемых со спутников, навигационных сигналов. Теоретически его значение может варьироваться от 0 до 99 и измеряется в dB. Фактически уровень сигнала лежит в диапазоне 25 …35 dB. Здесь стоит отметить, что данный параметр не является абсолютным и не подходит для сравнения чувствительности приемников разных моделей и производителей. В GPS навигаторах могут использоваться различные алгоритмы вычисления уровня принимаемого сигнала, что приводит к разным результатам при равной степени чувствительности приемников. Для каждого видимого GPS спутника передается набор информации, включающий уровень сигнала, угол возвышения и азимут спутника. Количество этих «наборов» определяется общем количеством видимых спутников, значение которого передается в отдельном поле.

    $GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75

      GSV – NMEA заголовок

      2 – количество сообщений GSV в пакете

      1 – номер сообщения в пакете (от 1 до 3)

      08 – количество видимых спутников

      01 – номер спутника

      40 – угол возвышения, в градусах

      083 – азимут в градусах

      46 – SNR, уровень сигнала

    Это NMEA сообщение содержит весь наборы, так называемых «PVT» данных. «PVT» - общепринятое сокращение от «position, velocity, time» (позиция, скорость, время).

    $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

      RMC – NMEA заголовок

      123419 – UTC время, 12:34:59

      А – статус (А- активный, V- игнорировать)

      4807.038,N – Широта, 48 градусов 07.038 минут северной широты

      01131.000,Е – Долгота, 11 градусов 31.000 минута восточной долготы

      022.4 – Скорость, в узлах

      003.1,W – Магнитные вариации

    GLL - данные широты и долготы

    NMEA сообщение со значением координат широты и долготы, и времени когда было вычислено это решение.

    $GPGLL,4916.45,N,12311.12,W,225444,A,*31

      GLL – NMEA заголовок

      4916.46,N – широта, 49 градусов 16.45 минут северной широты

      12311.12,W-долгота, 123 градуса 11.12 минут западной долготы

      225444 – Время фиксации в шкале времени UTC, 22:54:44

    ВOD - Азимут на пункт назначения

    Это NMEA сообщение указывает азимут на точку назначения в режиме навигации.

    $GPBOD,045.,T,023.,M,DEST,START*01

      BOD – NMEA заголовок

      045.,T – истинное направление на точку

      023.,M – магнитное направление на точку

      DEST – идентификационный номер конечной точки

      START – идентификационный номер начальной точки

    $GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20

      RMB – NMEA заголовок

      А – Тип данных, (А – активные, V - игнорировать)

      0.66,L – отклонение от трека. Параметра определен в морских милях. (L –влево, R-вправо)

      003 - идентификационный номер начальной точки

      004 - идентификационный номер конечной точки

      4917.24,N – значение широты конечной точки, 49 градусов 17.24 минуты северной широты

      12309.57,W – значение долготы конечной точки, 123 градуса 09.57 минут западной долготы

      001.3 – расстояние до точки, в морских милях

      000.5 – скорость, в узлах

      V – информация о прибытии (А – прибытие, V – точка еще не достигнута)

    RTE – Маршрутная информация

    NMEA сообщение RTE выводит список путевых точек активного маршрута. Есть два типа сообщений RTE. В первом случае, отображаются все точки маршрута. Во втором, только список оставшихся точек, которые еще предстоит посетить при движении по маршруту. Учитывая, что в NMEA протоколе есть ограничение, по которому длина сообщение не должна превышать 80 символов, сообщение RTE может состоять из нескольких строк.

    $GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69

      RTE – NMEA заголовок

      2 – общее количество сообщений для отображения полного списка данных

      1 – номер сообщения из общего списка

      с – тип RTE сообщения (с – полный список точек маршрута, w – список точек, которые еще предстоит посетить)

      0 – идентификатор маршрута

      W3IWI,DRIVWY,.. - список путевых точек

    Особенности Garmin

    Приемники Garmin поддерживают большинство сообщений NMEA, содержащие GPS измерения, координаты и время – GGA, GLL, GSA, GSV, RMC. А также навигационные сообщения – RMB, BOD

    Для вывода этих сообщений необходимо в настройках приемника изменить интерфейс с «Garmin» на «NMEA» и возможно установить нужную скорость. Эту же скорость необходимо установить в навигационной программе в настройках последовательного порта к которому подключается навигатор.

    К сожалению, приемники с USB –портом не поддерживают NMEA протокол, ограничивая его настройки только протоколом «Garmin»

    Для вывода информации поступающей в последовательный порт компьютера можно воспользоваться терминальной программой Windows, либо одной из навигационных программ поддерживающих такую возможность.

    Ниже представлен список NMEA сообщений приемника Garmin eMap, которые содержаться в составе одной эпохи.

    $GPRMC,135412,A,5522.8973,N,03710.1401,E,0.0,0.0,190507,9.3,E,A*1F

    $GPRMB,A,,A,A*0B

    $GPGGA,135412,5522.8973,N,03710.1401,E,1,04,5.4,205.2,M,15.8,M,*4A

    $GPGSA,A,3,08,13,23,25,5.7,5.4,1.0*3C

    $GPGSV,3,1,11,02,15,267,00,03,11,085,45,04,05,236,00,08,39,233,00*77

    $GPGSV,3,2,11,10,32,308,00,13,63,109,43,16,17,037,00,23,31,111,38*77

    $GPGSV,3,3,11,24,09,343,00,25,66,077,44,27,69,229,00*46

    $GPGLL,5522.8973,N,03710.1401,E,135412,A,A*43

    $GPBOD,T,M,*47

    $PGRME,19.1,M,15.2,M,25.3,M*15

    $ PGRMZ,673, f,3*19

    $ PGRMM, WGS 84*06

    В дополнение к стандартным NMEA сообщениям, в приемниках Garmin реализован собственный набор сообщений, каждое из которых в заголовке содержит префикс «GRM», идентификатор «М» или «Z», определяющий тип данных, и один символ для названия.

    PGRME – оценка ошибки позиционирования

    $PGRME,15.0,M,45.0,M,25.0,M*1C

      15.0,М – оценка горизонтальной ошибки позиционирования, в метрах

      45.0,М – оценка вертикальной ошибки, в метрах

      25.0,М – эквивалентная сферическая ошибка позиционирования

    PGRMZ – измерения высоты

    $PGRMZ,93,f,3*21

      93,f – значение высоты, в фунтах

      3 - условия измерения позиции (2 – высота, определенная пользователем,

      3 – высота, вычисленная GPS)

    PGRMM – текущий датум

    $PGRMM,NAD27 Canada*2F

      NAD27 Canada – название текущего горизонтального датума

    Особенности Sirf

    GPS чипы компании «Sirf» используются в различном навигационном GPS оборудовании, начиная от обычных плат, заканчивая портативными и автомобильными GPS навигаторами. Но в отличие от навигаторов, они поддерживают только NMEA сообщения связанные с GPS измерениями, вычислением позиции и времени – GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

    «Sirf» поддерживает также несколько «входящих» NMEA сообщений, предназначенных для конфигурации и настройки различных параметров. В дополнение, в «Sirf» реализован собственный бинарный протокол, который позволяет изменить значительно больше настроек. Эти 5 «входящих» NMEA сообщений в соответствии с правилами начинают с префикса $PSFR. Все сообщения содержат фиксированный набор данных и заканчиваются символом «\n» (перевод строки)

    Для конфигурации параметров «Sirf» используется специальная программа «SirfTech». Настройка параметров NMEA сообщение осуществляется в отдельном пункте меню.

    $GPGGA,100643.000,5522.9036,N,03710.1282,E,1,07,1.6,209.9,M,14.9,M,0000*52

    $GPGSA,A,3,31,01,23,20,11,30,14,2.1,1.6,1.4*35

    $GPGSV,3,1,12,20,84,187,41,01,49,067,46,23,46,238,45,31,45,073,50*7B

    $GPGSV,3,2,12,11,25,194,34,13,16,240,04,15,319,30,17,14,273,21*7A

    $GPGSV,3,3,12,30,10,026,33,14,05,063,22,05,04,009,25,25,03,195,*7F

    $GPRMC,100643.000,A,5522.9036,N,03710.1282,E,0.16,119.11,200507,*0D

    Как видно из приведенного примера, «заводские» установки содержат меньшее количество NMEA сообщений по сравнению с настройками Garmin. При необходимости этот набор можно расширить, установив период в недостающих NMEA сообщений.

    $GPGGA,100833.000,5522.9076,N,03710.1270,E,1,07,1.3,222.4,M,14.9,M,0000*53

    $GPGLL,5522.9076,N,03710.1270,E,100833.000,A*34

    $GPGSA,A,3,31,01,23,20,11,30,17,2.1,1.3,1.6*31

    $GPGSV,3,1,12,20,84,180,43,01,49,067,47,23,47,238,45,31,45,072,49*77

    $GPGSV,3,2,12,11,24,193,26,13,16,240,26,04,15,319,24,17,13,273,31*78

    $GPGSV,3,3,12,30,10,025,26,14,04,064,22,25,04,195,05,04,008,21*7C

    $GPRMC,100833.000,A,5522.9076,N,03710.1270,E,0.18,4.86,200507,*00

    $GPVTG,4.86,T,M,0.18,N,0.3,K*60

    $GPZDA,100834.000,20,05,2007,*5A

    PSFR100, PSFR102 – конфигурация последовательных портов

    NMEA сообщение под номером 100 служит для установки порта А, сообщение 102 – порта В. Сообщение 100 имеет дополнительное поле, которое позволяет переключить интерфейс в бинарный Sirf протокол.

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

    $PSRF100,0,9600,8,1,0*0C

    $PSRF102,9600,8,1,0*3C

      PSRF100 – NMEA заголовок

      0 – параметр, указывающий в каком режиме был изменен протокол (0-Sirf, 1-NMEA)

      9600 – скорость порта (4800, 9600, 19200, 38400)

      8 – биты данных (7, 8)

      1 – стоп-биты (0,1)

      0 – парность (0 – нет, 1-нечетная, 2-четная)

    PSFR101, PSFR104 – инициализация параметров приемника

    NMEA сообщения под номерами 101 и 104 предназначены для инициализации параметров, предназначенных для GPS приема. Определение этих параметров может ускорить время захвата GPS спутников. Сообщение 101 устанавливает текущие координаты в формате XYZ, сообщение 104 – в формате BLH (долгота, широта).

    $PSRF101,-2686700,-4304200,3851624,95000,497260,921,12,3*22

    $PSRF104,37.3875111,-121.97232,0,95000,237759,922,12,3*3A

      PSRF101 – NMEA заголовок

      37.3875111 – широта в градусах

      121.97232 – долгота в градусах

      0 – высота, в метрах

      95000 – сдвиг часов

      237759 – GPS время, в секундах

      922 – номер GPS недели

      12 – количество каналов

      3 – тип инициализации данных (1 – горячий старт, 2 – теплый старт, 3 – инициализация данных, 4 – холодный старт с полной очисткой данных, 8 – холодный старт с восстановлением заводских настроек)

    PSFR103 – конфигурация генерации NMEA сообщений

    Это NMEA сообщение позволяет установить или запросить период генерации каждого «исходящего» NMEA сообщения.

    $PSRF103,05,00,01,01*20

      PSRF103 – NMEA заголовок

      05 – название сообщения

      01 – период, в секундах (0-255)

      01 – наличие чексуммы (0- да, 1 - нет)

    Результаты эксперимента

    В условия нормальной видимости спутников, приемник Garmin eMap выдает следующий набор NMEA сообщений:

    $GPRMC,104644,A,5522.8965,N,03710.1389,E,0.0,0.0,200507,9.3,E,A*16

    $GPRMB,A,,A,A*0B

    $GPGGA,104644,5522.8965,N,03710.1389,E,1,07,1.2,186.6,M,15.8,M,*44

    $GPGSA,A,3,01,04,13,16,20,23,31,2.1,1.2,1.7*35

    $GPGSV,3,1,10,01,34,070,48,04,28,311,40,11,10,190,00,13,32,249,41*7E

    $GPGSV,3,2,10,16,11,111,40,20,68,142,50,23,64,247,49,25,21,196,00*70

    $GPGSV,3,3,10,30,05,012,00,31,36,055,52*7D

    $GPGLL,5522.8965,N,03710.1389,E,104644,A,A*40

    $GPBOD,T,M,*47

    $PGRME,6.0,M,7.7,M,9.8,M*29

    $PGRMZ,612,f,3*1E

    $PGRMM,WGS 84*06

    $GPRTE,1,1,c,*37

    Из анализа сообщений видно, что в на текущий момент приемником отслеживается 10 (GSV) спутников, из которых 7 (GGA) используются в подсчете позиции. Горизонтальная ошибка позиционирования при этом равняется 6 метрам (RME), а индикатор типа решения – 1 (GGA)

    Если создать условиях, при которых GPS сигнал не будет приниматься, то сообщения GGA будут содержать «пустые» поля, а индикатор типа решения примет значение 0 (GGA)

    $GPGGA,0,00,M,M,*66

    $GPGSA,A,1,,*1E

    В «нормальном» режиме сообщения RMB и BOD содержат пустые поля. После того, как в качестве конечной точки назначения была выбрана путевая точка «Дорога», эти поля «наполнились» данными. Как следует из анализа сообщение, расстояние до точки – 1.620 миль, азимут движения - 6.3 градуса (BOD). При этом, азимут сообщений BOD и RMB отличается на 0.1 градус.

    $GPRMB,A,0.00,R,Дорога,5524.501,N,03710.445,E,1.620,6.4,V,A*59

    $GPBOD,6.3,T,357.0,M,Дорога,*74

    После того, как для навигации был выбран маршрут «Home» в списке сообщения RTE отобразился список всех путевых точек маршрута. А в сообщении RMВ – идентификационные номера начальной и конечной (очередной) точек маршрута.

    $GPRTE,1,1,c,HOME,SLOBODA,IERUSALIM,INSTITUT*01

    $GPRMB,A,9.99,R,SLOBOD,IERUSAL,5555.237,N,03649.976,E,34.346,340.6,V,A*1F

    Заключение

    В большинстве случаев, пользователю не нужно, да и не интересно знать, какие данные и в каких полях передаются. Большинство навигационных программ «разбирают» данные NMEA сообщений и представляют их в удобном для пользователя виде – графики, схемы, таблицы и т.п.

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

    Но все же, для глубокого анализа GPS данных, формат NMEA не предназначен, так как не содержит так называемые «сырые» измерения – псевдодальности, фазы, допплер. Каждый производитель навигационной аппаратуры имеет свой «открытый» или «закрытый» протокол, который выводит эту информацию

    NMEA – это простой и понятный формат, который позволяет не только обеспечить обмен данными между GPS приемниками и навигационными программами, но и дает пользователям некоторое представление о принципах работы спутниковой навигационной аппаратуры.

    Внимание!

    В качестве исходного материала использована статья с сайта " GPS portal "

    NMEA 0183 (от «National Marine Electronics Association ») - стандарт определяющий текстовый протокол связи морского (как правило, навигационного) оборудования (или оборудования, используемого в поездах) между собой. Стал особенно популярен в связи с распространением GPS-приёмников , использующих этот стандарт.

    Общий вид строк в NMEA 0183

    • символ «$» или «!» (hex 24 или hex 21)
    • 5-буквенный идентификатор сообщения. Первые две буквы - идентификатор источника сообщения, следующие три буквы - идентификатор формата сообщения, согласно протоколу NMEA 0183 определённой версии.
    • список данных (буквы, цифры и точки), разделённых запятыми. Если какие-либо данные отсутствуют внутри строки, запятые всё равно ставятся (например «,»). Некоторые поля в конце строки могут отсутствовать вовсе.
    • символ «*».
    • восьмибитная XOR -сумма всех символов (включая «,» и «^») в строке между «$» и «*» приведенная к двум ASCII-символам в верхнем регистре для 16-ричного представления байта (0–9, A–F).
    • (hex 0D, hex 0A).

    Максимальная длина сообщения ограничена 82 символами (NMEA 0183 rev 3.0)

    Стандарт описывает более 250 идентификаторов NMEA-последовательностей. Стандарт определяет скорости обмена данными в 4800 бод. (Для скоростей в 38400 бод и выше есть расширенный стандарт NMEA-0183-HS).

    Стандарт позволяет добавлять собственные идентификаторы последовательностей, что часто используется производителями для передачи дополнительной информации о работе устройства.

    RMC-строка (частный пример)

    $GPRMC,hhmmss.sss,A,GGMM.MM,P,gggmm.mm,J,v.v, b.b, ddmmyy, x.x, n,m*hh

    Значение полей:

    • «GP» - идентификатор источника; в приведенном примере это GPS, «GL» - ГЛОНАСС , «GA» - Галилео , «GN» - ГЛОНАСС+GPS и т. п.
    • «RMC» - «Recommended Minimum sentence C»
    • «hhmmss.sss» - время фиксации местоположения по Всемирному координированному времени UTC : «hh» - часы, «mm» - минуты, «ss.sss» - секунды. Длина дробной части секунд варьируется. Лидирующие нули не опускаются.
    • «A» - статус: «A» - данные достоверны, «V» - недостоверны.
    • «GGMM.MM» - широта. 2 цифры градусов(«GG»), 2 цифры целых минут, точка и дробная часть минут переменной длины. Лидирующие нули не опускаются.
    • «P» - «N» для северной или «S» для южной широты.
    • «gggmm.mm» - долгота. 3 цифры градусов(«ggg»), 2 цифры целых минут, точка и дробная часть минут переменной длины. Лидирующие нули не опускаются.
    • «J» - «E» для восточной или «W» для западной долготы.
    • «v.v» - горизонтальная составляющая скорости относительно земли в узлах . Число с плавающей точкой. Целая и дробная части переменной длины.
    • «b.b» - путевой угол (направление скорости) в градусах . Число с плавающей точкой. Целая и дробная части переменной длины. Значение равное 0 соответствует движению на север , 90 - восток , 180 - юг , 270 - запад .
    • «ddmmyy» - дата : день месяца, месяц, последние 2 цифры года (ведущие нули обязательны).
    • «x.x» - магнитное склонение в градусах (часто отсутствует), рассчитанное по некоторой модели. Число с плавающей точкой. Целая и дробная части переменной длины.
    • «n» - направление магнитного склонения: для получения магнитного курса магнитное склонение необходимо «E» - вычесть, «W» - прибавить к истинному курсу.
    • «m» - индикатор режима: «A» - автономный, «D» - дифференциальный, «E» - аппроксимация , «N» - недостоверные данные (часто отсутствует, данное поле включая запятую отсутствует в старых версиях NMEA).
    • «hh» - контрольная сумма.
    • - байт равен 0x0D.
    • - байт равен 0x0A.

    Примеры RMC-строки

    Пример 1

    $GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,*17

    Значение полей:

    • 12 часов 55 минут 4,049 секунд UTC
    • «A» - достоверно
    • широта 55° 42,2389", северная
    • долгота 37° 41,6063", восточная
    • скорость 0,06 узлов

    Описание NMEA протокола. Реализация в приемниках Garmin и GlobalSat

    Введение

    Национальная Ассоциация Морской Электроники (National Marine Electronics Association - NMEA) разработала специальный протокол для поддержания совместимости морского навигационного оборудования различных производителей. Этот NMEA протокол описывает не только данные, полученные с GPS приемников, но и измерения сонаров, радаров, электронных компасов, барометров и других навигационных устройств, использующихся на морских судах.

    Интерфейс обмена данными большинства портативных GPS приемников реализован в соответствии с этой спецификацией. Большинство навигационных программ, которые обеспечивают отображение данных в реальном времени, поддерживают и «понимают» NMEA протокол. Эти данные содержат полные навигационные измерения GPS приемника - позицию, скорость и время. Все NMEA сообщения состоят из последовательного набора данных, разделенных запятыми. Каждое отдельное сообщение не зависит от других и является полностью «завершенным». NMEA cообщение включает заголовок, набор данных, представленных ASCII символами, и поле «чексуммы» для проверки достоверности переданной информации.

    Заголовок стандартных NMEA сообщений состоит из 5 символов, из которых два первых определяют тип сообщения, а оставшиеся три - его название. Например, все GPS NMEA сообщения имеют префикс «GP». Сообщения, которые не описаны в спецификации NMEA, но реализованы в GPS приемниках в соответствии с общими правилами, имеют префикс «Р», дополненный тремя символами, уникальными для каждой компании. Например, «собственные» NMEA сообщения Garmin имеют префикс «PGRM», Magellan - «PMGN»
    Каждое NMEA сообщение начинается с «$», заканчивается «n» («перевод строки») и не может быть длиннее 80-и символов. Все данные содержаться в одной строке и отделены друг от друга запятыми. Информация представлена в виде ASCII текста и не требует специального декодирования. Если данные не умещаются в выделенные 80 символов, то они «разбиваются» на несколько NMEA сообщений.

    Такой формат позволяет не ограничивать точность и количество символов в отдельных полях данных. Например, дробная часть значения координат может быть представлена 3 или 4 знаками после запятой, но это никак не должно повлиять на работу программного обеспечения, которые выделяет нужные данные из сообщения по номеру поля. В конце каждого NMEA сообщения содержится поле «чексуммы», отделенное от данных символом «*». При необходимости оно может использоваться для проверки целостности и достоверности каждого принятого сообщения.

    NMEA протокол поддерживает не только исходящие, но и входящие сообщения, с помощью которых, например, можно обновить или добавить путевые точки маршрута. Эти сообщения должны быть сформированы в строгом соответствии с форматом NMEA, в противном случае, они будут просто проигнорированы GPS приемником. Стоит отметить, что не все навигационные программы и модели приемников поддерживают этот режим, так как используют для загрузки точек и маршрутов фирменные протоколы производителей - Garmin, Magellan и т.д.

    С момента создания, NMEA протокол претерпел несколько модификаций, связанных с добавлением новых полей и сообщений. Текущей версией, которую поддерживают большинство приемников, является версия 2.3, хотя уже опубликовано описание новой версии 3.0. Полная спецификация NMEA сообщений отсутствует в свободном доступе и ее нельзя официально скачать в электронном виде, Отдельные ее разделы, общее описание NMEA протокола и наиболее популярных сообщений можно найти в Интернете. Официально приобрести NMEA документацию можно на сайте www.nmea.org .

    Список сообщений

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

    • AAM - Прибытие в путевую точку
    • ALM - Данные альманаха
    • АPA - Данные автопилота «А»
    • APB - Данные автопилота «В»
    • BOD - Азимут на пункт назначения
    • DTM - Используемый датум
    • GGA - Информация о фиксированном решении
    • GLL - Данные широты и долготы
    • GSA - Общая информация о спутниках
    • GSV - Детальная информация о спутниках
    • MSK - Передача управлению базовому приемнику
    • MSS - Статус базового приемника
    • RMA - Рекомендованный набор данных системы «Loran»
    • RMB - Рекомендованный набор навигационных GPS данных
    • RMC - Рекомендованный минимальный набор GPS данных
    • RTE - Маршрутная информация
    • VTG - Вектор движения и скорости
    • WCV - Данные скорости вблизи путевой точки
    • WPL - Данные путевой точки
    • XTC - Ошибка отклонения от трека
    • XTE - Измеренная ошибка отклонения от трека
    • ZTG - UTC время и оставшееся время до прибытия в точку назначения
    • ZDA - Дата и время.

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

    Содержание NMEA сообщений

    GGA - информация о фиксированном решении.
    Самое популярное и наиболее используемое NMEA сообщение с информацией о текущем фиксированном решении - горизонтальные координаты, значение высоты, количество используемых спутников и тип решения.

    $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,*47
    где:

    • GGA - Заговолок
    • 123519 -UTC время 12:35:19
    • 4807.038, N - Широта, 48 градусов 7.038 минуты северной широты
    • 01131.000, Е - Долгота, 11 градусов 31.000 минуты восточной долготы
    • 1 - тип решение, StandAlone решение
      • 0 - нет решения,
      • 1 - StandAlone,
      • 2 - DGPS,
      • 3 - PPS,
      • 4 - фиксированный RTK,
      • 5 - не фиксированный RTK,
      • 6 - использование данных инерциальных систем,
      • 7 - ручной режим,
      • 8 - режим симуляции
    • 08 - количество используемых спутников
    • 0.9 - геометрический фактор, HDOP
    • 545.4, М - высота над уровнем моря в метрах
    • 46.9, М - высота геоида над эллипсоидом WGS 84
    • [пустое поле] - время прошедшее с момента получения последней DGPS поправки. Заполняется при активизации DGPS режима
    • [пустое поле] - идентификационный номер базовой станции. Заполняется при активизации DGPS режима.

    GSA - общая информация о спутниках.
    Это NMEA сообщение содержит список спутников, используемых в подсчете позиции и значения геометрических факторов DOPs, определяющих точность подсчете позиции. Параметры DOP определяются геометрическим расположением спутников на небе. Чем лучше «распределены» на небе спутники, тем меньше DOP и тем лучше точность позиции. Минимальное значение PDOP (= 1) соответствует ситуации, когда один спутник находится строго над пользователем, а другие 3 равномерно распределены вокруг на уровне горизонта. Значение PDOP вычисляется, как квадратный корень из суммы квадратов HDOP и VDOP.

    $GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39
    где:

    • GSA - заголовок
    • А - тип выбора между 2D и 3D решениями, Автоматический (A-auto, M-manual)
    • 3 - тип решения, 3D решение (1 - нет решения, 2 - 2D решение, 3 - 3D решение)
    • 04,05… - PRN коды используемых в подсчете позиции спутников (12 полей)
    • 2.5 - пространственный геометрический фактор, PDOP
    • 1.3 - горизонтальный геометрический фактор, HDOP
    • 2.1 - вертикальный геометрический фактор, VDOP

    GSV - Детальная информация о спутниках
    Это NMEA сообщение содержит детальную информацию для всех отслеживаемых навигатором GPS спутников. Исходя из ограничения в 80 символов в составе одного NMEA сообщения могут передаваться данные только для 4-х спутников. Соответственно для 12 спутников требуется 3 сообщения GSV.
    Поле SNR (Signal to Noise Ration) содержит значения уровней, принимаемых со спутников, навигационных сигналов. Теоретически его значение может варьироваться от 0 до 99 и измеряется в dB. Фактически уровень сигнала лежит в диапазоне 25 …35 dB. Здесь стоит отметить, что данный параметр не является абсолютным и не подходит для сравнения чувствительности приемников разных моделей и производителей. В GPS навигаторах могут использоваться различные алгоритмы вычисления уровня принимаемого сигнала, что приводит к разным результатам при равной степени чувствительности приемников.
    Для каждого видимого GPS спутника передается набор информации, включающий уровень сигнала, угол возвышения и азимут спутника. Количество этих «наборов» определяется общем количеством видимых спутников, значение которого передается в отдельном поле.

    $GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75
    где:

    • GSV - заголовок
    • 2 - количество сообщений GSV в пакете
    • 1 - номер сообщения в пакете (от 1 до 3)
    • 08 - количество видимых спутников
    • 01 - номер спутника
    • 40 - угол возвышения, в градусах
    • 083 - азимут в градусах
    • 46 - SNR, уровень сигнала

    RMC - рекомендованный минимальный набор GPS данных
    Это NMEA сообщение содержит весь наборы, так называемых «PVT» данных. «PVT» - общепринятое сокращение от «position, velocity, time» (позиция, скорость, время).

    $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

    • RMC - заголовок
    • 123419 - UTC время, 12:34:59
    • А - статус (А- активный, V- игнорировать)
    • 4807.038,N - Широта, 48 градусов 07.038 минут северной широты
    • 01131.000,Е - Долгота, 11 градусов 31.000 минута восточной долготы
    • 022.4 - Скорость, в узлах
    • 084.4 - Направление движения, в градусах
    • 230394 - Дата, 23 марта 1994 года
    • 003.1,W - Магнитные вариации

    GLL - данные широты и долготы

    NMEA сообщение со значением координат широты и долготы, и времени когда было вычислено это решение.

    $GPGLL,4916.45,N,12311.12,W,225444,A,*31

    • GLL - заголовок
    • 4916.46,N - широта, 49 градусов 16.45 минут северной широты
    • 12311.12,W-долгота, 123 градуса 11.12 минут западной долготы
    • 225444 - Время фиксации в шкале времени UTC, 22:54:44

    В OD - Азимут на пункт назначения
    Это NMEA сообщение указывает азимут на точку назначения в режиме навигации.

    $GPBOD,045.,T,023.,M,DEST,START*01

    • BOD - заголовок
    • 045.,T - истинное направление на точку
    • 023.,M - магнитное направление на точку
    • DEST - идентификационный номер конечной точки
    • START - идентификационный номер начальной точки

    $GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20

    • RMB - заголовок
    • А - Тип данных, (А - активные, V - игнорировать)
    • 0.66,L - отклонение от трека. Параметра определен в морских милях. (L -влево, R-вправо)
    • 003 - идентификационный номер начальной точки
    • 004 - идентификационный номер конечной точки
    • 4917.24,N - значение широты конечной точки, 49 градусов 17.24 минуты северной широты
    • 12309.57,W - значение долготы конечной точки, 123 градуса 09.57 минут западной долготы
    • 001.3 - расстояние до точки, в морских милях
    • 052.5 - направление на точку
    • 000.5 - скорость, в узлах
    • V - информация о прибытии (А - прибытие, V - точка еще не достигнута)

    RTE - Маршрутная информация

    NMEA сообщение RTE выводит список путевых точек активного маршрута. Есть два типа сообщений RTE. В первом случае, отображаются все точки маршрута. Во втором, только список оставшихся точек, которые еще предстоит посетить при движении по маршруту. Учитывая, что в NMEA протоколе есть ограничение, по которому длина сообщение не должна превышать 80 символов, сообщение RTE может состоять из нескольких строк.

    $GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69

    • RTE - заголовок
    • 2 - общее количество сообщений для отображения полного списка данных
    • 1 - номер сообщения из общего списка
    • с - тип RTE сообщения (с - полный список точек маршрута, w - список точек, которые еще предстоит посетить)
    • 0 - идентификатор маршрута
    • W3IWI,DRIVWY,.. - список путевых точек

    Особенности Garmin

    Приемники Garmin поддерживают большинство сообщений NMEA, содержащие GPS измерения, координаты и время - GGA, GLL, GSA, GSV, RMC. А также навигационные сообщения - RMB, BOD

    Для вывода этих сообщений необходимо в настройках приемника изменить интерфейс с «Garmin» на «NMEA» и возможно установить нужную скорость. Эту же скорость необходимо установить в навигационной программе в настройках последовательного порта к которому подключается навигатор.

    К сожалению, приемники с USB -портом не поддерживают NMEA протокол, ограничивая его настройки только протоколом «Garmin»

    Для вывода информации поступающей в последовательный порт компьютера можно воспользоваться терминальной программой Windows, либо одной из навигационных программ поддерживающих такую возможность.

    Ниже представлен список NMEA сообщений приемника Garmin eMap, которые содержаться в составе одной эпохи.

    $GPRMC,135412,A,5522.8973,N,03710.1401,E,0.0,0.0,190507,9.3,E,A*1F

    $GPRMB,A,,A,A*0B

    $GPGGA,135412,5522.8973,N,03710.1401,E,1,04,5.4,205.2,M,15.8,M,*4A

    $GPGSA,A,3,08,13,23,25,5.7,5.4,1.0*3C

    $GPGSV,3,1,11,02,15,267,00,03,11,085,45,04,05,236,00,08,39,233,00*77

    $GPGSV,3,2,11,10,32,308,00,13,63,109,43,16,17,037,00,23,31,111,38*77

    $GPGSV,3,3,11,24,09,343,00,25,66,077,44,27,69,229,00*46

    $GPGLL,5522.8973,N,03710.1401,E,135412,A,A*43

    $GPBOD,T,M,*47

    $PGRME,19.1,M,15.2,M,25.3,M*15

    $ PGRMZ,673, f,3*19

    $ PGRMM, WGS 84*06

    В дополнение к стандартным NMEA сообщениям, в приемниках Garmin реализован собственный набор сообщений, каждое из которых в заголовке содержит префикс «GRM», идентификатор «М» или «Z», определяющий тип данных, и один символ для названия.

    PGRME - оценка ошибки позиционирования

    $PGRME,15.0,M,45.0,M,25.0,M*1C

    • 15.0,М - оценка горизонтальной ошибки позиционирования, в метрах
    • 45.0,М - оценка вертикальной ошибки, в метрах
    • 25.0,М - эквивалентная сферическая ошибка позиционирования

    PGRMZ - измерения высоты

    $PGRMZ,93,f,3*21

    • 93,f - значение высоты, в фунтах
    • 3 - условия измерения позиции (2 - высота, определенная пользователем, 3 - высота, вычисленная GPS)

    PGRMM - текущий датум

    $PGRMM,NAD27 Canada*2F

    • NAD27 Canada - название текущего горизонтального датума

    Особенности Sirf

    GPS чипы компании «Sirf» используются в различном навигационном GPS оборудовании, начиная от обычных плат, заканчивая портативными и автомобильными GPS навигаторами. Но в отличие от навигаторов, они поддерживают только NMEA сообщения связанные с GPS измерениями, вычислением позиции и времени - GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

    «Sirf» поддерживает также несколько «входящих» NMEA сообщений, предназначенных для конфигурации и настройки различных параметров. В дополнение, в «Sirf» реализован собственный бинарный протокол, который позволяет изменить значительно больше настроек. Эти 5 «входящих» NMEA сообщений в соответствии с правилами начинают с префикса $PSFR. Все сообщения содержат фиксированный набор данных и заканчиваются символом «n» (перевод строки)

    Для конфигурации параметров «Sirf» используется специальная программа «SirfTech». Настройка параметров NMEA сообщение осуществляется в отдельном пункте меню.

    $GPGGA,100643.000,5522.9036,N,03710.1282,E,1,07,1.6,209.9,M,14.9,M,0000*52

    $GPGSA,A,3,31,01,23,20,11,30,14,2.1,1.6,1.4*35

    $GPGSV,3,1,12,20,84,187,41,01,49,067,46,23,46,238,45,31,45,073,50*7B

    $GPGSV,3,2,12,11,25,194,34,13,16,240,04,15,319,30,17,14,273,21*7A

    $GPGSV,3,3,12,30,10,026,33,14,05,063,22,05,04,009,25,25,03,195,*7F

    $GPRMC,100643.000,A,5522.9036,N,03710.1282,E,0.16,119.11,200507,*0D

    Как видно из приведенного примера, «заводские» установки содержат меньшее количество NMEA сообщений по сравнению с настройками Garmin. При необходимости этот набор можно расширить, установив период в недостающих NMEA сообщений.

    $GPGGA,100833.000,5522.9076,N,03710.1270,E,1,07,1.3,222.4,M,14.9,M,0000*53

    $GPGLL,5522.9076,N,03710.1270,E,100833.000,A*34

    $GPGSA,A,3,31,01,23,20,11,30,17,2.1,1.3,1.6*31

    $GPGSV,3,1,12,20,84,180,43,01,49,067,47,23,47,238,45,31,45,072,49*77

    $GPGSV,3,2,12,11,24,193,26,13,16,240,26,04,15,319,24,17,13,273,31*78

    $GPGSV,3,3,12,30,10,025,26,14,04,064,22,25,04,195,05,04,008,21*7C

    $GPRMC,100833.000,A,5522.9076,N,03710.1270,E,0.18,4.86,200507,*00

    $GPVTG,4.86,T,M,0.18,N,0.3,K*60

    $GPZDA,100834.000,20,05,2007,*5A

    PSFR100, PSFR102 - конфигурация последовательных портов

    NMEA сообщение под номером 100 служит для установки порта А, сообщение 102 - порта В. Сообщение 100 имеет дополнительное поле, которое позволяет переключить интерфейс в бинарный Sirf протокол.

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

    $PSRF100,0,9600,8,1,0*0C

    $PSRF102,9600,8,1,0*3C

    • PSRF100 - заголовок
    • 0 - параметр, указывающий в каком режиме был изменен протокол (0-Sirf, 1-NMEA)
    • 9600 - скорость порта (4800, 9600, 19200, 38400)
    • 8 - биты данных (7, 8)
    • 1 - стоп-биты (0,1)
    • 0 - парность (0 - нет, 1-нечетная, 2-четная)

    PSFR101, PSFR104 - инициализация параметров приемника

    NMEA сообщения под номерами 101 и 104 предназначены для инициализации параметров, предназначенных для GPS приема. Определение этих параметров может ускорить время захвата GPS спутников. Сообщение 101 устанавливает текущие координаты в формате XYZ, сообщение 104 - в формате BLH (долгота, широта).

    $PSRF101,-2686700,-4304200,3851624,95000,497260,921,12,3*22

    $PSRF104,37.3875111,-121.97232,0,95000,237759,922,12,3*3A

    • PSRF101 - заголовок
    • 37.3875111 - широта в градусах
    • -121.97232 - долгота в градусах
    • 0 - высота, в метрах
    • 95000 - сдвиг часов
    • 237759 - GPS время, в секундах
    • 922 - номер GPS недели
    • 12 - количество каналов
    • 3 - тип инициализации данных (1 - горячий старт, 2 - теплый старт, 3 - инициализация данных, 4 - холодный старт с полной очисткой данных, 8 - холодный старт с восстановлением заводских настроек)

    PSFR103 - конфигурация генерации NMEA сообщений

    Это NMEA сообщение позволяет установить или запросить период генерации каждого «исходящего» NMEA сообщения.

    $PSRF103,05,00,01,01*20

    • PSRF103 - заголовок
    • 05 - название сообщения
      • 00 - GGA
      • 01 - GLL
      • 02 - GSA
      • 04 - RMS
      • 05 - VTG
    • 00 - режим (0 - установка периода, 1 - запрос)
    • 01 - период, в секундах (0-255)
    • 01 - наличие чексуммы (0- да, 1 - нет)

    Результаты эксперимента

    В условия нормальной видимости спутников, приемник Garmin eMap выдает следующий набор NMEA сообщений:

    $GPRMC,104644,A,5522.8965,N,03710.1389,E,0.0,0.0,200507,9.3,E,A*16

    $GPRMB,A,,A,A*0B

    $GPGGA,104644,5522.8965,N,03710.1389,E,1 ,07 ,1.2,186.6,M,15.8,M,*44

    $GPGSA,A,3,01,04,13,16,20,23,31,2.1,1.2,1.7*35

    $GPGSV,3,1,10 ,01,34,070,48,04,28,311,40,11,10,190,00,13,32,249,41*7E

    $GPGSV,3,2,10 ,16,11,111,40,20,68,142,50,23,64,247,49,25,21,196,00*70

    $GPGSV,3,3,10 ,30,05,012,00,31,36,055,52*7D

    $GPGLL,5522.8965,N,03710.1389,E,104644,A,A*40

    $GPBOD,T,M,*47

    $PGRME,6.0 ,M,7.7,M,9.8,M*29

    $PGRMZ,612,f,3*1E

    $PGRMM,WGS 84*06

    $GPRTE,1,1,c,*37

    Из анализа сообщений видно, что в на текущий момент приемником отслеживается 10 (GSV) спутников, из которых 7 (GGA) используются в подсчете позиции. Горизонтальная ошибка позиционирования при этом равняется 6 метрам (RME), а индикатор типа решения - 1 (GGA)

    Если создать условиях, при которых GPS сигнал не будет приниматься, то сообщения GGA будут содержать «пустые» поля, а индикатор типа решения примет значение 0 (GGA)

    $GPGGA,0 ,00,M,M,*66

    $GPGSA,A,1,,*1E

    В «нормальном» режиме сообщения RMB и BOD содержат пустые поля. После того, как в качестве конечной точки назначения была выбрана путевая точка «Дорога», эти поля «наполнились» данными. Как следует из анализа сообщение, расстояние до точки - 1.620 миль, азимут движения - 6.3 градуса (BOD). При этом, азимут сообщений BOD и RMB отличается на 0.1 градус.

    $GPRMB,A,0.00,R,Дорога ,5524.501,N,03710.445,E,1.620 ,6.4 ,V,A*59

    $GPBOD,6.3 ,T,357.0,M,Дорога,*74

    После того, как для навигации был выбран маршрут «Home» в списке сообщения RTE отобразился список всех путевых точек маршрута. А в сообщении RMВ - идентификационные номера начальной и конечной (очередной) точек маршрута.

    $GPRTE,1,1,c,HOME,SLOBODA,IERUSALIM,INSTITUT*01

    $GPRMB,A,9.99,R,SLOBOD,IERUSAL,5555.237,N,03649.976,E,34.346,340.6,V,A*1F

    Заключение

    В большинстве случаев, пользователю не нужно, да и не интересно знать, какие данные и в каких полях передаются. Большинство навигационных программ «разбирают» данные NMEA сообщений и представляют их в удобном для пользователя виде - графики, схемы, таблицы и т.п.

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

    Н о все же, для глубокого анализа GPS данных, формат NMEA не предназначен, так как не содержит так называемые «сырые» измерения - псевдодальности, фазы, допплер. Каждый производитель навигационной аппаратуры имеет свой «открытый» или «закрытый» протокол, который выводит эту информацию

    NMEA - это простой и понятный формат, который позволяет не только обеспечить обмен данными между GPS приемниками и навигационными программами, но и дает пользователям некоторое представление о принципах работы спутниковой навигационной аппаратуры

    NMEA (National Marine Electronics Association) 2000 - это стандарт передачи данных оборудования навигации, связи и других информационных сетей.

    В большинстве случаев NMEA2000 используется в морском деле. В основе этого протокола лежит протокол передачи данных CAN (Controller Area Network), использующийся, в основном, в судовой автоматике.

    Национальная Ассоциация Морской Электроники (англ. National Marine Electronics Association — NMEA) разработала специальный протокол для обеспечения совместимости морского от разных производителей.

    С момента создания протокол NMEA претерпел несколько модификаций, связанных с добавлением новых полей и сообщений. Текущей версией, которую поддерживают большинство приемников, является версия 2.3 , хотя уже опубликовано описание новой версии 3.0 .

    Сообщения NMEA

    NMEA 2000 описывает не только данные, полученные с , но и измерения , , барометров и других навигационных устройств, использующихся на морских судах. Интерфейс обмена данными большинства портативных GPS-приемников реализован в соответствии с NMEA-спецификацией. Большинство навигационных программ, которые обеспечивают отображение данных в реальном времени, поддерживают и «понимают» NMEA протокол. Эти данные содержат полные навигационные измерения GPS-приемника - позицию, скорость и время.

    Полная спецификация NMEA сообщений отсутствует в свободном доступе и ее нельзя официально скачать в электронном виде. Отдельные ее разделы, общее описание NMEA протокола и наиболее популярных сообщений можно найти в Интернете. Официально приобрести NMEA документацию можно на сайте //www.nmea.org/.

    Исходящие сообщения NMEA

    Все NMEA сообщения состоят из последовательного набора данных, разделенных запятыми. Каждое отдельное сообщение не зависит от других и является полностью «завершенным». NMEA cообщение включает:

    • заголовок,
    • набор данных, представленных ASCII символами,
    • поле «чексуммы» для проверки достоверности переданной информации.

    Заголовок

    Как правило, заголовок состоит из пяти символов. Первые два символа определяют тип сообщения, а оставшиеся три - его название. Например, заголовок GPS NMEA сообщений начинается с «GP». Сообщения, которые не описаны в спецификации NMEA, но реализованы в GPS-приемниках в соответствии с общими правилами, имеют префикс «Р», дополненный тремя символами, уникальными для каждой компании. Например, NMEA сообщения имеют префикс «PGRM», Magellan - «PMGN».

    Данные

    Каждое NMEA сообщение начинается с «$», заканчивается «\n» (перевод строки) и не может быть длиннее 80 символов. Все данные содержатся в одной строке и отделены друг от друга запятыми. Информация представлена в виде ASCII текста и не требует специального декодирования. Если данные не умещаются в выделенные 80 символов, то они «разбиваются» на несколько сообщений. Такой формат позволяет не ограничивать точность и количество символов в отдельных полях данных. Например, дробная часть значения координат может быть представлена тремя или четырьмя знаками после запятой, но это никак не должно повлиять на работу программного обеспечения, которые выделяет нужные данные из сообщения по номеру поля.

    Поле "чексуммы"

    В конце каждого NMEA сообщения содержится поле «чексуммы», отделенное от данных символом «*». При необходимости оно может использоваться для проверки целостности и достоверности каждого принятого сообщения.

    Входящие сообщения NMEA

    Протокол NMEA 2000 поддерживает не только исходящие, но и входящие сообщения, с помощью которых, например, можно обновить или добавить путевые точки маршрута. Эти сообщения должны быть сформированы в строгом соответствии с форматом NMEA, в противном случае, они будут проигнорированы .

    Список сообщений

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

    AAM - Прибытие в путевую точку
    ALM – Данные альманаха
    АPA – Данные автопилота «А»
    APB – Данные автопилота «В»
    BOD – Азимут на пункт назначения
    DTM – Используемый датум
    GGA – Информация о фиксированном решении
    GLL – Данные широты и долготы
    GSA – Общая информация о спутниках
    GSV – Детальная информация о спутниках
    MSK – Передача управлению базовому приемнику
    MSS – Статус базового приемника
    RMA – Рекомендованный набор данных системы «Loran»
    RMB – Рекомендованный набор навигационных GPS данных
    RMC – Рекомендованный минимальный набор GPS данных
    RTE – Маршрутная информация
    VTG – Вектор движения и скорости
    WCV – Данные скорости вблизи путевой точки
    WPL – Данные путевой точки
    XTC – Ошибка отклонения от трека
    XTE – Измеренная ошибка отклонения от трека
    ZTG – UTC время и оставшееся время до прибытия в точку назначения
    ZDA – Дата и время

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

    1. GGA – информация о фиксированном решении.

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

    $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,*47 где:

    GGA – NMEA Заголовок

    123519 – UTC время 12:35:19

    4807.038, N – Широта, 48 градусов 7.038 минуты северной широты

    01131.000, Е – Долгота, 11 градусов 31.000 минуты восточной долготы

    1 – тип решения*, StandAlone решение

    08 – количество используемых спутников

    0.9 – геометрический фактор, HDOP

    545.4, М – высота над уровнем моря в метрах

    46.9, М – высота геоида над эллипсоидом WGS 84

    [пустое поле] – время прошедшее с момента получения последней DGPS поправки. Заполняется при активизации DGPS режима

    [пустое поле] – идентификационный номер базовой станции. Заполняется при активизации DGPS режима.

    * Типы решений:

    2. GSA – общая информация о спутниках

    Это NMEA сообщение содержит список спутников, используемых в подсчете позиции и значения геометрических факторов DOPs, определяющих точность подсчете позиции. Параметры DOP определяются геометрическим расположением спутников на небе. Чем лучше «распределены» на небе спутники, тем меньше DOP и тем лучше точность позиции. Минимальное значение PDOP (= 1) соответствует ситуации, когда один спутник находится строго над пользователем, а другие 3 равномерно распределены вокруг на уровне горизонта. Значение PDOP вычисляется, как квадратный корень из суммы квадратов HDOP и VDOP.

    $GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39 где:

    GSA – NMEA заголовок

    А – тип выбора между 2D и 3D решениями, Автоматический (A-auto, M-manual)

    3 – тип решения, 3D решение (1 – нет решения, 2 – 2D решение, 3 – 3D решение)

    04,05… – PRN коды используемых в подсчете позиции спутников (12 полей)

    2.5 – пространственный геометрический фактор, PDOP

    1.3 – горизонтальный геометрический фактор, HDOP

    2.1 – вертикальный геометрический фактор, VDOP

    3. GSV – Детальная информация о спутниках

    Это NMEA сообщение содержит детальную информацию для всех отслеживаемых навигатором GPS спутников. Исходя из ограничения в 80 символов в составе одного NMEA сообщения могут передаваться данные только для 4-х спутников. Соответственно для 12 спутников требуется 3 сообщения GSV. Поле SNR (Signal to Noise Ration) содержит значения уровней, принимаемых со спутников, навигационных сигналов. Теоретически его значение может варьироваться от 0 до 99 и измеряется в dB. Фактически уровень сигнала лежит в диапазоне 25 …35 dB. Здесь стоит отметить, что данный параметр не является абсолютным и не подходит для сравнения чувствительности приемников разных моделей и производителей. В GPS навигаторах могут использоваться различные алгоритмы вычисления уровня принимаемого сигнала, что приводит к разным результатам при равной степени чувствительности приемников. Для каждого видимого GPS спутника передается набор информации, включающий уровень сигнала, угол возвышения и азимут спутника. Количество этих «наборов» определяется общем количеством видимых спутников, значение которого передается в отдельном поле.

    $GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75 где:

    GSV – NMEA заголовок

    2 – количество сообщений GSV в пакете

    1 – номер сообщения в пакете (от 1 до 3)

    08 – количество видимых спутников

    01 – номер спутника

    40 – угол возвышения, в градусах

    083 – азимут в градусах

    46 – SNR, уровень сигнала

    Это NMEA сообщение содержит весь наборы, так называемых «PVT» данных. «PVT» - общепринятое сокращение от «position, velocity, time» (позиция, скорость, время).

    $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A где:

    RMC – NMEA заголовок 123419 – UTC время, 12:34:59

    А – статус (А- активный, V- игнорировать)