NMEA
0183, NMEA 2000 :
|
- NMEA, acronyme de : "National
Marine Electronics Association", désigne une association de
professionnels de
l'électronique marine.
- NMEA 0183 est une norme applicable dans les communications
en marine édictée par l'association NMEA.
- Plusieurs versions de la NMEA 183 existent
- NMEA
2000 est une autre norme venant après la norme NMEA 183. Mais, les
applications tardent à apparaitre, du moins pour ce qui nous concerne.
- Dans la norme NMEA 0183, il y a la description d'un
système de communication qui concernent :
- La VHF,
- Le GPS,
- Le sondeur,
- Le speedomètre,
- L'anémomètre,
- L'ordinateur,
- Le pilote automatique,
- Le module AIS,
- Etc ...
- Les informations qui circulent, d'un appareil vers un
autre, doivent être structurées en "Phrase" dont le contenu est codifié.
|
Up
|
Phrase
NMEA : Késako ? What is this ? Cé koa ? Que cosa e ? |
- Une "phrase NMEA" ou "sentence NMEA" ou "trame NMEA" est un
message de 82 caractères au plus.
- Tous les caractères imprimables sont utilisables. S'y
ajoute deux caractères "invisibles", le retour chariot, [CR], et le
passage à la ligne, [LF].
- Chaque caractère est codé sur 8 bits donc, une trame
contient au plus 8 X 82 = 656 bits.
|
|
GPS
et Phrases NMEA : |
- Un GPS reçoit des informations d'une collection de 32
satellites qui sont :
- géostationnaires pour quelques un d'entre eux,
- En orbite vers 20000km d'altitude pour les autres.
- Un GPS ne peut pas voir tous les satellites simultanément.
- Quatre
satellites sont une quantité minimale pour que le GPS puisse être
opérationnel. Et ceci parce que le calculateur du GPS doit résoudre un
système d'équations mathématiques où 4 variables interviennent :
latitude, longitude, altitude et heure.
- Au
mieux, un maximum de 12 satellites sont pris en compte simultanément
même si le GPS capte des informations issues de plus de 12 satellites.
- Un GPS "assemble" les informations issues des satellites et
construit des phrases NMEA qu'il met à disposition des autres appareils
électroniques.
|
Up |
- Un GPS met, à la disposition de ses utilisateurs, toutes
les trames, à chaque seconde.
- Donc, un maximum de 58 trames, environ, peuvent être
envoyées chaque seconde (si elles font toutes 82 caractères).
- Le GPS émet chaque trame à la vitesse de 4800 bauds
autrement dit 4800 caractères par seconde.
- Soit une vitesse de 38400 bits par seconde.
Nota bene :
- Il se pourrait, à la vue de certaines publicités, pour
certains GPS,
annonçant une vitesse de 38400 bauds, que les fabricants confondent,
peut être volontairement, les deux façons d'exprimer la vitesse
d'émission des trames par le GPS. Marketing oblige !
- Ceci dit, il semble qu'il existe deux versions de la norme
NMEA 0183, pour la vitesse de transmission, l'une à 4800 bauds et
l'autre à 38400 bauds.
- Pour les matériels respectant la norme NMEA 2000, la
vitesse de transfert peut être bien plus grande.
|
|
Structure
d'une phrase :
|
- Le premier caractères d'une trame doit être "$"
- Les caractères suivants servent à identifier le récepteur
ou l'émetteur.
Par exemple :
- GP pour global positionning system,
- LC pour loran-C receiver,
- FR pour le logiciel Franson,
- Etc ...
- Pour certains fabricants, il y a P comme propriétaire
suivi
de lettres permettant de le reconnaitre. Par exemple, pour GARMIN,
c'est PGRM,
- Suivent trois lettres qui servent à définir la nature de la
trame.
- Suit la première virgule,
- On ajoute des champs, variables en nombre et en contenu
selon la nature de la trame, séparés par une virgule.
- Dans certain cas, certains champs sont vides.
- Mais
la séquence des champs devant être toujours identique, pour un type de
trame donné, il y a quand même le séparateur de champs, à savoir la
virgule.
De ce fait, on peut rencontrer plusieurs virgules successives dans un
trame.
- Enfin, on y trouve une étoile suivie de deux caractères,
correspondant à un nombre en hexadécimal. C'est un checksum. Ce nombre
est un "OU exclusif", XOR, des caractères situés entre le caractère $ et le
caractère * de la trame. Il permet un minimum de vérification de la
qualité du message reçu.
- La fin d'une trame est matérialisée par la séquence
[CR],[LF].
|

Ci dessus, le contenu de la
fenêtre de débugage, avec openCPN 3.0.2 ou antérieur.
|
Up
Up
|
- Dans l'image, ci dessus à droite, chaque ligne donc chaque
trame :
- contient 6 ou 7 caractères, dont le dollar, avant la
première virgule.
- se termine par deux traits verticaux qui symbolisent le
[CR] et le [LF].
- Certaines trames ne comportent qu'un seul champ.
- Les paires de chiffres, situées en tête, séparées par le
signe
":" :
- correspondent à l'heure de réception des données selon le
format hh:mm:ss,
- ne font pas partie des trames.
|
Up
|
Que
fait OpenCPN avec les phrases :
|
- OpenCPN sait interpréter certain types de phrases.
- Celles qui sont reconnues servent :
- pour le positionnement du bateau
- pour l'AIS si le bateau est équipé d'un récepteur,
- pour le pilote automatique si le bateau en est équipé.
|
|