OpenWifi-prosjekt med implementering av en åpen Wi-Fi-brikke basert på FPGA og SDR

På den siste FOSDEM 2020-konferansen presentert prosjekt åpen wifi, utvikler den første åpne implementeringen av hele Wi-Fi 802.11a/g/n-stabelen, hvor signalformen og moduleringen er spesifisert i programvaren (SDR, Software Defined Radio). OpenWifi lar deg lage en fullt kontrollert implementering av alle komponenter i en trådløs enhet, inkludert lavnivålag, som i konvensjonelle trådløse adaptere er implementert på nivå med brikker som ikke kan revideres. Kode programvarekomponenterOg diagrammer og beskrivelser maskinvareblokker i Verilog-språket for FPGA distribueres under AGPLv3-lisensen.

Maskinvarekomponenten til den demonstrerte fungerende prototypen er basert på Xilinx Zynq FPGA og AD9361 universal transceiver (RF). OpenWifi bruker SoftMAC-arkitekturen, som innebærer implementering av den trådløse hovedstabelen 802.11 (høy-MAC) på driversiden og tilstedeværelsen av et lav-MAC-lag på FPGA-siden. Den trådløse stabelen bruker mac80211-delsystemet levert av Linux-kjernen. Interaksjon med SDR utføres gjennom en spesiell driver.

OpenWifi-prosjekt med implementering av en åpen Wi-Fi-brikke basert på FPGA og SDR

Nøkkelegenskaper:

  • Full støtte for 802.11a/g og delvis støtte for 802.11n MCS 0~7 (kun PHY rx foreløpig). Det er planer om å støtte 802.11ax;
  • Båndbredde 20MHz og frekvensområde fra 70 MHz til 6 GHz;
  • Driftsmodus: Ad hoc (nettverk av klientenheter), tilgangspunkt, stasjon og overvåking;
  • Implementering av link layer-protokollen på FPGA-siden DCF (Distribuert koordinasjonsfunksjon), ved bruk av CSMA/CA-metoden. Gir rammebehandlingstid (SIFS) på nivå 10us;
  • Konfigurerbare kanaltilgangsprioritetsparametere: RTS/CTS-varighet, CTS-til-selv, SIFS, DIFS, xIFS, slot-tid, etc.
  • Tidsskjæring (Tidsskjæring) basert på MAC-adresse;
  • Enkelt å endre båndbredde og frekvens:
    2MHz for 802.11ah og 10MHz for 802.11p;

OpenWifi-prosjekt med implementering av en åpen Wi-Fi-brikke basert på FPGA og SDR

For øyeblikket tilbyr OpenWifi støtte FPGA-baserte SDR-plattformer
Xilinx ZC706 med Analog Devices FMCOMMS2/3/4 transceivere, samt bunter (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB og ADRV9361Z7035 SOM + ADRV1CRR-FMC. Laget for lasting ferdig bilde ARM Linux-baserte SD-kort. Det er planer om å støtte ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 og
Xilinx ZCU102 + ADRV9371. Kostnaden for komponentene involvert i den første OpenWifi-prototypen var rundt 1300 euro, men portering til billigere brett er i gang. For eksempel kostnaden for en løsning basert på Analoge enheter ADRV9364-Z7020 vil være 700 euro, og på grunnlag ZYNQ NH7020 - 400 euro.

Testing av ytelsen til å koble en klient med en TL-WDN4200 N900 USB-adapter til et OpenWifi-basert tilgangspunkt gjorde det mulig for oss å oppnå gjennomstrømning på 30.6 Mbps (TCP) og 38.8 Mbps (UDP) ved overføring av data fra tilgangspunktet til klienten og 17.0 Mbps (TCP) og 21.5 Mbps (UDP) når de overføres fra klienten til tilgangspunktet. For administrasjon kan standard Linux-verktøy brukes, for eksempel ifconfig og iwconfig, samt et spesialisert verktøy sdrctl, som fungerer via netlink og lar deg kontrollere driften av SDR på et lavt nivå (manipulere registre, endre innstillinger for tidssnitt, etc.).

Blant andre åpne prosjekter som eksperimenterer med Wi-Fi-stabelen, kan vi merke oss prosjektet WimeUtvikler IEEE 802.11 a/g/p-kompatibel sender basert på GNU Radio og en vanlig PC. Programvare åpne 802.11 trådløse stabler utvikler også prosjekter Ziria и Sora (Microsoft Research Software Radio).

OpenWifi-prosjekt med implementering av en åpen Wi-Fi-brikke basert på FPGA og SDR

Kilde: opennet.ru

Legg til en kommentar