image
image
image

Votre IP : 54.196.213.0
Dernier ajout : 25 février
Visiteurs connectés : 16

image Conception
Développé sous SPIP
Informations légales

image
image
Recherche image

Pratiques et Techniques de la Plaisance

image

Accueil du site > Articles > Instruments > Electronique de navigation > Les instruments NMEA

Rubrique : Electronique de navigation

__________________________________________________________________________________________________________________

Les instruments NMEAVersion imprimable de cet article Version imprimable

Publié Juin 2011, (màj Mai 2011) par : Orion   

Copyright : Les articles sont la propriété de leurs auteurs et ne peuvent pas être reproduits en partie ou totalité sans leur accord
S'identifier pour s'abonner par mail

Beaucoup de questions posées sur les forums concernent la connexion des instruments NMEA à l’ordinateur de bord ou aux équipements. Ceci est une modeste contribution d’ordre général à ce sujet.

Cet article est le reflet très partiel des expériences acquises en bidouillant les ordinateurs et en tentant de les connecter entre eux et aux différents systèmes de mon bateau, le tout avec plus ou moins de succès.

Un peu de terminologie …

Ports de communication : C’est une porte d’entrée/sortie de données entre un système d’exploitation et l’extérieur.

Port de communication série  : Pour faire simple, c’est un port de communication qui transmet les données par signaux successifs sur un même fil. Les ports USB, les ports Ethernet, et bien sûr les ports COM sont des exemples de ports série. Les ports parallèles, comme leur nom l’indique, n’en sont pas car ils transmettent les données par signaux simultanés sur plusieurs fils. Exemple : port parallèle d’imprimante.

Bus : C’est un « tuyau » dans lequel circulent des données. Il peut être série ou parallèle. Il exige une « gestion de partage » pour que chaque appareil connecté ait l’exclusivité du bus au moment ou il émet des données.

Caractéristiques physiques de transmission de l’information

Etre relié par des fils ne suffit pas pour communiquer, encore faut-il que les caractéristiques physiques de transmission de l’information soient définies.

Port COM : C’est un port de communication de type série dont les caractéristiques physiques sont normalisées sous le standard RS-232. En gros, cette norme précise comment chaque « paquet d’information » ( un octet) est représenté par les variations de tension sur le fil, à quels débits ils peuvent êtres envoyés, etc. Elle définit également un certain nombre d’autres fils dans lesquels circulent des signaux de contrôle de transmission. En RS-232 les données circulent dans un seul sens sur le fil : il y a donc deux fils data (un pour chaque sens)

Remarques :

  • Le système est en principe ‘point à point’ : on ne peut normalement relier directement que deux appareils entre eux. La raison est que la norme RS-232 ne prévoit pas de système de gestion du « bus » qui permet à plus de deux appareils de communiquer entre eux (contrairement au bus Seatalk) Cependant, les appareils qui nous intéressent ici (GPS, AIS, Navtex, etc.) n’utilisent pratiquement jamais les fils de contrôle prévu dans la norme. Ils n’utilisent que trois fils : données transmises, données reçues et fil de masse.
  • Ces mêmes appareils qui nous intéressent utilisent presque toujours le protocole de communication NMEA 183. Entre autres caractéristiques, ce protocole ne prévoit pas de vérification des données transmises entre celui qui émet et celui qui reçoit. Ceci veut dire que ces instruments n’attendent aucune réponse quand ils envoient des données, et qu’ils n’utilisent donc pas le fil « transmission de données » des appareils qui reçoivent.
  • Conclusion de ces deux remarques : on peut dans ces conditions connecter directement un appareil qui émet des données à plusieurs appareils qui les reçoivent. On peut connecter un GPS à plusieurs PC, au pilote automatique, à la VHF etc .. Il faut évidemment que les appareils « récepteurs » travaillent à la vitesse de transmission de l’émetteur. Attention : le fil d’émission des données de celui qui émet doit être relié au fil (aux fils) de réception des données (de) des appareils qui reçoivent. On peut également connecter le fil émission de données d’un seul appareil récepteur à l’appareil émetteur ou à un autre récepteur. (par exemple quand on veut garder la possibilité de charger les points tournants ou les routes du PC vers le GPS quand celui-ci le permet)

COM-USB

Les ordinateurs récents n’ont pas tous de connecteur série COM car les ports USB sont plus performants et plus pratiques pour une connexion point à point. (Ils disposent en particulier d’un fil +5 volts qui permet éventuellement d’alimenter le périphérique connecté)

Quoique tous les deux de type série, les caractéristiques de transmissions COM et USB sont totalement incompatibles pour une connexion fil-à-fil : il faut passer par un adaptateur qui transforme les signaux. Il en existe de toutes sortes, mais tous ne sont pas identiques. En conséquence, bien que rarement, il peut arriver que certains appareils COM ne fonctionnent pas avec certains adaptateurs USB. La raison en est souvent que les connexions RS-232 prévoient des fils de contrôle de flux en plus des trois fils sur lesquels circulent les données. Coté USB, il n’y a que trois fils (sans compter le + 5 volts), coté RS232, il y a 8 fils. Si l’appareil qui émet utilise les signaux transmis sur ces fils de contrôle pour fonctionner, il faut impérativement qu’ils soient correctement gérés par l’adaptateur. Par exemple, si un appareil attend un signal « terminal ready » (broche n°4 sur une prise COM DB-9) pour émettre, il n’enverrait jamais de données si l’adaptateur n’émulait pas cette broche, car le fil correspondant n’existe pas du coté USB. Le problème se situe souvent au niveau du driver de l’adaptateur. On rencontre parfois le même genre de problème avec les adaptateurs PCMCIA-COM qui ne sont pas conçus avec les puces standard RS232 (UART 16550 par exemple).
Pour un GPS ou un AIS, il ne devrait pas y avoir de problème car la plupart n’utilisent que les deux fils de transmission. C’est surtout avec les modems que la question se pose.

Ports COM sur un PC.

Un port COM, c’est comme on l’a vu, une porte d’entrée/sortie à la norme RS232.
On peut les classer en trois types :

  • Ceux que le système a reconnus au démarrage parce que la partie matérielle de la porte existe sur la carte mère (UART), qu’elle a été déclarée par le BIOS et que les drivers correspondant font partie du système d’exploitation (qui les déclare en général par défaut sous COM1 et COM2 quant il y en a deux)
  • Ceux que le système ne reconnaît pas automatiquement au démarrage, soit parce que la partie matérielle n’est pas branchée (cas d’un adaptateur USB quand on le branche après démarrage), soit (ou et) parce que les pilotes correspondant au matériel ne sont pas installés.
  • Ceux qui sont purement logiciels (port COM virtuel), qui simulent un port COM physique et qui sont créés par des programmes.

Ouverture d’un port COM. 
Pour qu’un programme utilise un port COM, il faut lui indiquer lequel, et lui donner les caractéristiques de la transmission. (principalement la vitesse). Une fois le programme connecté au port, celui-ci lui est réservé : aucun autre programme ne peut l’utiliser. On dit que le port est « ouvert ». Les ports logiciels sont à cet égard intéressants, car on peut créer des « splitters » qui permettent à plusieurs programmes de partager le même port. On peut par exemple très facilement faire fonctionner en même temps plusieurs programmes de navigation différents avec les données GPS provenant d’un seul port COM. « Virtual Serial Ports Emulator », un programme freeware remarquable, fait cela très bien. (http://www.eterlogic.com/Products.V... )

Multiplexages de données NMEA.

JPEG - 71.8 ko

On est parfois tenté par un regroupement des données NMEA provenant de plusieurs appareils sur un même port COM. C’est bien sûr possible, mais il y a quand même des contraintes. On ne peut pas relier directement plusieurs appareils qui émettent sur le même fil de données, car en l’absence d’un système de gestion du bus, les signaux émis se brouilleraient les uns les autres. On est donc obligé de passer par de l’électronique : les multiplexeurs. Il ne faut pas en attendre des miracles pour plusieurs raisons. Les plus simples se contentent de rediriger séquentiellement les différentes entrées vers la sortie et ne fonctionne qu’à 4800 bauds. Evidemment, les données transmises par un appareil au moment où son entrée n’est pas connectée à la sortie sont perdues.

Certains, plus sophistiqués, ont des mémoires tampon qui stockent les données reçues en attendant d’être à nouveau commuté vers la sortie. Un autre problème c’est qu’à la vitesse usuelle du NMEA (4800 bauds), on ne transmet qu’environ 480 octets à la seconde. Pour que le système fonctionne, il faut que la somme des octets des sentences NMEA transmises par tous les appareils soit inférieure à ce nombre car, autrement, le « débit se sortie » étant inférieur à celui d’entrée, des données se perdraient. On pourrait imaginer le multiplexeur NMEA idéal avec des entrées dotées de mémoire tampon pouvant fonctionner à différente vitesse pour s’adapter aux instruments et à une sortie à vitesse réglable (Je ne sais pas si cela existe). Dans la pratique, on a rarement l’utilité d’un multiplexeur dans la plaisance.

A noter qu’on peut trouver des multiplexeurs qui enregistrent les données reçues sur des cartes mémoire style SD-Card . Ils ne consomment que quelques milliampères en 12 volts et permettent à ceux qui le souhaitent d’éteindre le PC tout en enregistrant les données du système de navigation. (enregistrement de la trace en particulier)

NMEA et Seatalk.

Le bus Seatalk de Raymarine est un bus série à deux fils (un fil data, un fil de masse) auquel est ajouté un fil d’alimentation 12 volts. Il fonctionne à 4800 bauds et l’interfaçage RS-232/NMEA n’est pas très compliqué. Raymarine commercialise d’ailleurs un boîtier d’interface. C’est intéressant pour ceux qui veulent rentrer toutes les informations du système de navigation Raymarine dans leur PC ou connecter différents appareils et afficheurs NMEA au réseau Seatalk.

Un lien pour ceux qui envisageraient de réaliser eux même leur interface : http://www.thomas-knauf.de/rap/seat...

Attention, le format des données Seatalk est différent du format des données NMEA. Les interfaces décrites dans ce site ne permettent que de transformer les signaux du bus Seatalk en signaux RS232. Pour pouvoir les exploiter, il faut aussi traduire les données recues en sentences NMEA. Ceci exige des compétences trés sérieuses en programmation.

Il existe une interface qui relie directement le bus Seatalk à un PC via une prise USB en traduisant dans les deux sens les données(www.gadgetpool.de)

Brochage d’une prise DB9-RS232 d’un PC


Bien que non officiellement normalisé, le brochage de cette prise est universellement adopté. Pour les appareils transmettant en NMEA, seules les broches 2,3 et 5 sont utilisées.

 1 : détection de porteuse (pour les modems)
 2 : réception des données
 3 : transmission de données
 4 : signal terminal prêt
 5 : masse
 6 : signal données prêtes
 7 : signal demande d’émission de données
 8 : signal prêt à émettre des données
 9 : sonnerie

Attention ! Il faut croiser les fils : le fil émission de données de l’instrument doit être relié à la broche réception de donnée du PC et, le cas échéant, le fil réception de données de l’instrument à la broche émission du PC. Les divers dépannages que j’ai effectués au fil des escales et des mouillages m’ont enseigné que la presque totalité des disfonctionnements vient d’erreurs de branchement.

UP


Répondre à cet article
(pour répondre à un message en particulier, voir plus bas dans le fil)

13 Messages de forum

__________________________________________________________________________________________________________________

__________________________________________________________________________________________________________________

  • 23 mars 2012 08:47, par Arsouille 361 écrire     UP

    Bonjour,
    J’ai à bord une électronique de navigation de chez B&G utilisant leur réseau propriétaire. Le pilote est également installe. De l’autre cote j’ai remplacé l’ancien matériel par un PC de bord avec Maxsea. Bien sur la connexion ne se fait pas vers le pilote. Ma question est simple : ce petit équipement de conversion USB-Seatalk est-il dédié a ce bus ou est-il simplement un interface NMEA permettant de dialoguer avec tous les bus NMEA ?
    Merci pour votre réponse.

    Répondre à ce message

    • 23 mars 2012 09:23, par Robert écrire     UP     Ce message répond à ...

      B&G n’utilise pas le bus Seatalk ...

      La connexion entre B&G et le PC se fait par la ligne NMEA de B&G intégrée au boitier de commande si vous avez celui-ci :

      http://www.bandg.com/Products/H3000...

      Et malheureusement si vous avez celui-ci vous n’avez pas de sortie NMEA :

      http://www.bandg.com/Products/H3000...

      Les anciens modèles Hydra 330 (comme le mien) n’ont pas non plus de sortie NMEA.

      Répondre à ce message

      • 26 mars 2012 13:33, par Orion écrire     UP     Ce message répond à ...

        Bonjour,
        les interfaces NMEA-Seatalk sont spécifiques au bus Seatalk et ne fonctionneront qu’avec les instruments Raymarine.
        Il semble que B&G commercialise une interface spécifique à son bus : http://www.bandg.com/Products/Disco...
        Je se sais pas si elle fonctionne avec tout les modèles d’instruments B&G.

        Cordialement.

        Répondre à ce message

        • 26 mars 2012 13:53, par Robert écrire     UP     Ce message répond à ...

          C’est vrai, j’ai oublié de demander à Arsouille quel système B&G il possède ... B&G a plusieurs systèmes différents : http://www.bandg.com/Downloads/Manuals/

          • Hydra 1000 utilise cette interface NMEA qu’Orion vient d’indiquer
          • Hydra 3000 (anciennement Hydra 330 que je possède) a l’interface NMEA intégrée à l’afficheur principal (voir mon post précédent). Je n’ai pas connaissance d’une interface pour Hydra 3000 qui ne serait pas l’afficheur principal, mais cela reste à vérifier chez un vendeur (compétent !). http://www.bandg.com/Products/H3000...

          Répondre à ce message

          • 17 avril 2012 16:46, par Arsouille 361 écrire     UP     Ce message répond à ...

            Avec un long retard mais je suis juste arrivé depuis quelques jours en France et sur mon bateau depuis hier.

            L’ensemble du matériel B&G est ce qu’ils appellent la gamme NETWORK (DATA, WIND, PILOT, QUAD). Il est mentionné dans la notice du pilote qu’il peut etre interfacé a tout positionneur compatible NMEA-0183 (V1.5). Mais mon probleme est de sortir du PC avec MAXSEA au format NMEA sur un cable serie ou USB. J’ai deja essayé avec un port série configuré dans MAXSEA pour envoyer les bonnes trames sur les bonnes pinoches du pilote. Mais invariablement le pilote se refuse a communiquer.

            De la mon idée d’utiliser un convertisseur USB vers RS xxx pour mettre au bon format les trames issues du PC chargé avec MAXSEA.

            Mais est-ce la bonne solution ? Y-a-t-il une idée géniale ou une bidouille disponible sur le Net ou ailleurs qui permette de faire cela. Dans l’idée de
            http://www.nauticom.fr/store/produc...
            ce convertisseur NMEA RSxxx.

            Espérant que mes explications sont suffisamment claires.
            Merci d’avance

            Répondre à ce message

            • 17 avril 2012 17:06, par Robert écrire     UP     Ce message répond à ...

              Si le pilote ne communique pas, il peut y avoir deux raisons de natures différentes :

              • une raison matérielle : RS232 (sortant du PC) et NMEA (entrée du pilote) n’ont pas exactement les mêmes niveaux de signaux matériels (en volts) mais cela marche malgré tout le plus souvent (mais ce n’est jamais garanti)
                • dans ce cas, essayer en sortant du PC par USB et un convertisseur USB-NMEA peut donner un résultat meilleur que la sortie RS232 du PC car les signaux matériels seront mieux compatibles.
              • une raison logicielle : les phrases NMEA ne sont pas exactement celle demandées par B&G
                • dans ce cas, que l’on passe par un convertisseur USB-NMEA ou par la sortie RS232 du PC, cela ne changera rien, car le convertisseur ne modifie pas les phrases, il ne fait que les transmettre.
                • la première chose à faire est d’enregistrer ce qui sort du PC en RS232 avec (par exemple) le petit utilitaire « hyperterminal » de Windows.

              Répondre à ce message

              • 20 avril 2012 13:03, par Basile écrire     UP     Ce message répond à ...

                J’ai un aussi petit soucis amusant avec un pilote Raymarine SPX.
                Il est relié au GPS (un FX312), normal. La VHF est reliée au GPS, normal aussi.

                Mais si la VHF est éteinte, le pilote ne reçoit pas les données du GPS. :-(

                Répondre à ce message

                • 20 avril 2012 16:10, par Robert écrire     UP     Ce message répond à ...

                  Et si la VHF est débranchée du câble NMEA, que se passe-t-il ?

                  Répondre à ce message

                • 21 avril 2012 13:52, par yvesD écrire     UP     Ce message répond à ... Animateur
                  • La connexion d’un parleur NMEA à une entrée VHF se fait par 2 fils, théoriquement étiquetés sur la VHF NMEA.in+ et NMEA-in- (ou Rx+ et Rx-), et théoriquement (si ne me goure-je) les niveaux électriques sont +12V et -12 (ou +5 et -5, sais plus) et on émet un ’1’ en envoyant +12V sur Rx+ et -12V sur Rx-, pour un 0 ce sera -5V sur Rx+ et +5V sur Rx- (de mémoire, c’est dire !)
                  • En théorie la transmission NMEA se fait en différentiel, par ex (pour illustrer le propos) en les connectant à un transfo d’isolement, ou a un ampli op ou a la LED d’un isolateur opto-électronique. Donc dans le cas théorique, le reste de la VHF étant électriquement isolé des 2 fils NMEA, l’extinction de la première ne peut avoir aucun effet sur ces derniers.

                  On peut supposer qu’on est dans le cas relaché - extrêmement usé et abusé car moins cher à implémenter - ou un deux fils est connecté au 0V (on étiquettera encore Rx-, si !) de référence de l’électronique de la VHF et l’autre est à l’entré d’un circuit TTL (qu’on étiquettera Rx+) . Et ça tombe en marche, souvent.
                  .
                  Et la relâche (en fait, l’abus) vient du fait que ’1’ sera codé-détecté comme 0V sur Rx- et 5V sur Rx+ ; à l’inverse le ’0’ sera codé comme 5VV sur Rx- et 0V sur Rx+ . Confondre 0 et -12 d’une part et 5V et 12V d’autre part permet d’utiliser les circuit TTL de réception utilisé dans les ports COM (les très vieux diront des « USART ») plus que banaux et cheap.On est plus en différentiel, on est en niveaux TTL.

                  Dans ce scénario relâché une cause possible serait que l’entrée NMEA de la VHF devient flottante lorsqu’on en coupe l’alim. Du coup le Rx+ n’est plus relatif au 0V du Rx- (celui-ci étant « débranché ») et - hypothèse supplémentaire - alors que ce fil Rx- n’est pas rappelé (comme il le devrait, au risque de boucle) au 0V ni par le GPS ni par le pilote, du coup tout flotte, et mergitur.

                  Je sais, c’est contourné et ça fait très désordre mais si c’est invaissemblable ça a été fait et si c’est impossible ça le sera (diction marin dit-on), et puis je n’en vois pas d’autre.

                  Très bonne description du problème dans la notice du MUX shipmodul vers la page 5

                  Répondre à ce message

  • 11 avril 2015 15:42, par albireo écrire     UP  image

    Je souhaite relier un GPS à deux ou 3 appareils :
     une vhf asn
     un traceur
     un répétiteur gps

    est il obligatoire d’ utiliser un amplificateur de signal nmea comme le recommande le site marchands
    http://www.aragon-electronics.com/f...

    ou peut on passer directement par soudure des fils ?

    Les appareils récepteurs ne seront pas forcement branchés en même temps.

    cordialement

    Répondre à ce message

Répondre à cet article

UP

Copyright et informations légales