Projet OpenWifi avec la mise en place d'une puce Wi-Fi ouverte basée sur FPGA et SDR

Lors de la dernière conférence FOSDEM 2020 soumis projet openwifi, développant la première implémentation ouverte de la pile Wi-Fi complète 802.11a/g/n, dont la forme et la modulation du signal sont spécifiées dans le logiciel (SDR, Software Defined Radio). OpenWifi vous permet de créer une implémentation entièrement contrôlée de tous les composants d'un appareil sans fil, y compris les couches de bas niveau, qui dans les adaptateurs sans fil conventionnels sont implémentées au niveau de puces qui ne sont pas auditables. Code composants logicielset schémas et descriptions Les blocs matériels en langage Verilog pour FPGA sont distribués sous licence AGPLv3.

Le composant matériel du prototype fonctionnel démontré est basé sur le FPGA Xilinx Zynq et l'émetteur-récepteur universel (RF) AD9361. OpenWifi utilise l'architecture SoftMAC, ce qui implique la mise en œuvre de la pile sans fil principale 802.11 (high-MAC) côté pilote et la présence d'une couche low-MAC côté FPGA. La pile sans fil utilise le sous-système mac80211 fourni par le noyau Linux. L'interaction avec SDR s'effectue via un pilote spécial.

Projet OpenWifi avec la mise en place d'une puce Wi-Fi ouverte basée sur FPGA et SDR

Principales caractéristiques:

  • Prise en charge complète de 802.11a/g et prise en charge partielle de 802.11n MCS 0~7 (PHY rx uniquement pour l'instant). Il est prévu de prendre en charge le 802.11ax ;
  • Bande passante 20 MHz et plage de fréquences de 70 MHz à 6 GHz ;
  • Modes de fonctionnement: Ad hoc (réseau d'appareils clients), point d'accès, station et surveillance ;
  • Implémentation du protocole link layer côté FPGA DCF (Distributed Coordination Function), selon la méthode CSMA/CA. Fournit le temps de traitement des images (SIFS) au niveau 10us ;
  • Paramètres de priorité d'accès au canal configurables : durée RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time, etc.
  • Découpage du temps (Découpage du temps) basé sur l'adresse MAC ;
  • Bande passante et fréquence facilement modifiables :
    2 MHz pour 802.11ah et 10 MHz pour 802.11p ;

Projet OpenWifi avec la mise en place d'une puce Wi-Fi ouverte basée sur FPGA et SDR

Actuellement, OpenWifi fournit soutenir Plateformes SDR basées sur FPGA
Xilinx ZC706 avec les émetteurs-récepteurs FMCOMMS2/3/4 d'Analog Devices, ainsi que les bundles (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB et ADRV9361Z7035 SOM + ADRV1CRR-FMC. Formé pour le chargement image finie Cartes SD basées sur ARM Linux. Il est prévu de prendre en charge ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 et
Xilinx ZCU102 + ADRV9371. Le coût des composants impliqués dans le premier prototype OpenWifi était d'environ 1300 XNUMX euros, mais le portage vers des cartes moins chères est en cours. Par exemple, le coût d'une solution basée sur Appareils analogiques ADRV9364-Z7020 sera de 700 euros, et sur la base ZYNQ NH7020 - 400 euros.

Le test des performances de connexion d'un client avec un adaptateur USB TL-WDN4200 N900 à un point d'accès basé sur OpenWifi nous a permis d'atteindre un débit de 30.6 Mbps (TCP) et 38.8 Mbps (UDP) lors du transfert de données du point d'accès au client et 17.0 Mbps (TCP) et 21.5 Mbps (UDP) lors de la transmission du client au point d'accès. Pour la gestion, des utilitaires Linux standards peuvent être utilisés, tels que ifconfig et iwconfig, ainsi qu'un utilitaire spécialisé sdrctl, qui fonctionne via netlink et permet de contrôler le fonctionnement du SDR à bas niveau (manipuler les registres, modifier les paramètres des tranches de temps, etc.).

Parmi d'autres projets ouverts expérimentant la stack Wi-Fi, on peut noter le projet WimeDévelopper la conformité IEEE 802.11 a/g/p émetteur basé sur GNU Radio et un PC classique. Les piles logicielles sans fil 802.11 ouvertes développent également des projets Ziria и Sora (Radio de logiciels de recherche Microsoft).

Projet OpenWifi avec la mise en place d'une puce Wi-Fi ouverte basée sur FPGA et SDR

Source: opennet.ru

Ajouter un commentaire