Librairie SUPL pour les données d'assistance GNSS
Une librairie client SUPL en C qui récupère les données d'assistance A-GNSS (GPS et Galileo) via le réseau cellulaire, dimensionnée pour un Cortex-M4 sous FreeRTOS.
- 1Appareil : la librairie client SUPL tourne sur un Cortex-M4 sous FreeRTOS, à côté du récepteur GNSS.
- 2Réseau NB-IoT : transporte la session SUPL entre l’appareil et le serveur.
- 3Serveur de localisation SUPL : fournit les données d'assistance (temps et position de référence, ionosphère, almanach, éphémérides) dans des messages RRLP.
- 4Satellites GNSS : grâce aux données d'assistance, le récepteur les trouve et calcule sa position beaucoup plus vite, en consommant moins.
- Catégorie
- IoT et GNSS
- Structure
- Ubiscale
- Période
- 2021 – 2022
- Technologies
- C, Cortex-M4, FreeRTOS, SUPL 2.0 / RRLP, ASN.1 UPER (asn1c), A-GNSS (GPS, Galileo), NB-IoT
Contexte
Sans données préalables, un récepteur GNSS autonome doit décoder les données orbitales diffusées par les satellites à seulement 50 bit/s avant sa première position : une trentaine de secondes au mieux en ciel dégagé, plusieurs minutes avec un signal faible, et jusqu'à 12,5 minutes s'il lui manque l'almanach complet. Avec SUPL, l'appareil télécharge ces données (temps et position de référence, modèle ionosphérique, almanach, éphémérides) depuis un serveur de localisation via le réseau cellulaire, ici NB-IoT, et obtient sa position beaucoup plus vite en consommant moins. La librairie était destinée à être intégrée dans le logiciel d'une puce IoT avec GNSS : elle devait tourner sur un microcontrôleur à la mémoire très limitée, aux côtés d'un RTOS.
Mon rôle
Développeur principal de la librairie, dans le cadre de mon alternance : architecture logicielle, API C à base de callbacks, machine à états SUPL (SUPL START, RESPONSE, POS INIT, POS, END), encodeur et décodeur de messages s'appuyant sur le code UPER généré par asn1c, et conversion de la charge utile RRLP en données A-GNSS. Portage sous FreeRTOS et tests sur carte Cortex-M4. Rédaction du document d'architecture et du guide de référence, et support d'intégration sur site chez un client tier-1 du semi-conducteur.