Projet

Général

Profil

Installation d'une carte USRP N210 » Historique » Version 1

Damien Roque, 09/09/2014 10:48

1 1 Damien Roque
h1. Installation d'une carte USRP N210
2
3
Après avoir installé le pilote UHD, nous pouvons à présent piloter une carte de radio logicielle Ettus Research USRP N210 connectée à l'ordinateur via une interface Gigabit Ethernet.
4
5
h2. Assemblage de la carte
6
7
Les cartes de radio logicielle utilisées sur la plate-forme RIESCO se composent de trois parties :
8
* une carte mère USRP N210 ;
9
* une carte fille radiofréquence WBX ;
10
* une horloge asservie par GPS.
11
12
Après avoir démonté la carte mère, on commence par installer l'horloge GPSDO de sorte que celle-ci outrepasse l'horloge interne. On peut notamment se reporter à la documentation https://www.ettus.com/content/files/gpsdo-kit_4.pdf. Une fois la nouvelle horloge déployée, il reste à installer la carte fille. Ses deux ports radiofréquence seront associés de la manière suivante en facade :
13
* TX/RX -> RF1 ;
14
* RX2 -> RF2.
15
16
*Attention : ne jamais mettre sous-tension une carte USRP sans avoir appliqué une charge adaptée sur le port RF1.*
17
18
h2. Configuration du réseau
19
20
La carte USRP N210 est adressée par défaut sur 192.168.10.2 avec un masque de 24 bits. Il est ainsi nécessaire de configurer de manière statique la carte réseau de l'ordinateur sur lequel le pilote UHD est installé. Nous utilisons par exemple l'interface graphique fournie avec la distribution (_Network Manager_) et spécifions l'adressage suivant.
21
<pre>
22
adresse : 192.168.10.1
23
masque : 255.255.255.0
24
</pre>
25
26
h2. Mise à jour du firmware et installation de la carte
27
28
Une fois l'interface réseau configurée, nous pouvons dans un premier temps vérifier la détection de la carte à l'aide du pilote UHD.
29
<pre>
30
uhd_find_devices
31
</pre>
32
33
Des informations supplémentaires sur la carte peuvent être obtenues à l'aide de la commande suivante.
34
<pre>
35
uhd_usrp_probe
36
</pre>
37
38
Il est possible de mettre à jour les _firmwares_ inclus dans la distribution du pilote UHD. Cette fonctionnalité ne semble pas fonctionner avec les pilotes installés via les binaires Ettus Research.
39
<pre>
40
uhd_images_downloader
41
</pre>
42
43
Il est ensuite possible de mettre à jour le _firmware_ de la carte. Cette étape reste toutefois optionnelle dans la mesure où si une incompatibilité entre le firmware et UHD est détectée, cette mise à jour sera proposée automatiquement par le pilote.
44
<pre>
45
/usr/share/uhd/utils/usrp_n2xx_simple_net_burner
46
</pre>
47
48
h2. Vérification du bon fonctionnement et évaluation des performances
49
50
La carte de radio logicielle est à présente prête à l'emploi, nous pouvons ainsi vérifier que la liaison entre celle-ci et l'ordinateur fonctionne correctement.
51
52
<pre>
53
/usr/share/uhd/examples/benchmark_rate --duration 20 --rx_rate 10e6
54
</pre>
55
56
Parmi les erreurs rencontrées, la perte de segments se matérialise par l'affichage de symboles "UUUUUU..." ou "OOO..." sur la sortie standard. Ces deux cas de figure signifient respectivement que l'ordinateur n'envoie pas les données suffisamment rapidement à la carte ou que celle-ci envoie les données trop rapidement à l'ordinateur (voir http://gnuradio.org/redmine/projects/gnuradio/wiki/UsrpFAQGen).
57
58
D'autres erreurs, souvent liées au dimensionnement des tampons d'émission-réception de la carte Ethernet peuvent interrompre l'exécution du _benchmark_.
59
60
Pour toutes ces erreurs, nous pouvons nous reporter à la partie [[problèmes de liaison Gigabit Ethernet]].
61
62
h2. Calibration et accordage manuel de la carte
63
64
La carte de radio logicielle peut être étalonnée de manière à limiter le décalage de la composante continue (_DC offset_) et l'équilibrage des voies I et Q (_IQ impairments_).
65
66
<pre>
67
uhd_cal_rx_iq_balance --verbose
68
</pre>
69
70
<pre>
71
uhd_cal_tx_iq_balance --verbose --args=<optional device args>
72
</pre>
73
74
<pre>
75
uhd_cal_tx_dc_offset --verbose --args=<optional device args>
76
</pre>
77
78
Ces différentes étapes sont également décrites dans http://files.ettus.com/uhd_docs/manual/html/calibration.html.
79
80
Par ailleurs, nous remarquons qu'il est généralement intéressant de préciser un accordage superhétérodyne afin de décaler la composante continue hors de la bande d'intérêt. En effet, le front-end radiofréquence permet la translation de la bande d'interêt autour d'une fréquence intermédiaire puis le DSP de la carte mère permet ensuite la translation de la fréquence intermédiaire vers la bande de base. Par défaut, la fréquence intermédiaire est choisie de manière automatique, la plus proche possible de zéro. Une telle configuration n'est généralement pas souhaitable dans la mesure où la composante continue se retrouvera dans la bande d'intérêt.
81
82
<pre>
83
// Exemple d'accordage automatique en C++
84
usrp->set_rx_freq(target_frequency_in_hz);
85
</pre>
86
87
<pre>
88
// Exemple d'accordage manuel en C++
89
uhd::tune_request_t tune_req(target_frequency_in_hz, desired_lo_offset);
90
usrp->set_rx_freq(tune_req);
91
</pre>
92
93
Cette procédure est également expliquée dans http://files.ettus.com/uhd_docs/manual/html/general.html.