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. |