Projet

Général

Profil

Actions

Notes sur la synchronisation de plusieurs URSPs N210 sur une même horloge et un même maître

Ce wiki a pour but de présenter les étapes nécessaire à l'établissement d'un réseau de capteurs basé sur des stations N210 couplées sur un même hôte, et dont les horloges de fonctionnement sont asservies sur un générateur externe de fréquence.
Dans un premier temps on s'intéressera au couplage de plusieurs USRPs sur un même hôte, avec une possibilité d'adresser spécifiquement un USRP ciblé. Dans un second temps, on décriera le processus qui garantit l'asservissement des horloges de fonctionnement sur une horloge externe.

Le synopsis de la chaîne d'acquisition est présenté ci-dessous: Plusieurs USRPs N210 reçoivent un signal et transmettent en même temps leur information vers un switch par l'intermédiaire de liaisons Ethernet Gigabit. Le switch communique avec la station hôte par l'intermédiaire d'une liaison 10Gb/s pour éviter une congestion des flux descendant.

Architecture finale désirée

Adressage des USRPs sur un hôte commun

Dans une configuration traditionnelle de liaison point à point entre un USRP N210 et un PC hôte, la liaison se fait par l'intermédiaire d'un câble Gigabit Ethernet. Par ailleurs, l'adressage se fait par l'intermédiaire de l'IP de l'USRP N210 qui est fixée par défaut en 192.168.10.2.
Le multiplexage comme dit précédemment se fait par l'intermédiaire d'un switch 10 Gigabit Ethernet, et chacune des radios peut communiquer avec le PC hôte à condition qu'elles aient une adresse différente sur le réseau. Il faut donc modifier l'adresse ce chacune des USRPs, dans le cas de la plateforme, l'USRP x est adressée par 192.168.10.xx (ainsi, l'adresse de RIESCO4 est 192.168.10.44).
Pour modifier l'adresse, il faut connecter une seule USRP sur le switch et lancer la commande suivante :

cd /usr/local/lib/uhd/utils
./usrp_burn_mb_eeprom --values="ip-addr=192.168.10.xx" 

On peut alors visualiser plusieurs URSP sur le même hôte

Visualisation de la détection multiple des USRP

Ceci permet dans un premier temps d'avoir un réseau de capteurs non asservi, c'est à dire que chacune des horloges associées aux USRPs a son propre fonctionnement. En pratique, il y aura donc un décalage de fréquence entre toutes les radios, ainsi qu'un décalage de temps (on n’échantillonne pas tout à fait au même rythme).

Asservissement des horloges internes

Partager et adresser les USRPs permet donc de mutualiser les radios sur un même hôte, et est donc particulièrement intéressant dans la problématique de réseaux de capteurs, puisqu'elle permet de garantir la réception, et le traitement de données en parallèle, pour peu que l'hôte dispose d'une puissance de calcul suffisante. Cependant, il est également nécessaire de garantir la même origine des temps pour l'ensemble des radios, ainsi qu'un asservissement des phases et des fréquences, de manière à minimiser les distordions, et de pouvoir récupérer les informations contenues par exemple dans la phase. Si la récupération de porteuses et de rythmes sont des processus courant dans les dispositifs de communication numérique (où l'asservissement se fait par l'intermédiaire d'une connaissance sur le signal reçu, ou par le décodage partiel des données), dans le cadre de l'utilisation des USRPs en tant que capteurs, l'asservissement doit se faire en amont, au moment du démarrage des machines.

Asservissement des horloges par GPS dédiés.

Les URSPs disposent d'un GPS interne qui sert à contrôler les horloges de fonctionnement. Toutefois, utiliser les signaux des GPS ne suffit pas en tant que tel à garantir un asservissement suffisant des horloges pour les applications visées, en particulier lors des simulations longues où on observe des dérives marquées entre les différentes radios. De fait, utiliser des générateurs distincts n'est pas suffisant.

Par ailleurs, dans le système actuel des USRP N210, la détection des GPS semble prioritaire sur l'asservissement par horloges internes (cf documentation Ettus sur les puces GPS internes). Afin de garantir l'absence d'interférence du signal du GPS, ceux-ci sont débranchés physiquement de la carte USRP. Pour rebrancher les puces GPS afin de les utiliser dans un environnement Gnuradio, il faut effectuer les étapes suivantes :
  • Déplacer le Jump 102 sur les pins 2 et 3 après avoir ouvert l'USRP [En blanc sur la photo, ici dans la position 2-3]
  • Brancher l'alimentation sur la carte USRP ainsi que la liaison USRP-GPS [En rouge sur la photo]
  • Brancher les deux câbles SMA males du GPS vers external clock 2 et PPS 2. [Bleu pour le signal PPS, et vert pour le signal de clock sur la photo]
  • Et ne pas oublier de configurer l'horloge et l'origine des temps sur GPS dans Gnuradio (ou Gnuradio Companion)

Branchement fonctionnel du GPS sur carte USRP

Asservissement de deux radios USRPs

Si le réseau n'est composé que de deux radios USRPs N210, l'asservissement peut alors se faire par l'intermédiaire d'un câble MIMO, en branchant le câble entre les deux radios, et en stipulant pour l'une des radios que la référence d'horloge et de temps doit être via le câble MIMO.
Cependant, le câble MIMO partage plus d'informations que le simple signal d'horloge, et la radio qui est asservie ne doit pas être reliée au switch général. Il faut débrancher le câble RJ 45, et l'adressage se fait par l'intermédiaire du câble MIMO.

Systeme d'asservissement à deux radios

Asservissement par horloge externe (Octoclock)

Dans le cas général d'un asservissement de plus de 2 USRP N210, la stratégie à base de câbles MIMO n'est plus valable car elle permettrait uniquement de réaliser que des couples d'USRPs dont les horloges de fonctionnement seraient asservies. On utilise donc dans ce cas un Octoclock qui permet la génération de 8 signaux d'horloges et de PPS permettant l'asservissement de l'ensemble des stations. Il est nécessaire de procéder en trois étapes :
  • Placer le Jump 102 sur les pins 1 et 2 de manière à prendre en compte l'entrée externe [La bonne position est spécifiée en rouge sur la photo ce dessous]
  • Brancher le signal horloge sur l'entrée REF IN de l'USRP, et brancher le signal PPS sur l'entrée PPS IN de l'USRP
  • Placer la référence d'horloge et de temps sur external ainsi que la synchronisation sur "Unknown PPS" dans Gnuradio,

Position du PIN en asservissement par horloge externe

Visualisation de l'asservissement des horloges

En présence de la référence commune, on peut alors montrer qu'un signal transmis est reçu sans décalage de fréquence et sans bruit de phase. Ci joint une capture d'écran du fichier de démonstration dont l'objectif est de transmettre un cosinus, et de montrer la bonne réception de celui-ci sur différentes radios.

Screen Gnuradio du fichier de démonstration

On peut voir l'absence de décalage de fréquence, et un déphasage qui est uniquement due à la disposition spatiales des radios (en bleu le signal transmis, et en rouge et vert les signaux reçu par les deux autres radios).

Visualisation synchronisation

Mis à jour par Alexandre Marquet il y a environ 8 ans · 4 révisions