(Configuration du GNSS U-Blox : Dernière mise à jour par Benjamin le 25/02/2024)
Notre AHRS utilise le récepteur GNSS NEO-M9N du fabricant suisse U-Blox. Ce récepteur offre une très haute sensibilité, des temps d’acquisition exceptionnellement courts, et il supporte quatre constellations satellitaires : GPS, Galileo, Beidou et Glonass. Le grand nombre de satellites visibles permet au récepteur de toujours sélectionner les meilleurs signaux. Toutes ces caractéristiques lui confèrent une haute précision, de l’ordre du mètre.
Le NEO-M9N peut communiquer avec son environnement en utilisant simultanément un ou plusieurs des port suivants : USB-C, UART, I2C et SPI.
Ce récepteur utilise les protocoles standards NMEA et RTCM, et le protocole propriétaire UBX. Ce dernier protocole est bidirectionnel, il permet de générer des messages UBX utilisés pour la navigation, ces messages sont l’équivalent des trames NMEA bien connues des utilisateurs de GPS. Le terme “message” est d’ailleurs omniprésent dans l’écosystème des GNSS U-Blox. Le protocole UBX permet également la réception de messages UBX de configuration, en provenance d’un ordinateur ou même d’un microcontrôleur. Ce récepteur possède en effet d’innombrables options de configuration, pour répondre aux besoins de tous les utilisateurs. Cette extrême richesse lui confère une complexité apparente qui peut être déroutante au premier abord. L’abondante documentation (plusieurs centaines de pages) contribue à cette impression de complexité.
Cette page a pour objet de permettre au lecteur de configurer très simplement son GNSS, grâce au logiciel U-Center d’U-Blox, en vue de l’intégrer à l’AHRS.
Installation du logiciel U-Center
Il faut télécharger sur cette page la version U-Center adaptée au NEO-M9N. L’installation du logiciel ne pose aucun problème particulier, le lecteur peut se référer s’il le souhaite au guide d’utilisation U-Center.
Fermer le U-Center s’il est ouvert. Connecter le GNSS à l’ordinateur via un câble USB-A vers USB-C. Le GNSS est alimenté par le port USB, il est automatiquement reconnu par l’ordinateur, qui affiche les messages habituels de configuration d’un nouvel appareil, jusqu’à ce que ce dernier soit déclaré prêt. Connecter une antenne au récepteur, et attendre le fix (la LED bleue se met à clignoter). Cela ne prend qu’une ou deux minutes si l’antenne est bien dégagée. Lancer ensuite l’application U-Center.
Petite particularité de ce logiciel : quand on survole une option ou un bouton avec la souris, il n’apparait pas de bulle d’information à côté du curseur, comme c’est le cas avec beaucoup de logiciels. Mais une information s’affiche en fait en bas et à gauche de la fenêtre, dans la barre d’état, il faut penser à regarder à cet endroit.
Connexion du GNSS au logiciel U-Center
Cette vidéo montre l’interface du U-Center sous Windows, et comment établir la connexion, configurer la vitesse de transmission, puis visualiser les trames ou messages émis par le GNSS dans la console texte.
Les options importantes du menu View
Dans le menu View, il y a 5 options particulièrement utiles.
– L’option Text Console peut quasiment se passer de commentaire. Si le GNSS a été configuré (voir plus bas) pour sortir des trames (messages) NMEA sur le port USB (c’est le cas de la configuration d’usine par défaut), elles sont affichées en clair dans cette console. On peut bloquer ou débloquer le défilement avec le petit cadenas jaune en bas à gauche de la console. Il y a d’autres boutons à côté du cadenas, ils ont tous une petite info utile dans la barre d’état en les survolant avec la souris. Si le GNSS est configuré pour sortir des messages UBX sur le port USB, ces messages, de nature binaire, n’apparaissent pas dans la console texte.
– L’option Packet Console affiche la nature (et non le contenu) de tous les paquets émis par le GNSS sur son port USB. Dans la configuration initiale d’usine, on voit dans cette vidéo qu’il n’y a que des messages NMEA (et il y en a beaucoup), et aucun message UBX. On verra plus loin comment ajouter des messages UBX sur une sortie du récepteur.
– L’option Binary console affiche tous les messages émis sur le port USB sous forme binaire (et texte pour les messages NMEA)
– L’option Message view ouvre une fenêtre très intéressante où tous les messages possibles et imaginables sont listés, mais ceux qui ne sont pas effectivement émis par le GNSS sur son port USB apparaissent en grisé. Si on clique par exemple, dans la catégorie NMEA, sur le message GxRMC (qui est actif dans la configuration usine), la partie droite affiche un décodage dynamique complet de la trame RMC, voir cette vidéo. Par défaut, la fréquence de sortie des messages est de 1 HZ, on verra plus loin comment modifier cette fréquence.
– Enfin l’option Generation 9 configuration view est bien sûr celle qui permet de configurer le GNSS. Avec le NEO-M9N, il est préférable d’utiliser cette option, plutôt que l’option Configuration View, à réserver aux précédentes générations de GNSS U-Blox. Avant d’explorer cette option, deux petites choses bien utiles à connaître, la première sur la façon de revenir à la configuration d’usine, de sauver la configuration actuelle et de charger une configuration précédente, la seconde à propos des mémoires du GNSS.
Retour à la configuration d’usine du GNSS
Il suffit de cliquer sur le bouton indiqué par la flèche rouge de la figure ci-dessous.
Cette option est bien utile, elle autorise tous les essais de configuration que l’on veut, avec l’assurance d’un possible retour à une configuration de départ stable et qui fonctionne bien.
Sauvegarde et restauration d’une configuration
Les 2 boutons à gauche de celui indiqué par la flèche rouge de la figure ci-dessus permettent de sauvegarder en mémoire Flash/BBR (voir ci-dessous le paragraphe sur les mémoires) la configuration actuelle, ou de revenir à la précédente sauvegarde (et uniquement à la précédente). On peut également faire des sauvegardes multiples, en leur donnant des noms personnalisés, ou des restaurations de configurations personnalisées, à l’aide du menu Tools -> Receiver Configuration. Le lecteur est invité pour cela à se reporter aux pages 64-65 du guide d’utilisation du u-Center, voir le lien vers ce guide dans le bas de cette page.
Pour configurer rapidement le GNSS à l’aide du fichier de configuration téléchargeable sur la page AHRS, il faut ouvrir le menu Tools -> Receiver Configuration, puis sélectionner le fichier voulu, et dans l’encadré “Load configuration”, cliquer sur le bouton “Transfer file -> GNSS”.
Attention : dans l’encadré, la case à cocher “Store configuration into BBR/Flash” est grisée, donc inactive. Cette case à cocher n’est utilisable que par des modèles plus anciens de GNSS. Cela signifie qu’après avoir cliqué sur le bouton “Transfer file -> GNSS”, la configuration n’est pour l’instant chargée qu’en mémoire RAM volatile. Pour pouvoir retrouver cette configuration à la prochaine mise sous tension du GNSS, il est indispensable de la sauvegarder en mémoire BBR/Flash.
Pour cela, il faut cliquer sur le bouton indiqué dans la figure ci-dessous par la flèche verte.
Les mémoires du Neo M9N
Elles sont au nombre de 4.
– La ROM contient une copie du firmware.
– La RAM est la mémoire vive utilisée lorsque le GNSS fonctionne, elle contient notamment une copie des paramètres de configuration, elle s’efface à l’extinction du GNSS.
– La BBR, pour Battery Backed RAM, est une zone de RAM qui continue d’être alimentée par une batterie après l’extinction du récepteur. Si des paramètres de configuration sont stockés en BBR, ils seront sauvegardés tant que le niveau de charge de la batterie lui permet d’alimenter la BBR.
– La mémoire Flash, non volatile : elle contient aussi une copie du firmware (laquelle peut d’ailleurs être mise à jour sur le site U-Blox), c’est cette copie qui s’exécute à la mise sous tension du système. En cas de défaillance de la copie du firmware en mémoire Flash, c’est la copie de sécurité en ROM qui sera exécutée. Des paramètres de configurations peuvent aussi être stockés en mémoire Flash.
On va voir que lors de la modification de paramètres de configuration, l’U-Center demande toujours dans quelle(s) mémoire(s) il faut sauvegarder ces modifications.
Ajouter ou supprimer des messages sur une sortie du GNSS
Dans cette vidéo, on montre comment activer le message UBX-NAV-PVT sur la sortie UART1. A noter : les messages qui apparaissent en grisé ne sont pas disponibles sur le modèle NEO M9N. A noter aussi un bug du U-Center, les options sur la sortie UART2 devraient être grisées, puisqu’il n’y a qu’une UART sur le NEOM9N.
Pour le bon fonctionnement de l’AHRS, plusieurs autres messages UBX-NAV doivent également être activés sur la sortie UART1, le lecteur en trouvera la liste en bas de la page AHRS. Leur activation se fait de façon identique.
Concernant le message UBX-NAV-PVT, un des plus utiles, le lecteur curieux pourra en trouver la description binaire précise en page 136 du guide “Interface description”, voir le lien vers ce guide en bas de cette page. La description de la structure des messages UBX est expliquée au chapitre 3 de ce même guide, page 43. La description des types de données utilisés figure au paragraphe 3.3.5, page 44.
Modifier la fréquence de sortie des messages
Voir la démonstration dans cette vidéo. Il faut envoyer au GNSS un message de configuration CFG-RATE-MEAS (pour measurements). Par default, une “mesure” est réalisée toutes les 1000 ms. Au lieu de cela, dans la vidéo, on va demander au GNSS de nous fournir 20 mesures par seconde, calculées sur les données satellites qu’il reçoit, donc une mesure toutes les 50 ms. Par défaut également, le GNSS envoie sur la sortie concernée une “solution de navigation” (c’est à dire une série de messages NMEA et/ou UBX traduisant les résultats des mesures) à chaque cycle de mesure. On peut aussi demander au GNSS de n’envoyer une solution de navigation que tous les n cycles de mesure, c’est l’objet du message CFG-RATE-NAV. Donc si on envoie aussi un message CFG-RATE-NAV par exemple à 5, on aura bien 20 mesures par secondes, mais seulement 4 solutions de navigation par seconde, ce qui en pratique pour notre AHRS n’a aucun intérêt. On laisse donc CFG-RATE-NAV sur 1 par défault.
On voit à la fin du film qu’après l’envoi du message CFG-RATE-MEAS à 50 ms (uniquement en RAM), on obtient effectivement 20 messages UBX-NAV-PVT, 20 messages NMEA-RMC et 20 messages NMEA-VTG par seconde.
Configuration des sorties
Il existe de nombreuses options pour configurer les sorties. Dans cette vidéo, on voit la façon de configurer la vitesse du port UART qui est utilisé dans l’AHRS pour la communication entre le GNSS et la carte Teensy 4.0. Les autres paramètres du port UART sont classiques, les options par défaut n’ont pas besoin d’être modifiées. Le lecteur curieux pourra découvrir par lui-même les possibilités de réglage des autres sortie, I2C et SPI, non utilisées dans l’AHRS.
Pour aller plus loin
Guide d’utilisation du U-Center
NEO-M9N : u-blox M9 standard precision module Data sheet