NMEA0183(od " Národná asociácia námornej elektroniky“) je štandard, ktorý definuje textový protokol na vzájomnú komunikáciu námorných (zvyčajne navigačných) zariadení (alebo zariadení používaných vo vlakoch). Stal sa populárnym najmä vďaka rozšíreniu GPS prijímačov využívajúcich tento štandard.

Celkový pohľad na struny v NMEA 0183

  • symbol "$" alebo "!" (hex 24 alebo hex 21)
  • 5-písmenové ID správy. Prvé dve písmená sú identifikátorom zdroja správy, ďalšie tri písmená sú identifikátorom formátu správy podľa protokolu NMEA 0183 určitej verzie.
  • zoznam údajov (písmená, čísla a bodky) oddelené čiarkami. Ak chýbajú nejaké údaje vnútri riadky, čiarky sa stále vkladajú (napríklad ","). Niektoré polia na koniec linky nemusia byť vôbec prítomné.
  • symbol "*".
  • osembitový súčet XOR všetkých znakov (vrátane "," a "^") v reťazci medzi "$" a "*" skonvertovaný na dva znaky ASCII v veľké písmená pre hexadecimálnu reprezentáciu bajtu (0-9, A-F).
  • (hex 0D, hex 0A).

Maximálna dĺžka správy je obmedzená na 82 znakov (NMEA 0183 rev 3.0)

Štandard popisuje viac ako 250 sekvenčných identifikátorov NMEA. Norma špecifikuje prenosovú rýchlosť 4800 baudov. (Pre prenosové rýchlosti 38400 a vyššie existuje rozšírený štandard NMEA-0183-HS).

Štandard umožňuje pridávať vlastné sekvenčné identifikátory, ktoré výrobcovia často používajú na prenos Ďalšie informácie o prevádzke zariadenia.

RMC reťazec (špeciálny príklad)

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

Význam polí:

  • "GP" - identifikátor zdroja; v uvedenom príklade je to GPS, "GL" - GLONASS, "GA" - Galileo, "GN" - GLONASS + GPS atď.
  • "RMC" - "Odporúčaná minimálna veta C"
  • "hhmmss.sss" - čas určenia polohy UTC: "hh" - hodiny, "mm" - minúty, "ss.sss" - sekundy. Dĺžka zlomkovej časti sekúnd je rôzna. Nie sú vynechané úvodné nuly.
  • "A" - stav: "A" - údaje sú platné, "V" - neplatné.
  • "GGMM.MM" - zemepisná šírka. 2 číslice stupňov ("GG"), 2 číslice celých minút, bodka a zlomková časť minúty s premenlivou dĺžkou. Nie sú vynechané úvodné nuly.
  • "P" - "N" pre severnú zemepisnú šírku alebo "S" pre južnú zemepisnú šírku.
  • "ggmm.mm" - zemepisná dĺžka. 3 číslice stupňov ("ggg"), 2 číslice celých minút, bodka a zlomková časť minút rôznej dĺžky. Nie sú vynechané úvodné nuly.
  • "J" - "E" pre východ alebo "W" pre západ.
  • "v.v" - horizontálna zložka rýchlosti nad zemou v uzloch. Číslo s pohyblivou rádovou čiarkou. Celé číslo a zlomkové časti premenlivej dĺžky.
  • "b.b" - zemný uhol (smer rýchlosti) v stupňoch. Číslo s pohyblivou rádovou čiarkou. Celé číslo a zlomkové časti premenlivej dĺžky. Hodnota 0 zodpovedá pohybu na sever, 90 na východ, 180 na juh, 270 na západ.
  • "ddmmyy" - dátum: deň v mesiaci, mesiac, posledné 2 číslice roka (vyžadujú sa úvodné nuly).
  • "x.x" je magnetická deklinácia v stupňoch (často chýba), vypočítaná z nejakého modelu. Číslo s pohyblivou rádovou čiarkou. Celé číslo a zlomkové časti premenlivej dĺžky.
  • "n" - smer magnetickej deklinácie: na získanie magnetického kurzu musí byť magnetická deklinácia "E" - odčítanie, "W" - pripočítanie k skutočnému kurzu.
  • "m" - indikátor režimu: "A" - autonómny, "D" - diferenciál, "E" - aproximácia, "N" - nespoľahlivý údaj (často chýba, toto pole vrátane čiarky chýba v starších verziách NMEA).
  • "hh" - kontrolný súčet.
  • - bajt je 0x0D.
  • - bajt je 0x0A.

Príklady reťazcov RMC

Príklad 1

$GPRMC,125504,049,A,5542,2389,N,03741,6063,E,0,06,25,82,200906,*17

Význam polí:

  • 12 hodín 55 minút 4,049 sekúnd UTC
  • "A" - spoľahlivý
  • 55° 42,2389", severnej zemepisnej šírky
  • dĺžka 37° 41,6063", vých
  • rýchlosť 0,06 uzla

Popis protokolu NMEA. Implementácia v prijímačoch Garmin a GlobalSat

Úvod

Národná asociácia námornej elektroniky (NMEA) vyvinula špecifický protokol na zachovanie kompatibility vybavenia námornej navigácie rôznych výrobcov. Tento protokol NMEA popisuje nielen údaje prijaté z prijímačov GPS, ale aj merania zo sonarov, radarov, elektronické kompasy, barometre a iné navigačné zariadenia používané na lodiach.

Väčšina komunikačného rozhrania prenosné GPS prijímače sú implementované v súlade s touto špecifikáciou. Väčšina navigačných programov, ktoré poskytujú podporu zobrazovania údajov v reálnom čase a „rozumie“ protokolu NMEA. Tieto údaje obsahujú kompletné navigačné merania GPS prijímača - polohu, rýchlosť a čas. Všetky správy NMEA pozostávajú zo sekvenčného súboru údajov oddelených čiarkami. Každá jednotlivá správa je nezávislá od ostatných a je úplne „kompletná“. Správa NMEA obsahuje hlavičku, súbor údajov reprezentovaných znakmi ASCII a pole „kontrolný súčet“ na overenie platnosti prenášaných informácií.

Hlavička štandardných správ NMEA pozostáva z 5 znakov, z ktorých prvé dva definujú typ správy a zvyšné tri - jej názov. Napríklad všetky správy GPS NMEA majú predponu „GP“. Správy, ktoré nie sú opísané v špecifikácii NMEA, ale sú implementované v prijímačoch GPS v súlade s všeobecné pravidlá, majú predponu „P“, za ktorým nasledujú tri znaky jedinečné pre každú spoločnosť. Napríklad „natívne“ správy NMEA od spoločnosti Garmin majú predponu „PGRM“, Magellan má predponu „PMGN“
Každá správa NMEA začína "$", končí "n" ("line feed") a nemôže byť dlhšia ako 80 znakov. Všetky údaje sú obsiahnuté v jednom riadku a navzájom oddelené čiarkami. Informácie sú prezentované ako text ASCII a nevyžadujú špeciálne dekódovanie. Ak sa údaje nezmestia do pridelených 80 znakov, potom sa „rozdelia“ do niekoľkých správ NMEA.

Tento formát umožňuje neobmedzovať presnosť a počet znakov v jednotlivých dátových poliach. Napríklad zlomková časť hodnoty súradnice môže byť vyjadrená na 3 alebo 4 desatinné miesta, ale to by nemalo žiadnym spôsobom ovplyvniť operáciu. softvér, ktorý zo správy vytiahne požadované údaje podľa čísla poľa. Na konci každej správy NMEA je pole kontrolného súčtu oddelené od údajov „*“. Voliteľne sa môže použiť na kontrolu integrity a platnosti každej prijatej správy.

Protokol NMEA podporuje nielen odchádzajúce, ale aj prichádzajúce správy, ktoré je možné použiť napríklad na aktualizáciu alebo pridávanie trasových bodov trasy. Tieto správy musia byť vložené prísne dodržiavanie s formátom NMEA, inak ich prijímač GPS jednoducho ignoruje. Je potrebné poznamenať, že nie všetky navigačné programy a modely prijímačov podporujú tento režim, pretože na načítanie bodov a trás používajú proprietárne protokoly od výrobcov - Garmin, Magellan atď.

Protokol NMEA prešiel od svojho vzniku niekoľkými úpravami súvisiacimi s pridávaním nových polí a správ. aktuálna verziaže väčšina prijímačov podporuje verziu 2.3, hoci popis už bol zverejnený Nová verzia 3.0. Kompletná špecifikácia správ NMEA nie je voľne dostupná a nie je možné ju oficiálne stiahnuť v elektronickej podobe, jej jednotlivé časti, všeobecný popis Protokol NMEA a najpopulárnejšie správy nájdete na internete. Oficiálnu dokumentáciu NMEA je možné zakúpiť na www.nmea.org.

zoznam správ

Protokol NMEA popisuje veľký zoznam rôznych správ, z ktorých možno rozlíšiť dve desiatky správ, ktoré sa aktívne používajú v navigačných zariadeniach. Pre veľkú obľubu a jednoduchú prezentáciu údajov našiel protokol NMEA uplatnenie nielen v námorných zariadeniach, ale aj v geodetických, domácich a leteckých prijímačoch GPS.

  • AAM - Príchod na Waypoint
  • ALM – údaje almanachu
  • APA – údaje autopilota „A“
  • APB – údaje autopilota „B“
  • BOD - Azimut na miesto určenia
  • DTM - Použitý dátum
  • GGA - Fixed Solution Information
  • GLL – údaje o zemepisnej šírke a dĺžke
  • GSA – Všeobecné informácie o satelite
  • GSV - Podrobné informácie o satelite
  • MSK - Odovzdanie na základňový prijímač
  • MSS - Stav prijímača základne
  • RMA – súbor údajov odporúčaný Loranom
  • RMB – Odporúčaný súbor údajov navigácie GPS
  • RMC – Odporúčaný minimálny súbor údajov GPS
  • RTE - Smerovacie informácie
  • VTG - Motion and Velocity Vector
  • WCV - Údaje o rýchlosti blízko trasového bodu
  • WPL – údaje o trasových bodoch
  • XTC - Chyba sledovania
  • XTE – Chyba pri odjazde z trate
  • ZTG – čas UTC a zostávajúci čas do príchodu do cieľa
  • ZDA - Dátum a čas.

Niektoré správy NMEA môžu obsahovať rovnaké dátové polia alebo môžu obsahovať celé dáta iných menších správ NMEA.

Obsahsprávy NMEA

GGA - fixné informácie o riešení.
Najpopulárnejšia a najpoužívanejšia správa NMEA s informáciami o aktuálnom pevnom riešení - horizontálne súradnice, hodnota nadmorskej výšky, počet používaných satelitov a typ riešenia.

GPGGA, 123519,4807,038,N,01131,000,E,1,08,0,9,545,4,M,46,9,M,*47
kde:

  • GGA - Hlavička
  • 123519 -UTC čas 12:35:19
  • 4807,038, N - zemepisná šírka, 48 stupňov 7,038 minút severnej zemepisnej šírky
  • 01131 000, E - zemepisná dĺžka, 11 stupňov 31 000 minút východne
  • 1 - typové riešenie, Samostatné riešenie
    • 0 - žiadne riešenie,
    • 1-samostatný,
    • 2-DGPS,
    • 3-PPS,
    • 4 - pevné RTK,
    • 5 - nepevné RTK,
    • 6 - použitie týchto inerciálnych systémov,
    • 7 - manuálny mód,
    • 8 - režim simulácie
  • 08 - počet použitých satelitov
  • 0,9 - geometrický faktor, HDOP
  • 545,4, M - nadmorská výška v metroch
  • 46,9, M - výška geoidu nad elipsoidom WGS 84
  • [prázdne pole] - čas, ktorý uplynul od prijatia poslednej korekcie DGPS. Vyplní sa, keď je aktivovaný režim DGPS
  • [prázdne pole] - identifikačné číslo Základná stanica. Vyplní sa, keď je aktivovaný režim DGPS.

GSA- všeobecné informácie o satelitoch.
Táto správa NMEA obsahuje zoznam satelitov použitých pri výpočte polohy a hodnoty geometrických faktorov DOP, ktoré určujú presnosť výpočtu polohy. Parametre DOP sú určené geometrickým usporiadaním satelitov na oblohe. Čím lepšie sú satelity „rozmiestnené“ na oblohe, tým nižšie je DOP a tým lepšia je presnosť polohy. Minimálna hodnota PDOP (= 1) zodpovedá situácii, keď je jeden satelit priamo nad používateľom a ďalšie 3 sú rovnomerne rozložené okolo na úrovni horizontu. Hodnota PDOP sa vypočíta ako druhá odmocnina súčtu druhých mocnín HDOP a VDOP.

$GPGSA,A,3,04,05,09,12,24,2,5,1,3,2,1*39
kde:

  • GSA - hlavička
  • A - typ voľby medzi 2D a 3D riešením, automatický (A-auto, M-manuál)
  • 3 - typ riešenia, 3D riešenie (1 - žiadne riešenie, 2 - 2D riešenie, 3 - 3D riešenie)
  • 04,05… - PRN kódy používané pri výpočte satelitnej polohy (12 polí)
  • 2,5 - priestorový geometrický faktor, PDOP
  • 1,3 - horizontálny geometrický faktor, HDOP
  • 2.1 - vertikálny geometrický faktor, VDOP

GSV - Podrobné informácie o satelite
Táto správa NMEA obsahuje podrobné informácie o všetkých satelitoch sledovaných navigátorom GPS. Na základe obmedzenia 80 znakov je možné v rámci jednej správy NMEA prenášať údaje len pre 4 satelity. V súlade s tým sú potrebné 3 správy GSV pre 12 satelitov.
Pole SNR (Signal to Noise Ration) obsahuje úrovne navigačných signálov prijímaných zo satelitov. Teoreticky sa jeho hodnota môže meniť od 0 do 99 a meria sa v dB. V skutočnosti je úroveň signálu v rozsahu 25 ... 35 dB. Tu je vhodné poznamenať, že tento parameter nie je absolútny a nie je vhodný na porovnávanie citlivosti prijímačov rôznych modelov a výrobcov. GPS navigátory môžu používať rôzne algoritmy na výpočet úrovne prijatého signálu, čo vedie k rôznym výsledkom pri rovnakom stupni citlivosti prijímačov.
Pre každý viditeľný satelit GPS sa prenáša súbor informácií vrátane sily signálu, nadmorskej výšky a azimutu satelitu. Počet týchto „súborov“ je určený celkovým počtom viditeľných satelitov, ktorých hodnota sa prenáša v samostatnom poli.

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

  • GSV - hlavička
  • 2 - počet správ GSV v pakete
  • 1 - číslo správy v dávke (od 1 do 3)
  • 08 - počet viditeľných satelitov
  • 01 - číslo satelitu
  • 40 - elevačný uhol, v stupňoch
  • 083 - azimut v stupňoch
  • 46 - SNR, úroveň signálu

RMC - odporúčaná minimálna sada GPS dáta
Táto správa NMEA obsahuje celý súbor takzvaných údajov „PVT“. "PVT" je bežná skratka pre "position, velocity, time" (poloha, rýchlosť, čas).

$GPRMC,123519,A,4807,038,N,01131,000,E,022,4,084,4,230394,003,1,W*6A

  • RMC - titul
  • 123419 - čas UTC, 12:34:59
  • A - stav (A - aktívny, V - ignorovať)
  • 4807.038,N - zemepisná šírka, 48 stupňov 07.038 minút severnej zemepisnej šírky
  • 01131.000,E - zemepisná dĺžka, 11 stupňov 31.000 minút východne
  • 022.4 - Rýchlosť v uzloch
  • 084.4 - Smer pohybu v stupňoch
  • 230394 - Dátum 23. marca 1994
  • 003.1,W - Magnetické variácie

GLL – údaje o zemepisnej šírke a dĺžke

Správa NMEA s hodnotou súradníc zemepisnej šírky a dĺžky a časom, kedy bolo toto riešenie vypočítané.

$GPGLL,4916,45,N,12311,12,W,225444,A,*31

  • GLL - hlavička
  • 4916,46,N - zemepisná šírka, 49 stupňov 16,45 minúty severnej zemepisnej šírky
  • 12311,12 západnej dĺžky, 123 stupňov 11,12 minúty západne
  • 225444 - Fixný čas v časovej mierke UTC, 22:54:44

AT OD - Azimut do cieľa
Táto správa NMEA označuje azimut k cieľu v režime navigácie.

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

  • BOD - hlavička
  • 045.,T - skutočný smer k veci
  • 023.,M - magnetický smer do bodu
  • DEST - identifikačné číslo koncový bod
  • ŠTART - identifikačné číslo miesta štartu

GPRMB,A,0,66,L,003,004,4917,24,N,12309,57,W,001,3,052,5,000,5,V*20

  • RMB - hlavička
  • A - Typ údajov, (A - aktívny, V - ignorovať)
  • 0,66,L - odchýlka od stopy. Parameter je definovaný v námorných míľach. (L-vľavo, R-vpravo)
  • 003 - identifikačné číslo miesta štartu
  • 004 - identifikačné číslo koncového bodu
  • 4917,24,N - koncový bod zemepisnej šírky, 49 stupňov 17,24 minút severnej zemepisnej šírky
  • 12309,57,W - hodnota zemepisnej dĺžky koncového bodu, 123 stupňov 09,57 minúty západne
  • 001.3 - vzdialenosť k bodu v námorných míľach
  • 052,5 - smer k bodu
  • 000,5 - rýchlosť, v uzloch
  • V - informácie o príchode (A - príchod, V - bod ešte nedosiahnutý)

RTE - Smerovacie informácie

Správa NMEA RTE uvádza trasové body na aktívnej trase. Existujú dva typy správ RTE. V prvom prípade sa zobrazia všetky trasové body. V druhom už len zoznam zvyšných bodov, ktoré ešte treba navštíviť počas pohybu po trase. Vzhľadom na to, že protokol NMEA má obmedzenie, že dĺžka správy by nemala presiahnuť 80 znakov, správa RTE môže pozostávať z niekoľkých riadkov.

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

  • RTE - hlavička
  • 2 - celkový počet správ na zobrazenie úplného zoznamu údajov
  • 1 - číslo správy zo všeobecného zoznamu
  • c - typ správy RTE (c - úplný zoznam trasové body, w - zoznam trasových bodov, ktoré ešte treba navštíviť)
  • 0 - ID trasy
  • W3IWI,DRIVWY,.. - zoznam trasových bodov

Funkcie Garmin

Prijímače Garmin podporujú väčšinu správ NMEA obsahujúcich GPS merania, súradnice a čas – GGA, GLL, GSA, GSV, RMC. Rovnako ako navigačné správy - RMB, BOD

Pre zobrazenie týchto správ je potrebné zmeniť rozhranie z „Garmin“ na „NMEA“ v nastaveniach prijímača a prípadne nastaviť požadovanú rýchlosť. Rovnakú rýchlosť je potrebné nastaviť v navigačnom programe v nastaveniach sériového portu, ku ktorému je navigátor pripojený.

Žiaľ, prijímače s USB portom nepodporujú protokol NMEA, pričom jeho nastavenie je obmedzené len na protokol Garmin.

Na zobrazenie informácií prichádzajúcich do sériového portu počítača môžete použiť terminál program Windows, alebo niektorý z navigačných programov, ktoré túto funkciu podporujú.

Nižšie je uvedený zoznam správ NMEA prijímača Garmin eMap, ktoré sú obsiahnuté v rovnakej epoche.

$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

Okrem štandardných správ NMEA prijímače Garmin implementujú vlastnú sadu správ, z ktorých každá obsahuje predponu „GRM“ v hlavičke, identifikátor „M“ alebo „Z“ identifikujúci typ údajov a jeden znak pre názov.

PGRME - Odhad chyby polohy

$ PGRME, 15,0, M, 45,0, M, 25,0, M * 1C

  • 15,0,M - odhad chyby horizontálneho polohovania v metroch
  • 45,0,M - odhad vertikálnej chyby, v metroch
  • 25,0,M - ekvivalentná sférická chyba polohovania

PGRMZ - výškové merania

$PGRMZ,93,f,3*21

  • 93,f - hodnota výšky v librách
  • 3 - podmienky merania polohy (2 - výška, definované užívateľom, 3 - výška vypočítaná pomocou GPS)

PGRMM - aktuálny údaj

$PGRMM,NAD27 Kanada*2F

  • NAD27 Kanada - názov aktuálneho horizontálneho dátumu

ZvláštnostiSirf

Sirf GPS čipy sa používajú v rôznych navigácia GPS zariadení, od konvenčných dosiek, končiac prenosnými a automobilovými GPS navigátory. Ale na rozdiel od navigátorov podporujú iba správy NMEA súvisiace s GPS meraniami, výpočtom polohy a času – GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

„Sirf“ podporuje aj niekoľko „prichádzajúcich“ správ NMEA na konfiguráciu a nastavenie rôznych parametrov. Okrem toho „Sirf“ implementuje svoj vlastný binárny protokol, ktorý vám umožňuje zmeniť oveľa viac nastavení. Týchto 5 „prichádzajúcich“ správ NMEA začína podľa pravidiel predponou $PSFR. Všetky správy obsahujú pevnú množinu údajov a končia znakom „n“ (riadkový posuv)

Na konfiguráciu parametrov "Sirf" použite špeciálny program Sirftech. Nastavenia správ NMEA sa konfigurujú v samostatnej položke ponuky.

$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

Ako môžete vidieť z vyššie uvedeného príkladu, „továrenské“ nastavenia obsahujú menej správ NMEA v porovnaní s nastaveniami Garmin. V prípade potreby je možné túto množinu rozšíriť nastavením obdobia v chýbajúcich správach 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, 100 833 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 $, 1 008 34 000, 20. 5. 2007, * 5 A

PSFR100, PSFR102 - konfigurácia sériového portu

Správa NMEA číslo 100 slúži na nastavenie portu A, správa 102 - port B. Správa 100 má doplnkové pole, ktoré umožňuje prepnúť rozhranie na binárny protokol Sirf.

V binárnom protokole teda existuje príkaz, ktorý prepne port späť na formát NMEA. Pred prechodom na binárny protokol musíte pochopiť, či program, ktorý vám neskôr umožní obnoviť protokol NMEA.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

  • PSRF100 - hlavička
  • 0 - parameter označujúci, v akom režime bol protokol zmenený (0-Sirf, 1-NMEA)
  • 9600 – rýchlosť portu (4800, 9600, 19200, 38400)
  • 8 - dátové bity (7, 8)
  • 1 - stop bity (0,1)
  • 0 – párové (0 – nie, 1 – nepárne, 2 – párne)

PSFR101, PSFR104 - inicializácia parametrov prijímača

Správy NMEA s číslami 101 a 104 sú určené na inicializáciu parametrov určených na príjem GPS. Definovanie týchto parametrov môže urýchliť čas získavania satelitov GPS. Správa 101 nastavuje aktuálne súradnice vo formáte XYZ, správa 104 - vo formáte BLH (zemepisná dĺžka, šírka).

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

$PSRF104.37.3875111,-121.97232.0.95000.237759.922.12.3*3A

  • PSRF101 - hlavička
  • 37,3875111 - zemepisná šírka v stupňoch
  • -121,97232 - zemepisná dĺžka v stupňoch
  • 0 - výška, v metroch
  • 95000 - hodinový posun
  • 237759 - GPS čas v sekundách
  • 922 - číslo týždňa GPS
  • 12 - počet kanálov
  • 3 - typ inicializácie dát (1 - horúci štart, 2 - teplý štart, 3 - inicializácia dát, 4 - studený štart s úplným vymazaním dát, 8 - studený štart s obnovením továrenských nastavení)

PSFR103 - konfigurácia generácie správy NMEA

Táto správa NMEA vám umožňuje nastaviť alebo dotazovať sa na obdobie generovania pre každú „odchádzajúcu“ správu NMEA.

103.05.00.01.01*20 $ PSRF

  • PSRF103 - hlavička
  • 05 - názov správy
    • 00-GGA
    • 01-GLL
    • 02-GSA
    • 04-RMS
    • 05-VTG
  • 00 - režim (0 - nastavenie periódy, 1 - požiadavka)
  • 01 - bodka, v sekundách (0-255)
  • 01 - prítomnosť kontrolného súčtu (0 - áno, 1 - nie)

Výsledky experimentu

Za normálnych podmienok satelitnej viditeľnosti vysiela prijímač Garmin eMap nasledujúci súbor správ 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

$PGRM,WGS 84*06

$GPRTE,1,1,c,*37

Z analýzy správ je zrejmé, že prijímač momentálne sleduje 10 (GSV) satelitov, z ktorých 7 (GGA) sa používa na výpočet polohy. Chyba horizontálneho polohovania je 6 metrov (RME) a ​​indikátor typu riešenia je 1 (GGA)

Ak vytvoríte podmienky, za ktorých GPS signál nebudú prijaté, potom budú správy GGA obsahovať „prázdne“ polia a indikátor typu rozhodnutia bude mať hodnotu 0 (GGA)

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

$GPGSA,A,1,,*1E

V "normálnom" režime obsahujú správy RMB a BOD prázdne polia. Potom, čo bol ako konečný cieľ vybratý trasový bod „Cesta“, boli tieto polia „vyplnené“ údajmi. Ako vyplýva z analýzy správy, vzdialenosť k bodu je 1,620 míle, azimut pohybu je 6,3 stupňa (BOD). V tomto prípade sa azimut správ BOD a RMB líši o 0,1 stupňa.

$GPRMB,A,0,00,R,Cesta ,5524,501,N,03710,445,E, 1.620 ,6.4 ,V,A*59

$GPBOD, 6.3 ,T,357,0,M,Cesta,*74

Po výbere domácej trasy pre navigáciu sa v zozname správ RTE zobrazil zoznam všetkých trasových bodov trasy. A v správe RMB - identifikačné čísla počiatočné a koncové (ďalšie) body trasy.

$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

Záver

Vo väčšine prípadov používateľ nepotrebuje a ani nemá záujem vedieť, aké údaje a v akých poliach sa prenášajú. Väčšina navigačných programov „analyzuje“ dáta správ NMEA a prezentuje ich v užívateľsky príjemnej forme – grafy, diagramy, tabuľky atď.

Obzvlášť zaujímavé sú správy NMEA pre používateľov, ktorí by chceli študovať údaje GPS, vypočítať odhad prijatých meraní alebo analyzovať správanie navigačných prijímačov v rôznych podmienkach. Existuje množstvo programov, pomocou ktorých môžete tieto problémy vyriešiť.

H Na hĺbkovú analýzu údajov GPS však formát NMEA nie je určený, pretože neobsahuje takzvané „surové“ merania - pseudorozsahy, fázy, Doppler. Každý výrobca navigačných zariadení má svoj vlastný „otvorený“ alebo „uzavretý“ protokol, ktorý vydáva tieto informácie.

NMEA je jednoduchý a zrozumiteľný formát, ktorý umožňuje nielen výmenu údajov medzi prijímačmi GPS a navigačné programy, ale tiež dáva používateľom určitú predstavu o princípoch fungovania satelitných navigačných zariadení

Potreboval som otestovať aplikáciu, ktorá využíva údaje GNSS cez protokol NMEA. Bolo to kvôli tomu, že som pracoval na projekte pre letecký navigačný program, testovanie vo vzduchu je prirodzene drahé, riadiť auto s GNSS prijímačom na zemi nie je obzvlášť pohodlné, takže som chcel mať údaje protokolu NMEA na virtuálnom paralelnom porte z údajne pohybujúceho sa zariadenia. Najprv som hľadal rôzny softvér, myslel som, že nájdem niečo vhodné, no väčšina je platená a ovládanie emulácie dát nie je príliš pohodlné, hoci emulujú takmer všetky parametre štandardu NMEA. Potreboval som ale niečo jednoduché emulujúce súradnice, rýchlosť, v princípe nič viac a potreboval som celkom pohodlné a logické ovládanie. Takže som musel napísať aplikáciu tohto druhu v C#.

Fly_nmea


NMEA („National Marine Electronics Association“) – celý názov je „NMEA 0183“ – textový protokol na vzájomnú komunikáciu námorných (zvyčajne navigačných) zariadení.
Údaje sa prenášajú vo forme ponúk. Formát návrhu je nasledovný:
$AAAA[,<данные>]*hh , kde:
$ - znak začiatku vety (kód 24h);
AAAAA - Päťznaková adresa (názov) ponuky;
[, <данные>] - zoznam dátových polí oddelených čiarkami (kód 2Сh);
* - znak kontrolného súčtu (kód 2Ah);
hh - kontrolný súčet.

Príklad návrhu:
GGA – údaje o polohe GPS
Čas, miesto a údaje súvisiace s pozorovaním.
$GPGGA,hhmmss.sss,llll.ll,a,yyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxx*hh

Potreboval som napodobniť štyri riadky:

  • GLL – súradnice polohy
  • GSV- Viditeľné satelity
  • RMC – Odporúčaný minimálny súbor údajov pre GPS a GLONASS
  • GSA - Faktor degradácie presnosti používaný pre navigačné satelity
Emulácia je usporiadaná v nasledujúcom poradí:
  • nastavíme počiatočné súradnice v systéme WGS-84
  • potom prejdeme na plochú projekciu, napríklad Mercator (na transformáciu súradníc som použil hotovú knižnicu C#)
  • pri poznaní plochých súradníc x, y, h realizujeme fyziku pohybu lietadla z hľadiska premenných parametrov prostredníctvom GUI ako sú: kotúľanie, stúpanie, rýchlosť
  • previesť ploché súradnice na súradnice B, L, H systému WGS-84
  • z požadovaných štyroch riadkov vytvoríme balík správ štandardu NMEA
  • poslať ich na virtuálny paralelný port
Fly_nmea+Sensor Android
Pre pohodlnejšie testovanie som nastavil aj príjem dát z Senzory Android(uhly sklonu). Android posiela cez UDP dva reťazce, ako je tento:
  • "Uhol:\t236.04152\t-1.0\t-3.0"
  • "acc:\t-0.46309182\t-0.14982383\t-10.56939"
V emulačnej aplikácii ich akceptujem a na základe uhlov sklonu zmením parametre:
  • Smola
V emulačnej aplikácii môžete prejsť z ovládania cez rozhranie programu na Android Sensor.
Pripojenie Fly_nmea
Na emuláciu portov COM je užitočný aj emulátor virtuálnych sériových portov, budete musieť nakonfigurovať pripojenie dvoch virtuálnych portov COM, napríklad: COM1<->COM6 a program Fly_nmea odošle dáta do COM6 a na COM1 ich zoberie program využívajúci protokol NMEA.

Záver

Vo všeobecnosti som strávil viac času hľadaním takéhoto softvéru a nenašiel som niečo, čo by ma úplne uspokojilo, napísal som to rýchlejšie. Okrem projektu, na ktorom som pracoval, sa mi podarilo pomerne úspešne prepojiť emulátor aj s programami, ktoré si rozumejú s protokolom NMEA, ako napríklad: 2Gis a SAS planet.



FlyNMEA a android senzor (projekt na prenos dát zo senzorov cez UDP)

NMEA0183– textový komunikačný protokol používaný v moduloch prijímačov GPS. Tento štandard bol vytvorený pre komunikáciu námorných navigačných zariadení. Protokol zabezpečuje prenos textových príkazov a správ pomocou znakov ASCII. Na prijímanie správ teda stačí použiť sériové rozhranie UART, pričom všetky správy môžu byť prenášané priamo do počítača pomocou COM portu, ale netreba zabúdať ani na potrebu konvertovať úrovne signálu.

Modul GPS prenáša správy v rôznych formátoch, ktoré obsahujú rôzne údaje: zemepisnú šírku a dĺžku, rýchlosť, smer, čas, počet satelitov atď. Správy sa prenášajú postupne a sú rozdelené do niekoľkých typov, pričom formát každého typu správy obsahuje presne definované informácie vo svojich poliach. Pozrime sa bližšie na všeobecnú štruktúru správ, ktoré modul GPS vydáva.

$ - každá správa začína týmto znakom

Nasleduje identifikátor 5 textové znaky. Prvé dve písmená označujú napríklad typ navigačného systému "GP" - GPS alebo " GL" - Glonass atď. Ďalšie 3 znaky sú identifikátor formátu správy, ktorý úplne definuje obsah následne prenášaných dát. Napríklad "RMC"- ide o odporúčaný minimálny údaj, ktorý obsahuje informácie o čase a dátume, zemepisnej šírke a dĺžke, rýchlosti, kurze a magnetickej odchýlke v stupňoch (môže chýbať). Alebo G.S.A., budú sa tu prenášať satelitné dáta. Štruktúra hlavných typov správ bude diskutovaná nižšie.

Potom nasleduje «,» - čiarka, za ktorou hneď nasleduje telo správy s rôznymi údajmi, ktoré sú od seba oddelené rovnakou čiarkou. Ak prenášané číslo nie je celé číslo, potom je oddeľovač medzi celým číslom a zlomkovou časťou bodka «.» .

Koniec tela správy je označený symbolom «*» . Potom nasleduje kontrolný súčet všetkých znakov obsiahnutých medzi „$“ a „*“, teda celého tela správy vrátane samotných údajov a identifikátorov na začiatku správy. Kontrolný súčet sa vypočíta ako XOR (exkluzívny OR) všetkých ASCII hexadecimálnych kódov znakov správy.

A na samom konci každej správy musia nasledovať znaky pre posun riadkov

Zvážte účel a štruktúru rôzne druhy správy.

RMC– odporúčané minimálne navigačné údaje. Správa obsahuje minimálne požadované množstvo informácií. Sú to údaje o zemepisnej šírke a dĺžke, dátume a čase, rýchlosti. Pri mnohých úlohách nie je potrebné viac, napríklad v module Quectel L50 Prenos všetkých ostatných typov správ som vypol, keďže informácie o satelitoch a úrovni ich signálov absolútne nepotrebujem. A príjem nadmerných informácií si vyžaduje komplikáciu programu na spracovanie týchto údajov. Štruktúra správy je:

$GPRMC, hhmmss.sss,A,ddmm.mmmm,N,ddmm. mmmm , E,v.v,c. c, ddmmyyyy,x.x,n,m*hh

Táto správa obsahuje nasledujúce údaje:

  • GPRMCsatelitný systém GPS, ID správy RMC
  • hhmmss.sss– čas (Greenwich Mean Time), kde hh – hodiny, mm – minúty, ss.sss – sekundy
  • A- údaje sú správne resp V- údaje sú neplatné. Symbol A v správe bude, keď je satelitný príjem dostatočne silný na výpočet údajov o polohe. Symbol V bude vtedy, keď prijímač nevidí satelity alebo keď počet nájdených satelitov nestačí na spoľahlivý výpočet súradníc. Ak napríklad zapnete GPS modul niekde v panelovom dome a ďaleko od okien, s najväčšou pravdepodobnosťou uvidíte symbol V v prijatej správe.
  • ddmm.mmmm- zemepisná šírka, stupne a minúty
  • N alebo S- sever alebo juh. Hemisféra, v ktorej sa nachádzate. Ak ste v Austrálii, ukáže sa to S. V Jekaterinburgu mi vypadol modul GPS N.
  • ddmm.mmmm- zemepisná dĺžka, stupne a minúty
  • E alebo W- západná alebo východná pologuľa
  • v.v- rýchlosť v uzloch
  • c. c– smer nad zemou v stupňoch. Pri pohybe na sever bude 0 stupňov.
  • ddmmyyyy- dátum
  • x.x– magnetická deklinácia
  • n je smer magnetickej deklinácie. O týchto dvoch posledných parametroch neviem nič vysvetliť. Napríklad môj modul GPS Quectel L50 pri príjme v byte na okne sa tento údaj vôbec neukázal, len mi chýbal.
  • m- režim navigácie: N- neplatné údaje A- autonómny, D– diferenciál

Tu je príklad správy RMC:

$GPRMC,105954,000,A,3150,6731,N,11711,9399,E,0,00,96,10,250313,A*53

  • GMT 10h 59m 54sec
  • A- údaje sú správne
  • Zemepisná šírka 31 stupňov a 50,6371 minúty
  • N– severný
  • Zemepisná dĺžka 117 stupňov 11,9399 minút
  • E- Východná
  • Rýchlosť 0,00 uzlov
  • Dobre 96,1 stupňov
  • dátum 25. marca 2013
  • Údaje o magnetická deklinácia chýba
  • režim - autonómny
  • Kontrolný súčet znakov správy 0x053

Tu je potrebné poznamenať jednu nuanciu. Údaje o zemepisnej šírke a dĺžke obsahujú zlomkovú časť minút, ktorá vôbec nezodpovedá počtu „sekúnd“, keďže ide o desatinný zlomok. Tie programy na prácu s GPS, ktoré mám odskúšané, zobrazujú súradnice na mape presne. Ale ak zadáte tieto čísla do vyhľadávacieho panela Google Mapy, potom sa poloha na mape ukáže ako niekoľko kilometrov od skutočnej polohy. Pri zadávaní prijatých súradníc je v tomto prípade potrebné rozdeliť zlomkovú časť zemepisnej šírky a dĺžky o 60, aby sa tieto čísla previedli na "sekundy". Pri prvom pripojení modulu Quectel L50 a zadaní prijatých súradníc zemepisnej šírky a dĺžky do riadku Google vyhľadávanie mapy, polohu na mape som dostal s výraznou chybou, mapa ukazovala miesto niekde v oblasti Uralmašu.

Tu je niekoľko ďalších typov správ používaných v tomto protokole:

  • VTG- skutočný kurz a rýchlosť voči zemi
  • GGA- údaje o oprave poslednej polohy
  • GSA- údaje o aktívnych satelitoch
  • GSV- údaje o viditeľných satelitoch, ich polohe a číslach, ako aj sile signálu
  • GLL- zemepisná šírka, dĺžka a čas
  • ZDA- údaje o čase a dátume

Nezačal som podrobne rozoberať, z čoho sa každá správa skladá, odkaz na dokument s popisom protokolu je uvedený na konci článku. Určitý typ modulu GPS nemusí prenášať všetky uvedené údaje. Môžete zakázať alebo povoliť prenos rôznych typov údajov, ako aj nastaviť obdobie ich vydávania. Na konfiguráciu modulu existujú špeciálne príkazy, ktoré začínajú identifikátorom $PSRFxxx, kde xxx určuje typ a formát príkazu, rovnako ako v odchádzajúcich správach.

Napríklad príkaz $PSRF100.0.9600.8.1.0*0C nastavuje protokol výmeny a konfiguruje parametre sériového portu.

  • 100 $ PSRF – Identifikátor príkazu natívneho protokolu SIRF
  • 0 – binárny protokol SIRF, 1 - Protokol NMEA
  • 9600 – rýchlosť bps
  • 8 dátový bit
  • 1 zastaviť bit
  • 0 - kontrola parity vypnutá

Tím 103.00.00.02.01*26 $ PSRF konfiguruje výstupné parametre pre rôzne typy správ modulu:

  • 103 $ PSRF– Identifikátor príkazu natívneho protokolu SIRF
  • potom za čiarkou sú dve číslice, ktoré určujú typ vlastnej správy: 00 - GGA
    01-GLL
    02-GSA
    03-GSV
    04-RMC
    05-VTG
  • ďalšie dve číslice určujú poradie, v ktorom sa správy vydávajú, napríklad: 00 - periodicky
    01 - na vyžiadanie
  • nasledujúce čísla nastavujú obdobie hlásenia v sekundách: 00 = Vypnuté (správy sú vypnuté)
    1-255 - interval medzi správami tohto typu v sekundách
  • potom povoliť/zakázať prenos kontrolného súčtu v správe NMEA prenášanej modulom: 00 – prenos kontrolného súčtu je zakázaný
    01 - odošle sa kontrolný súčet
  • po znaku „*“, ako v odchádzajúcej správe NMEA, sa prenesie kontrolný súčet a znaky pre posun riadkov.

To je všetko, čo som chcel stručne opísať protokol NMEA 0183 a príkazy na ovládanie modulu na čipsete SIRF. Podrobnejšie vysvetlenie všetkých týchto správ a príkazov je uvedené napríklad v popise protokolu modulu Quectel L50, ktorý je možné stiahnuť z odkazu nižšie.

Popis protokolu NMEA.

Implementácia v prijímačoch Garmin a GlobalSat

Úvod

Národná asociácia námornej elektroniky (NMEA) vyvinula špecifický protokol na zachovanie interoperability námorných navigačných zariadení od rôznych výrobcov. Tento protokol NMEA popisuje nielen údaje prijaté z prijímačov GPS, ale aj merania zo sonarov, radarov, elektronických kompasov, barometrov a iných navigačných zariadení používaných na lodiach. Rozhranie na výmenu údajov väčšiny prenosných prijímačov GPS je implementované v súlade so špecifikáciou NMEA. Väčšina navigačných programov, ktoré poskytujú podporu zobrazovania údajov v reálnom čase a „rozumie“ protokolu NMEA. Tieto údaje obsahujú kompletné navigačné merania GPS prijímača - polohu, rýchlosť a čas. Všetky správy NMEA pozostávajú zo sekvenčného súboru údajov oddelených čiarkami. Každá jednotlivá správa je nezávislá od ostatných a je úplne „kompletná“. Správa NMEA obsahuje hlavičku, súbor údajov reprezentovaných znakmi ASCII a pole „kontrolný súčet“ na overenie platnosti prenášaných informácií. Hlavička štandardných správ NMEA pozostáva z 5 znakov, z ktorých prvé dva definujú typ správy a zvyšné tri - jej názov. Napríklad všetky správy GPS NMEA majú predponu „GP“. Správy, ktoré nie sú opísané v špecifikácii NMEA, ale sú implementované v prijímačoch GPS podľa bežných pravidiel, majú predponu „P“, za ktorou nasledujú tri znaky jedinečné pre každú spoločnosť. Napríklad „proprietárne“ správy NMEA od spoločnosti Garmin majú predponu „PGRM“, Magellan má predponu „PMGN“. Každá správa NMEA začína „$“, končí „\n“ („line feed“) a nemôže byť dlhšia ako 80 znakov. Všetky údaje sú obsiahnuté v jednom riadku a navzájom oddelené čiarkami. Informácie sú prezentované ako text ASCII a nevyžadujú špeciálne dekódovanie. Ak sa údaje nezmestia do pridelených 80 znakov, potom sa „rozdelia“ do niekoľkých správ NMEA. Tento formát umožňuje neobmedzovať presnosť a počet znakov v jednotlivých dátových poliach. Napríklad zlomková časť hodnoty súradníc môže byť vyjadrená 3 alebo 4 desatinnými miestami, ale to by nemalo ovplyvniť činnosť softvéru, ktorý zo správy extrahuje potrebné údaje podľa čísla poľa. Na konci každej správy NMEA je pole kontrolného súčtu oddelené od údajov „*“. Voliteľne sa môže použiť na kontrolu integrity a platnosti každej prijatej správy. Protokol NMEA podporuje nielen odchádzajúce, ale aj prichádzajúce správy, ktoré je možné použiť napríklad na aktualizáciu alebo pridávanie trasových bodov trasy. Tieto správy musia byť vytvorené v prísnom súlade s formátom NMEA, inak ich prijímač GPS jednoducho ignoruje. Je potrebné poznamenať, že nie všetky navigačné programy a modely prijímačov podporujú tento režim, pretože na načítanie bodov a trás používajú proprietárne protokoly od výrobcov ako Garmin, Magellan atď. Protokol NMEA prešiel od svojho vzniku niekoľkými úpravami súvisiacimi s pridávaním nových polí a správ. Aktuálna verzia podporovaná väčšinou prijímačov je verzia 2.3, aj keď už bola zverejnená nová verzia 3.0. Kompletná špecifikácia správ NMEA nie je voľne dostupná a nie je možné ju oficiálne stiahnuť v elektronickej podobe.Jej jednotlivé časti, všeobecný popis protokolu NMEA a najpopulárnejšie správy nájdete na internete. Dokumentáciu NMEA si môžete oficiálne zakúpiť na http://www.nmea.org/ .

zoznam správ

Protokol NMEA popisuje veľký zoznam rôznych správ, z ktorých možno rozlíšiť dve desiatky správ, ktoré sa aktívne používajú v navigačných zariadeniach. Pre veľkú obľubu a jednoduchú prezentáciu údajov našiel protokol NMEA uplatnenie nielen v námorných zariadeniach, ale aj v geodetických, domácich a leteckých prijímačoch GPS.

    AAM - Príchod na Waypoint

    ALM – údaje almanachu

    APA – údaje autopilota „A“

    APB – údaje autopilota „B“

    BOD - Azimut na miesto určenia

    DTM - Použitý dátum

    GGA - Fixed Solution Information

    GLL – údaje o zemepisnej šírke a dĺžke

    GSA – Všeobecné informácie o satelite

    GSV - Podrobné informácie o satelite

    MSK - Odovzdanie na základňový prijímač

    MSS - Stav základného prijímača

    RTE - Smerovacie informácie VTG - Motion and Velocity Vector

    WCV - Údaje o rýchlosti blízko trasového bodu

    WPL – údaje o trasových bodoch

    XTC - Chyba sledovania

    XTE – Chyba pri odjazde z trate

    ZTG – čas UTC a zostávajúci čas do príchodu do cieľa

    ZDA - Dátum a čas.

Niektoré správy NMEA môžu obsahovať rovnaké dátové polia alebo môžu obsahovať celé dáta iných menších správ NMEA.

GGA - fixné informácie o riešení.

Najpopulárnejšia a najpoužívanejšia správa NMEA s informáciami o aktuálnom pevnom riešení - horizontálne súradnice, hodnota nadmorskej výšky, počet používaných satelitov a typ riešenia.

GPGGA, 123519,4807,038,N,01131,000,E,1,08,0,9,545,4,M,46,9,M,*47

GGA - hlavička NMEA

123519 – čas UTC 12:35:19

4807,038, N - zemepisná šírka, 48 stupňov 7,038 minút severnej zemepisnej šírky

01131 000, E - zemepisná dĺžka, 11 stupňov 31 000 minút východne

1 - typové riešenie, Samostatné riešenie

08 - počet použitých satelitov

0,9 - geometrický faktor, HDOP

545,4, M - nadmorská výška v metroch

46,9, M je výška geoidu nad elipsoidom WGS 84

[prázdne pole] – čas, ktorý uplynul od prijatia poslednej korekcie DGPS. Vyplní sa, keď je aktivovaný režim DGPS

[prázdne pole] – identifikačné číslo základňovej stanice. Vyplní sa, keď je aktivovaný režim DGPS.

GSA - všeobecné informácie o satelitoch.

Táto správa NMEA obsahuje zoznam satelitov použitých pri výpočte polohy a hodnoty geometrických faktorov DOP, ktoré určujú presnosť výpočtu polohy. Parametre DOP sú určené geometrickým usporiadaním satelitov na oblohe. Čím lepšie sú satelity „rozmiestnené“ na oblohe, tým nižšie je DOP a tým lepšia je presnosť polohy. Minimálna hodnota PDOP (= 1) zodpovedá situácii, keď je jeden satelit priamo nad používateľom a ďalšie 3 sú rovnomerne rozložené okolo na úrovni horizontu. Hodnota PDOP sa vypočíta ako druhá odmocnina súčtu druhých mocnín HDOP a VDOP.

$GPGSA,A,3,04,05,09,12,24,2,5,1,3,2,1*39

    GSA – hlavička NMEA

    A - typ voľby medzi 2D a 3D riešením, automatický (A-auto, M-manuál)

    3 – typ riešenia, 3D riešenie (1 – žiadne riešenie, 2 – 2D riešenie, 3 – 3D riešenie)

    04,05… - PRN kódy používané pri výpočte satelitnej polohy (12 polí)

    2,5 - priestorový geometrický faktor, PDOP

    1,3 - horizontálny geometrický faktor, HDOP

    2.1 - vertikálny geometrický faktor, VDOP

GSV - Podrobné informácie o satelite

Táto správa NMEA obsahuje podrobné informácie o všetkých satelitoch sledovaných navigátorom GPS. Na základe obmedzenia 80 znakov je možné v rámci jednej správy NMEA prenášať údaje len pre 4 satelity. V súlade s tým sú potrebné 3 správy GSV pre 12 satelitov. Pole SNR (Signal to Noise Ration) obsahuje úrovne navigačných signálov prijímaných zo satelitov. Teoreticky sa jeho hodnota môže meniť od 0 do 99 a meria sa v dB. V skutočnosti je úroveň signálu v rozsahu 25 ... 35 dB. Tu je vhodné poznamenať, že tento parameter nie je absolútny a nie je vhodný na porovnávanie citlivosti prijímačov rôznych modelov a výrobcov. GPS navigátory môžu používať rôzne algoritmy na výpočet úrovne prijatého signálu, čo vedie k rôznym výsledkom pri rovnakom stupni citlivosti prijímačov. Pre každý viditeľný satelit GPS sa prenáša súbor informácií vrátane sily signálu, nadmorskej výšky a azimutu satelitu. Počet týchto „súborov“ je určený celkovým počtom viditeľných satelitov, ktorých hodnota sa prenáša v samostatnom poli.

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

    GSV – hlavička NMEA

    2 - počet správ GSV v pakete

    1 – číslo správy v pakete (od 1 do 3)

    08 - počet viditeľných satelitov

    01 - číslo satelitu

    40 - elevačný uhol, v stupňoch

    083 - azimut v stupňoch

    46 - SNR, úroveň signálu

Táto správa NMEA obsahuje celý súbor takzvaných údajov „PVT“. "PVT" je bežná skratka pre "position, velocity, time" (poloha, rýchlosť, čas).

$GPRMC,123519,A,4807,038,N,01131,000,E,022,4,084,4,230394,003,1,W*6A

    RMC - hlavička NMEA

    123419 - čas UTC, 12:34:59

    A - stav (A-aktívny, V-ignorovať)

    4807.038,N - zemepisná šírka, 48 stupňov 07.038 minút severnej zemepisnej šírky

    01131.000,E - zemepisná dĺžka, 11 stupňov 31.000 minút východne

    022.4 - Rýchlosť v uzloch

    003.1,W - Magnetické variácie

GLL – údaje o zemepisnej šírke a dĺžke

Správa NMEA s hodnotou súradníc zemepisnej šírky a dĺžky a časom, kedy bolo toto riešenie vypočítané.

$GPGLL,4916,45,N,12311,12,W,225444,A,*31

    GLL – hlavička NMEA

    4916,46,N - zemepisná šírka, 49 stupňov 16,45 minúty severnej zemepisnej šírky

    12311,12 západnej dĺžky, 123 stupňov 11,12 minúty západne

    225444 - Fixný čas v časovej mierke UTC, 22:54:44

BOD - Azimut do cieľa

Táto správa NMEA označuje azimut k cieľu v režime navigácie.

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

    BOD – hlavička NMEA

    045.,T – skutočný smer k veci

    023.,M – magnetický smer do bodu

    DEST - identifikačné číslo koncového bodu

    ŠTART - identifikačné číslo miesta štartu

GPRMB,A,0,66,L,003,004,4917,24,N,12309,57,W,001,3,052,5,000,5,V*20

    RMB – hlavička NMEA

    A - Typ údajov, (A - aktívny, V - ignorovať)

    0,66,L - odchýlka od stopy. Parameter je definovaný v námorných míľach. (L-vľavo, R-vpravo)

    003 - identifikačné číslo miesta štartu

    004 - identifikačné číslo koncového bodu

    4917,24,N je hodnota zemepisnej šírky koncového bodu, 49 stupňov 17,24 minút severnej zemepisnej šírky

    12309,57,W je hodnota zemepisnej dĺžky koncového bodu, 123 stupňov 09,57 minúty západne

    001.3 – vzdialenosť k bodu v námorných míľach

    000,5 - rýchlosť, v uzloch

    V - informácie o príchode (A - príchod, V - bod ešte nedosiahnutý)

RTE - Smerovacie informácie

Správa NMEA RTE uvádza trasové body na aktívnej trase. Existujú dva typy správ RTE. V prvom prípade sa zobrazia všetky trasové body. V druhom už len zoznam zvyšných bodov, ktoré ešte treba navštíviť počas pohybu po trase. Vzhľadom na to, že protokol NMEA má obmedzenie, že dĺžka správy by nemala presiahnuť 80 znakov, správa RTE môže pozostávať z niekoľkých riadkov.

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

    RTE - hlavička NMEA

    2 - celkový počet správ na zobrazenie úplného zoznamu údajov

    1 – číslo správy zo všeobecného zoznamu

    с – typ RTE správy (с – úplný zoznam trasových bodov, w – zoznam trasových bodov, ktoré sa majú navštíviť)

    0 - ID trasy

    W3IWI,DRIVWY,.. - zoznam trasových bodov

Funkcie Garmin

Prijímače Garmin podporujú väčšinu správ NMEA obsahujúcich GPS merania, súradnice a čas – GGA, GLL, GSA, GSV, RMC. Rovnako ako navigačné správy - RMB, BOD

Pre zobrazenie týchto správ je potrebné zmeniť rozhranie z „Garmin“ na „NMEA“ v nastaveniach prijímača a prípadne nastaviť požadovanú rýchlosť. Rovnakú rýchlosť je potrebné nastaviť v navigačnom programe v nastaveniach sériového portu, ku ktorému je navigátor pripojený.

Žiaľ, prijímače s USB portom nepodporujú protokol NMEA, pričom jeho nastavenie je obmedzené len na protokol Garmin.

Na zobrazenie informácií prichádzajúcich na sériový port počítača môžete použiť terminálový program Windows alebo niektorý z navigačných programov, ktoré túto funkciu podporujú.

Nižšie je uvedený zoznam správ NMEA prijímača Garmin eMap, ktoré sú obsiahnuté v rovnakej epoche.

$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

Okrem štandardných správ NMEA prijímače Garmin implementujú vlastnú sadu správ, z ktorých každá obsahuje predponu „GRM“ v hlavičke, identifikátor „M“ alebo „Z“ identifikujúci typ údajov a jeden znak pre názov.

PGRME - Odhad chyby polohy

$ PGRME, 15,0, M, 45,0, M, 25,0, M * 1C

    15,0,M - odhad chyby horizontálneho polohovania v metroch

    45,0,M - odhad vertikálnej chyby, v metroch

    25,0,M - ekvivalentná sférická chyba polohovania

PGRMZ - výškové merania

$PGRMZ,93,f,3*21

    93.f je hodnota výšky v librách

    3 - podmienky merania polohy (2 - výška definovaná používateľom,

    3 - výška vypočítaná pomocou GPS)

PGRMM - aktuálny údaj

$PGRMM,NAD27 Kanada*2F

    NAD27 Canada je názov aktuálneho horizontálneho dátumu

Vlastnosti Sirf

GPS čipy Sirf sa používajú v rôznych navigačných zariadeniach GPS, od bežných dosiek až po prenosné a automobilové GPS navigácie. Ale na rozdiel od navigátorov podporujú iba správy NMEA súvisiace s GPS meraniami, výpočtom polohy a času – GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

„Sirf“ podporuje aj niekoľko „prichádzajúcich“ správ NMEA na konfiguráciu a nastavenie rôznych parametrov. Okrem toho „Sirf“ implementuje svoj vlastný binárny protokol, ktorý vám umožňuje zmeniť oveľa viac nastavení. Týchto 5 „prichádzajúcich“ správ NMEA začína podľa pravidiel predponou $PSFR. Všetky správy obsahujú pevnú množinu údajov a končia sa znakom „\n“ (feed)

Na konfiguráciu parametrov "Sirf" sa používa špeciálny program "SirfTech". Nastavenia správ NMEA sa konfigurujú v samostatnej položke ponuky.

$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

Ako je vidieť z vyššie uvedeného príkladu, „továrenské“ nastavenia obsahujú menej správ NMEA v porovnaní s nastaveniami Garmin. V prípade potreby je možné túto množinu rozšíriť nastavením obdobia v chýbajúcich správach 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, 100 833 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 $, 1 008 34 000, 20. 5. 2007, * 5 A

PSFR100, PSFR102 - konfigurácia sériového portu

Správa NMEA číslo 100 slúži na nastavenie portu A, správa 102 - port B. Správa 100 má doplnkové pole, ktoré umožňuje prepnúť rozhranie na binárny protokol Sirf.

V binárnom protokole teda existuje príkaz, ktorý prepne port späť na formát NMEA. Pred prechodom na binárny protokol musíte pochopiť, či program, ktorý vám neskôr umožní obnoviť protokol NMEA.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

    PSRF100 - hlavička NMEA

    0 - parameter označujúci, v akom režime bol protokol zmenený (0-Sirf, 1-NMEA)

    9600 – rýchlosť portu (4800, 9600, 19200, 38400)

    8 - dátové bity (7, 8)

    1 - stop bity (0,1)

    0 – párovanie (0 – nie, 1 – nepárne, 2 – párne)

PSFR101, PSFR104 - inicializácia parametrov prijímača

Správy NMEA s číslami 101 a 104 sú určené na inicializáciu parametrov pre príjem GPS. Definovanie týchto parametrov môže urýchliť čas získavania satelitov GPS. Správa 101 nastavuje aktuálne súradnice vo formáte XYZ, správa 104 - vo formáte BLH (zemepisná dĺžka, šírka).

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

$PSRF104.37.3875111,-121.97232.0.95000.237759.922.12.3*3A

    PSRF101 - hlavička NMEA

    37,3875111 - zemepisná šírka v stupňoch

    121,97232 - zemepisná dĺžka v stupňoch

    0 - výška, v metroch

    95000 - hodinový posun

    237759 - GPS čas v sekundách

    922 - číslo týždňa GPS

    12 - počet kanálov

    3 – typ inicializácie dát (1 – horúci štart, 2 – teplý štart, 3 – inicializácia dát, 4 – studený štart s úplným vymazaním dát, 8 – studený štart s obnovením továrenských nastavení)

PSFR103 - konfigurácia generovania správ NMEA

Táto správa NMEA vám umožňuje nastaviť alebo dotazovať sa na obdobie generovania pre každú „odchádzajúcu“ správu NMEA.

103.05.00.01.01*20 $ PSRF

    PSRF103 - hlavička NMEA

    05 - názov správy

    01 - bodka, v sekundách (0-255)

    01 – prítomnosť kontrolného súčtu (0 – áno, 1 – nie)

Výsledky experimentu

Za normálnych podmienok satelitnej viditeľnosti vysiela prijímač Garmin eMap nasledujúci súbor správ 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

$PGRM,WGS 84*06

$GPRTE,1,1,c,*37

Z analýzy správ je zrejmé, že prijímač momentálne sleduje 10 (GSV) satelitov, z ktorých 7 (GGA) sa používa na výpočet polohy. Chyba horizontálnej polohy je 6 metrov (RME) a ​​indikátor typu riešenia je 1 (GGA)

Ak vytvoríte podmienky, za ktorých nebude signál GPS prijímaný, správy GGA budú obsahovať „prázdne“ polia a indikátor typu riešenia bude mať hodnotu 0 (GGA).

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

$GPGSA,A,1,,*1E

V „normálnom“ režime obsahujú správy RMB a BOD prázdne polia. Keď bol ako konečný cieľ vybratý trasový bod „Cesta“, tieto polia boli „vyplnené“ údajmi. Ako vyplýva z analýzy správy, vzdialenosť k bodu je 1,620 míle, azimut pohybu je 6,3 stupňa (BOD). V tomto prípade sa azimut správ BOD a RMB líši o 0,1 stupňa.

$GPRMB,A,0,00,R,Cesta,5524,501,N,03710,445,E,1,620,6,4,V,A*59

$GPBOD,6,3,T,357,0,M,Cesta,*74

Po výbere domácej trasy pre navigáciu sa v zozname správ RTE zobrazil zoznam všetkých trasových bodov trasy. A v správe RMB - identifikačné čísla začiatočného a koncového (ďalšieho) bodu trasy.

$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

Záver

Vo väčšine prípadov používateľ nepotrebuje a ani nemá záujem vedieť, aké údaje a v akých poliach sa prenášajú. Väčšina navigačných programov „analyzuje“ dáta správy NMEA a prezentuje ich v užívateľsky príjemnej forme – grafy, tabuľky, tabuľky atď.

Obzvlášť zaujímavé sú správy NMEA pre používateľov, ktorí by chceli študovať údaje GPS, vypočítať odhad prijatých meraní alebo analyzovať správanie navigačných prijímačov v rôznych podmienkach. Existuje množstvo programov, pomocou ktorých môžete tieto problémy vyriešiť.

Na hĺbkovú analýzu údajov GPS však formát NMEA nie je určený, pretože neobsahuje takzvané „surové“ merania - pseudovzdialenosť, fáza, dopplerov. Každý výrobca navigačných zariadení má svoj vlastný „otvorený“ alebo „uzavretý“ protokol, ktorý vydáva tieto informácie.

NMEA je jednoduchý a zrozumiteľný formát, ktorý umožňuje nielen výmenu údajov medzi prijímačmi GPS a navigačnými programami, ale poskytuje používateľom aj určitú predstavu o princípoch fungovania satelitných navigačných zariadení.

Pozor!

Ako zdrojový materiál použitý článok zo stránky " GPS portál"