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 deg
07.038' N
01131.324,E = Longitude 11 deg
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 deg.
16.45 min. Nord.
12311.12,W = Longitude 123 deg.
11.12 min. 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 deg.
16.45 min North
12311.12,W = Longitude 123 deg.
11.12 min 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.