| Versions |
 |
|
|
Note: You must be registered in order to post a reply. To register, click here. Registration is FREE!
|
| T O P I C R E V I E W |
| etxegarraia |
Posted - 06 nov. 2004 : 13:07:57 Les Trames NMEA

- Préambule.
- Définition du Standard NMEA.
- La trame : GGA
- La trame : GLL
- La trame : GSA
- La trame : GSV
- La trame : VTG
- La trame : RMC
- Comment visualiser les trames.
- Liens utiles.
1 - PREAMBULE
NMEA - National Marine & Electronics Association, est une Association à but non lucratif fondée par un groupement de professionnels de l'industrie de l'électronique des périphériques marine, conjointement avec des fabricants, des distributeurs, des revendeurs, des institutions d'enseignements. Leur but entre autre, harmoniser et standardiser les équipements de la marine.
NMEA est à l'origine de nombreux standards et en particulier du Standard NMEA-0183 qui nous intêresse le plus.
Dans ce qui suit, le Standard NMEA est défini "simplement" et uniquement pour la compréhension de ce topo, comme étant le protocole de transmission des données entre les instruments et équipements électroniques liés au GPS.
La dernière version de ce standard nous précise "Habot", est la version 2000 (Hé oui, nous n'utilisons pas encore la dernière version). Celle ci, apporte surtout un nouveau média (les Bus CAN, que vous connaissez sans le savoir puisqu'ils équipent vos véhicules depuis plusieurs années déjà), mais pas de changements majeurs dans les dialogues. Nous nous intéresserons donc plus particulièrement à la version NMEA-0183, utilisée dans nos appareils actuels.
Les prochains développements seront basés sur la FAQ (en anglais de Peter Bennet), le développement de Glenn Baddeley et quelques autres sources citée en fin d'article). Citons immédiatement, le site de Christian Couderc : Voilelec qui est, à notre sens, une référence pour les aspects 'marins' & électroniques du protocole (et en français).
2 - DEFINITION DU STANDARD NMEA-0183
Sous ce standard, toutes les données sont transmises sous la forme des caractères ASCII, tous imprimables, ainsi que les caratères [CR] Retour Charriot et [LF] Retour à la ligne, à la vitesse de transmission de 4800 bauds.
Les données sont tranmises sous forme de trames (sentences, phrases).
Il y a une transmission de toutes les trames en paquet, toutes les secondes d'horloge interne du GPS soit une fréquence de 1Hz.
Chaque trame commence par le caractère $
Suivi par un groupe de 2 lettres pour l'identifiant du récepteur.(non limitatif) citons:
- GP pour Global Positioning System.
- LC Loran-C receiver.
- OM Omega Navigation receiver.
- II Integrated Instrumentation (eg. AutoHelm Seatalk system).
(Pour certains fabricants propriétaires comme par exemple : Garmin, l'indication P pour propriétaire est suivie du code 3 lettres du fabricant garmin = $PGRM, puis ensuite l'identifiant de trame et le format des données sont libres pour ce fabriquant). Des exemples complets sont proposés dans les liens ci-dessous. Puis un groupe de 3 lettres pour l'indentifiant de la trame.
- GGA : pour GPS Fix et Date.
- GLL : pour Positionnement Géographique Longitude-Latitude.
- GSA : pour DOP et satellites actifs.
- GSV : pour Satellites visibles.
- VTG : pour Direction (cap) et vitesse de déplacement (en noeuds et Km/h).
- RMC: pour données minimales exploitables spécifiques.
Suivent ensuite un certain nombre de champs (fields) séparés par une "virgule". Le rôle de la virgule est d'être le séparateur de champs, qui permet la déconcaténation des données dans le programme de traitement des données, calculateur, navigateur.
Et enfin un champs optionnel dit checksum précédé du signe * , qui représente le OR exclusif de tous les caractères compris entre $ et * (sauf les bornes $ et *), certaines trames exigent le checksum.
Suit la fermeture de la séquence avec un [CR][LF].
Un total de 82 caractères maximum pour une trame.
Et on passe à la trame suivante.
Comme indiqué, le Standard NMEA ne se borne pas qu'à ces 5 trames ci-dessus, et dans les liens vous trouverez accès à la documentation complète du Standard.

3 -La trame : GGA
Données d'acquisition du FIX - GPS.
$GPGGA,123519,4807.038,N,01131.324,E,1,08,0.9,545.4,M,46.9,M, , *42 123519 = Acquisition du FIX à 12:35:19 UTC 4807.038,N = Latitude 48°07.038' N 01131.324,E = Longitude 11°31.324' E 1 = Fix qualification : (0 = non valide, 1 = Fix GPS, 2 = Fix DGPS) 08 = Nombre de satellites en pousuite. 0.9 = DOP (Horizontal dilution of position) Dilution horizontale. 545.4,M = Altitude, en Metres, au dessus du MSL (mean see level) niveau moyen des Océans. 46.9,M = Correction de la hauteur de la géoïde en Metres par raport à l'ellipsoîde WGS84 (MSL). (Champ vide) = nombre de secondes écoulées depuis la dernière mise à jour DGPS. (Champ vide) = Identification de la station DGPS. *42 = Checksum Non représentés CR et LF.
4 - La trame : GLL
Position Géographique - Longitude / Latitude - GPS $GPGLL,4916.45,N,12311.12,W,225444,A 4916.46,N = Latitude 49°6.45' Nord. 12311.12,W = Longitude 123°11.12' West (ouest) 225444 = Acquisition du Fix à 22:54:44 UTC A = Données valides Pas de checksum Non représentés CR et LF
5 - La Trame : GSA
Satellites actifs - DOP dilution de précision -GPS
$GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39
A= Sélection Automatique 2D ou 3D du FIX (M=Manuel) 3 = Fix 3D 04,05... = PRNs (N° d'Id) des satellites utilisés pour le FIX (maximum 12 satellites) 2.5 = PDOP (dilution de précision) 1.3 = Dilution de précision horizontale(HDOP) 2.1 = Dilution de précision verticale (VDOP) *39 = Checksum Non représentés CR et LF
Note : La DOP, dilution de précision est une indication de l'effet de la géométrie des satellites sur la précision du Fix.
6 - La trame : GSV
Satellites en vue - GPS $GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75 2 = Nombre de trames GSV avec les données complètes. 1 = Trame 1 de 2 trames (jusqu'à 3 trames) 08 = Nombre de satellites visibles (SV). 01 = N° d'identification du 1er Satellite. 40 = Elevation en degrés du 1er Satellite. 083 = Azimuth en degrés du 1er Satellite. 46 = Force du signal du 1er Satellite (Plus grand=meilleur)
(Cette séquence se répète jusqu'à 4 satellites par trames. On peut donc avoir jusqu'à 3 trames GSV dans une transmision (12 satellites).) *75 = cheksum non représentés les CR et LF
Ce qui vous explique la limitation à 12 satellites de nos petits appareils.
7 -La trame : VTG
Cap (direction) et vitesse sol GPS $GPVTG,054.7,T,034.4,M,005.5,N,010.2,K
054.7,T = cap réel en Degrés , T (True track made good) 034.4,M = cap vrai magnétique en Degrés (Magnetic track made good) 005.5,N = Vitesse du déplacement par rapport au sol en Noeuds (N) 010.2,K = Vitesse du déplacement par rapport au sol en Kilomètres heure. (K) non représentés CR et LF
8 - La Trame RMC
Données minimales recommandées de spécification GPS $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68
225446 = Heure du Fix 22:54:46 UTC A = Alerte du logigiel de navigation ( A = OK, V = warning (alerte) 4916.45,N = Latitude 49°16.45' North 12311.12,W = Longitude 123°11.12' West 000.5 = vitesse sol, Knots 054.7 = cap (vrai) 191194 = Date du fix 19 Novembre 1994 020.3,E = Déclinaison Magnetique 20.3 deg Est *68 = checksum obligatoire Non représentés CR et LF
Ces données "minimales" , sont le plus souvent utilisées dans les programmes de navigation-GPS simples.
9 - Comment visualiser les trames.
Quelques logiciels gratuits de traitement et visualisation.
VisualGPS-ce : Lien


VisualGPS PC : Lien .
NAVTEC NMEA Monitor : Lien

WDGPS : Lien
WDGPS pour PPC : Lien
 
TomTom : Dont le driver enregistre les trames NMEA, qu'il est possible de récupérer et de visualiser avec un éditeur.
10 - Liens Intéressants
Et la recherche avec Google en haut de page
_____________________________________ Team GpsPassion - Modérateur PPC250 - SD 1024 Mo - GPS Royaltek RGM-2000 Navigon MN|4.2 - Poi-Edit - POI-Warner - Autoroute 2004
Où commencer ?- N'oubliez pas : La Charte
Urrundik ikhusten ditut
|
| 15 L A T E S T R E P L I E S (Newest First) |
| barbudor |
Posted - 13 nov. 2010 : 11:36:28 Bonjour,
Non les trames NMEA ne peuvent pas contenir les trames brutes. Seules la liste des satellite et le niveau de réception est disponible. Il peut y avoir plusieurs raisons pour que ton récepteur ne s'accroche pas même si tu as l'impression que la réception est bonne.
Pour faire ces calculs, dont tu sembles sous-estimer la complexité, il faut connaitre la position exacte de chaque satellite à chaque instant. Pour cela il faut calculer les orbites des satellites à partir des donnes d'éphémérides que l'on reçoit des satellites eux-mêmes. La réception de ces éphémérides est la condition clef au décodage des positions. Il peut arriver que malgré un niveau de signal apparemment suffisant, le signal soit perturbé et que donc le récepteur ne puisse par remplir entièrement ses tables d'éphémérides. Donc pas de décodage de position.
Dans ce cas précis, même si tu avais toi même accès aux données reçues du satellite, comme elle sont incomplètes, tu n'arriverais pas à mieux.
La seule solution est de disposer des éphémérides précalculées, tel que l'offre la solution Sirf-Instant-Fix.... Mais c'est un autre TOPIC 
A+
|
| Drebon |
Posted - 12 nov. 2010 : 23:24:36 J'ai une petite question sur les trames nmea :
Est-il possible de remonter aux informations suivantes pour chaque satellite :
* date d'émission * position du satellite
J'oublie peut-être un ou deux champs, mais en gros, je voudrais pouvoir obtenir les infos nécessaires à faire "à la main" le calcul de position.
En effet sur de nombreux appareils bas de gamme, le fix se fait ultra lentement alors qu'un grand nombre de satellite est visible.
De plus la plus part de ces appareils utilises une référence de temps extérieure et font un calcul sur des sphères au lieu de faire un calcul sans référence externe sur des hyperboloïdes.
En vrai, j'aimerais presque remonté au signal brut, mais ceci semble impossible. Du coup si les trames nmea comme la gsv pouvait aussi contenir de manière précise les dates d’émission et de réception (en relatif sur deux satellites) on devrait pouvoir faire le calcul de position.
Merci |
| barbudor |
Posted - 02 mars 2010 : 11:00:02 [ed - team gpspassion]
Message posté par Chahine : je suis entrain de communiquer avec le module gps et312. J'ai utilisé le mikrobasic pour envoyer les trames je veux savoir exactement la signification de cette trame ( $PSRF100,01,9600,10,1,0,*0C ) et si je veux recevoir la position geografique comment faire?[ed ? multiples], merci pour l'aide
Bonjour
Google est ton ami. http://www.gpsinformation.org/dale/nmea.htm
C'est une commande spécifique aux chipsets SirfIII Elle sert notamment a faire passer le chip du mode NMEA au mode binaire SIrfIII (a éviter)
Pour la position géographique, la trame la plus couramment utilisée est $GPRMC (Recommended Minimum Data for Navigation). Il y a la position, la date et l'heure, l'orientation. La trame GLL est plus courte et ne contient que la position mais pas la date et l'heure.
A+
|
| flette |
Posted - 29 janv. 2010 : 11:49:08 Salut à tous!
j'aurais besoin d'une confirmation à propos des trames NMEA: j'ai cru comprendre que toutes ne sont pas supportées par tous les récepteurs GPS (voir cette page: http://vancouver-webpages.com/peter/nmeafaq.txt).
Est-ce vrai? Et si oui, est-ce que ça veut dire que certaines trames ne sont pas émises du tout, ou bien avec des champs vides?
Malheureusement, je n'ai pas la norme NMEA0183 (payante) pour confirmer...
Merci beaucoup! |
| Popol2 |
Posted - 02 juil. 2009 : 13:21:08 Oui, enlève, de tête, 50m. Pour l'altitude, l'incertitude est plus grande que pour les coordonnées, et peut atteindre 25 à 30m (une quinzaine de m pour les coordonnées). On n'est donc pas à quelques mètres près pour une correction. |
| Sylver31 |
Posted - 02 juil. 2009 : 10:49:20 Merci Popol et désolé de ne pas avoir été au courant pour Extegarraia, je suis tout nouveau sur GPSPassion. J'avais vu ton post sur la trame NMEA GGA, mais ce que je ne comprend pas c'est si la correction peut être faite en dur sur le GPS ou si il faut juste tenir compte de tes explications et faire le calcul mental. |
| Popol2 |
Posted - 02 juil. 2009 : 10:20:56 Notre ami Extegarraia n'est plus. http://www.gpspassion.com/forumsen/topic.asp?topic_id=118093
Pour ton problème, voir ma réponse ici : http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=127311&whichpage=3#878847 |
| Sylver31 |
Posted - 02 juil. 2009 : 10:05:37 Bonjour, etxegarraia En clair, est-il possible de corriger le défaut des NAVIGON 8110 mis à jour en 8310 ou faut-il simplement se contenter de faire le calcul dans sa tête pour avoir la vraie altitude? Merci de ta réponse. ALAIN. |
| Leslie-Anne |
Posted - 29 mai 2009 : 09:30:24 Je ne savais justement pas les unités!! Je viens de comprendre merci Popol et merci gpspassion !
Sinon oui on sait qu'on avait pas les même coordonnée car quand on a voulu mettre les coordonées que je recevait sur VE, on se retrouvait dans un champ (alors qu'on fait sa dans un Lycée !!!) on en a donc conclu qu'il fallait faire une conversion et on a réussi ! mais je n'arrive jamais a me souvenir en quel unité sont mes donnée et je n'arrivais pas a comprendre pourquoi moi j'avais des DD.ddd et sous VE aussi mais que l'on avait pas les même chiffres. Je sais pas si je suis claire mais merci !! |
| Popol2 |
Posted - 28 mai 2009 : 11:35:15 Et si tu mettais les unités ?
Dans la trame, et comme indiqué en page 1, la notation est abrégée. Je cite :
$GPGGA,123519,4807.038,N,01131.324,E,1,08,0.9,545.4,M,46.9,M, , *42 123519 = Acquisition du FIX à 12:35:19 UTC 4807.038,N = Latitude 48°07.038' N
Dans ton cas : 4640.9875976= 46°40.9875976' (degrés et minutes décimales), ce qui est égal à 46.6831266° en degrés décimaux. Maintenant, pour ton autre valeur, Virtual Earth donne les positions en Degrés décimaux soit : 46.409875976°
Ces deux valeurs ne sont pas alors équivalentes. |
| Leslie-Anne |
Posted - 27 mai 2009 : 22:40:27 Mais y a t'il une différence entre les deux notations que j'ai mis plus haut ?
|
| Popol2 |
Posted - 27 mai 2009 : 21:48:24 En fait l'unité °(degré), ou ' (minute) est indiquée et sa place est également intéressante pour identifier l'unité finale. Exemple : - degré décimal = DD,dddd°
- Degré puis minutes décimales =DD°mm,mm'
- etc
|
| Leslie-Anne |
Posted - 27 mai 2009 : 20:52:37 Excuse moi mais je suis entrain de remarquer que les coordonnée sont 4640.9875976 (c'est un exemple) donc c'est toujours du degré décimal ? Car Virtual Earth donne ses coordonnées 46.409875976 ? Je ne sais aps trop comment interpreter mes données !! Désolé je ne m'exprime pas bien mais je suis moi même un peu perdu ^^ |
| Popol2 |
Posted - 26 mai 2009 : 12:25:41 Voir http://www.gpspassion.com/FORUMSEN/topic.asp?TOPIC_ID=16593
Si tu hésites pour les conversions, utilise un calculateur : http://www.gpsvisualizer.com/calculators |
| Leslie-Anne |
Posted - 26 mai 2009 : 10:54:54 Merci pour ta réponse ! Sinon je voulais savoir, j'ai diviser la latitude et la longitude par 60, je trouve donc une longitude et une latitude donc en DD,mm.ddddd ? Merci d'avance |
|
|
| This page was generated in 0,44 seconds. |
 |
|