Help area contents FAQ and descriptions of some cases
of using the service. |
Описание NMEA протокола.
Введение Национальная Ассоциация Морской Электроники (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»
Такой формат позволяет не ограничивать точность и количество символов в отдельных полях данных. Например, дробная часть значения координат может быть представлена 3 или 4 знаками после запятой, но это никак не должно повлиять на работу программного обеспечения, которые выделяет нужные данные из сообщения по номеру поля. В конце каждого NMEA сообщения содержится поле «чексуммы», отделенное от данных символом «*». При необходимости оно может использоваться для проверки целостности и достоверности каждого принятого сообщения.
NMEA протокол поддерживает не только исходящие, но и входящие сообщения, с помощью которых, например, можно обновить или добавить путевые точки маршрута. Эти сообщения должны быть сформированы в строгом соответствии с форматом NMEA, в противном случае, они будут просто проигнорированы GPS приемником. Стоит отметить, что не все навигационные программы и модели приемников поддерживают этот режим, так как используют для загрузки точек и маршрутов фирменные протоколы производителей – Garmin, Magellan и т.д.
С момента создания, NMEA протокол претерпел несколько модификаций, связанных с добавлением новых полей и сообщений. Текущей версией, которую поддерживают большинство приемников, является версия 2.3, хотя уже опубликовано описание новой версии 3.0. Полная спецификация NMEA сообщений отсутствует в свободном доступе и ее нельзя официально скачать в электронном виде, Отдельные ее разделы, общее описание NMEA протокола и наиболее популярных сообщений можно найти в Интернете. Официально приобрести NMEA документацию можно на сайте www.nmea.org . NMEA протокол описывает большой список различных сообщений, из которых можно выделить два десятка сообщений, активно использующихся в навигационной аппаратуре. В связи с большой популярностью и простой представления данных, NMEA протокол нашел применение не только морской аппаратурой, но и в геодезических, бытовых и авиационных GPS приемниках.
Некоторые из NMEA сообщений могут содержать одинаковые поля данных, либо полностью содержать данные других, меньших по размеру, NMEA сообщений. GGA - информация о фиксированном решении.
GSA – общая информация о спутниках.
GSV - Детальная информация о спутниках
RMC - рекомендованный минимальный набор GPS данных где:
GLL - данные широты и долготы NMEA сообщение со значением координат широты и долготы, и времени когда было вычислено это решение. где:
ВOD - Азимут на пункт назначения
где:
RMB – рекомендованный набор навигационных GPS данных NMEA сообщение содержит рекомендованный минимальный набор данных для навигации «по маршруту» или «на точку» в режиме «Goto».
где:
RTE – Маршрутная информация NMEA сообщение RTE выводит список путевых точек активного маршрута. Есть два типа сообщений RTE. В первом случае, отображаются все точки маршрута. Во втором, только список оставшихся точек, которые еще предстоит посетить при движении по маршруту. Учитывая, что в NMEA протоколе есть ограничение, по которому длина сообщение не должна превышать 80 символов, сообщение RTE может состоять из нескольких строк.
где:
Особенности Garmin
Приемники Garmin поддерживают большинство сообщений NMEA, содержащие GPS измерения, координаты и время – GGA, GLL, GSA, GSV, RMC. А также навигационные сообщения – RMB, BOD Для вывода этих сообщений необходимо в настройках приемника изменить интерфейс с «Garmin» на «NMEA» и возможно установить нужную скорость. Эту же скорость необходимо установить в навигационной программе в настройках последовательного порта к которому подключается навигатор. Для вывода информации поступающей в последовательный порт компьютера можно воспользоваться терминальной программой 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», определяющий тип данных, и один символ для названия.
где:
PGRMZ – измерения высоты
где:
PGRMM – текущий датум
где:
Особенности 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
$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
NMEA сообщение под номером 100 служит для установки порта А, сообщение 102 – порта В. Сообщение 100 имеет дополнительное поле, которое позволяет переключить интерфейс в бинарный Sirf протокол.
$PSRF102,9600,8,1,0*3C где:
PSFR101, PSFR104 – инициализация параметров приемника NMEA сообщения под номерами 101 и 104 предназначены для инициализации параметров, предназначенных для GPS приема. Определение этих параметров может ускорить время захвата GPS спутников. Сообщение 101 устанавливает текущие координаты в формате XYZ, сообщение 104 – в формате BLH (долгота, широта). $PSRF104,37.3875111,-121.97232,0,95000,237759,922,12,3*3A где:
PSFR103 – конфигурация генерации NMEA сообщений Это NMEA сообщение позволяет установить или запросить период генерации каждого «исходящего» NMEA сообщения.
где:
В условия нормальной видимости спутников, приемник 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
$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" |
||
We accept:
|
||||||||||||||||||
|