OpenWifi-projekt med implementering af en åben Wi-Fi-chip baseret på FPGA og SDR

Ved den sidste FOSDEM 2020-konference præsenteret projekt åben wifi, udvikler den første åbne implementering af den fulde Wi-Fi 802.11a/g/n stak, hvor signalformen og moduleringen er specificeret i softwaren (SDR, Software Defined Radio). OpenWifi giver dig mulighed for at skabe en fuldt kontrolleret implementering af alle komponenter i en trådløs enhed, inklusive lavniveaulag, som i konventionelle trådløse adaptere er implementeret på niveau med chips, der ikke kan auditeres. Kode software komponenterog diagrammer og beskrivelser hardwareblokke i Verilog-sproget til FPGA distribueres under AGPLv3-licensen.

Hardwarekomponenten i den demonstrerede fungerende prototype er baseret på Xilinx Zynq FPGA og AD9361 universal transceiver (RF). OpenWifi bruger SoftMAC-arkitekturen, som indebærer implementeringen af ​​den trådløse hovedstack 802.11 (høj-MAC) på driversiden og tilstedeværelsen af ​​et lav-MAC-lag på FPGA-siden. Den trådløse stak bruger mac80211-undersystemet leveret af Linux-kernen. Interaktion med SDR udføres gennem en speciel driver.

OpenWifi-projekt med implementering af en åben Wi-Fi-chip baseret på FPGA og SDR

Nøglefunktioner:

  • Fuld understøttelse af 802.11a/g og delvis understøttelse af 802.11n MCS 0~7 (kun PHY rx indtil videre). Der er planer om at understøtte 802.11ax;
  • Båndbredde 20MHz og frekvensområde fra 70 MHz til 6 GHz;
  • Driftstilstande: Ad hoc (netværk af klientenheder), adgangspunkt, station og overvågning;
  • Implementering af linklagsprotokollen på FPGA-siden DCF (Distribueret koordinationsfunktion), ved hjælp af CSMA/CA-metoden. Giver rammebehandlingstid (SIFS) på niveau 10us;
  • Konfigurerbare kanaladgangsprioritetsparametre: RTS/CTS-varighed, CTS-til-selv, SIFS, DIFS, xIFS, slot-tid osv.
  • Tidsskæring (Tidsskæring) baseret på MAC-adresse;
  • Nemt at ændre båndbredde og frekvens:
    2MHz for 802.11ah og 10MHz for 802.11p;

OpenWifi-projekt med implementering af en åben Wi-Fi-chip baseret på FPGA og SDR

I øjeblikket tilbyder OpenWifi støtte FPGA-baserede SDR-platforme
Xilinx ZC706 med Analog Devices FMCOMMS2/3/4 transceivere, samt bundter (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB og ADRV9361Z7035 SOM + ADRV1CRR-FMC. Formet til lastning færdigt billede ARM Linux-baserede SD-kort. Der er planer om at understøtte ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 og
Xilinx ZCU102 + ADRV9371. Omkostningerne til komponenterne involveret i den første OpenWifi-prototype var omkring 1300 euro, men portering til billigere boards er i gang. Eksempelvis prisen på en løsning baseret på Analoge enheder ADRV9364-Z7020 vil være 700 euro, og på basis ZYNQ NH7020 - 400 euro.

Test af ydeevnen ved at forbinde en klient med en TL-WDN4200 N900 USB-adapter til et OpenWifi-baseret adgangspunkt gjorde det muligt for os at opnå en gennemstrømning på 30.6 Mbps (TCP) og 38.8 Mbps (UDP) ved overførsel af data fra adgangspunktet til klienten og 17.0 Mbps (TCP) og 21.5 Mbps (UDP), når de transmitteres fra klienten til adgangspunktet. Til administration kan der bruges standard Linux-værktøjer, såsom ifconfig og iwconfig, samt et specialiseret hjælpeprogram sdrctl, som fungerer via netlink og giver dig mulighed for at kontrollere driften af ​​SDR på et lavt niveau (manipulere registre, ændre tidsudsnitsindstillinger, etc.).

Blandt andre åbne projekter, der eksperimenterer med Wi-Fi-stakken, kan vi bemærke projektet WimeUdvikling af IEEE 802.11 a/g/p-kompatibel sender baseret på GNU Radio og en almindelig pc. Software åbne 802.11 trådløse stakke udvikler også projekter Ziria и Sora (Microsoft Research Software Radio).

OpenWifi-projekt med implementering af en åben Wi-Fi-chip baseret på FPGA og SDR

Kilde: opennet.ru

Tilføj en kommentar