OpenWifi-projekt med implementering av ett öppet Wi-Fi-chip baserat på FPGA och SDR

Vid den senaste FOSDEM 2020-konferensen presenteras projektet OpenWifi, utvecklar den första öppna implementeringen av den fullständiga Wi-Fi 802.11a/g/n-stacken, vars signalform och modulering specificeras i programvaran (SDR, Software Defined Radio). OpenWifi låter dig skapa en helt kontrollerad implementering av alla komponenter i en trådlös enhet, inklusive lågnivålager, som i konventionella trådlösa adaptrar implementeras på nivån för chips som inte är granskningsbara. Koda mjukvarukomponenterOch diagram och beskrivningar hårdvarublock i Verilog-språket för FPGA distribueras under AGPLv3-licensen.

Hårdvarukomponenten i den demonstrerade fungerande prototypen är baserad på Xilinx Zynq FPGA och AD9361 universal transceiver (RF). OpenWifi använder SoftMAC-arkitekturen, vilket innebär implementering av den trådlösa huvudstacken 802.11 (hög-MAC) på förarsidan och närvaron av ett låg-MAC-lager på FPGA-sidan. Den trådlösa stacken använder delsystemet mac80211 som tillhandahålls av Linux-kärnan. Interaktion med SDR utförs genom en speciell förare.

OpenWifi-projekt med implementering av ett öppet Wi-Fi-chip baserat på FPGA och SDR

Viktiga funktioner:

  • Fullt stöd för 802.11a/g och partiellt stöd för 802.11n MCS 0~7 (endast PHY rx för tillfället). Det finns planer på att stödja 802.11ax;
  • Bandbredd 20MHz och frekvensområde från 70 MHz till 6 GHz;
  • Driftlägen: Ad hoc (nätverk av klientenheter), åtkomstpunkt, station och övervakning;
  • Implementering av länklagerprotokollet på FPGA-sidan DCF (Distribuerad koordinationsfunktion), med CSMA/CA-metoden. Ger rambearbetningstid (SIFS) på nivå 10us;
  • Konfigurerbara kanalåtkomstprioritetsparametrar: RTS/CTS-varaktighet, CTS-till-själv, SIFS, DIFS, xIFS, slot-time, etc.
  • Tidskiva (Tidskivning) baserat på MAC-adress;
  • Lätt ändringsbar bandbredd och frekvens:
    2MHz för 802.11ah och 10MHz för 802.11p;

OpenWifi-projekt med implementering av ett öppet Wi-Fi-chip baserat på FPGA och SDR

För närvarande tillhandahåller OpenWifi stöd FPGA-baserade SDR-plattformar
Xilinx ZC706 med Analog Devices FMCOMMS2/3/4 transceivrar, samt buntar (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB och ADRV9361Z7035 SOM + ADRV1CRR-FMC. Formad för lastning färdig bild ARM Linux-baserade SD-kort. Det finns planer på att stödja ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 och
Xilinx ZCU102 + ADRV9371. Kostnaden för komponenterna inblandade i den första OpenWifi-prototypen var cirka 1300 euro, men portering till billigare kort pågår. Till exempel kostnaden för en lösning baserad på Analoga enheter ADRV9364-Z7020 kommer att vara 700 euro, och på grundval ZYNQ NH7020 - 400 euro.

Genom att testa prestandan för att ansluta en klient med en TL-WDN4200 N900 USB-adapter till en OpenWifi-baserad åtkomstpunkt kunde vi uppnå en genomströmning på 30.6 Mbps (TCP) och 38.8 Mbps (UDP) vid överföring av data från åtkomstpunkten till klienten och 17.0 Mbps (TCP) och 21.5 Mbps (UDP) när de överförs från klienten till åtkomstpunkten. För hantering kan vanliga Linux-verktyg användas, såsom ifconfig och iwconfig, samt ett specialiserat verktyg sdrctl, som fungerar via netlink och låter dig styra driften av SDR på en låg nivå (manipulera register, ändra tidssegmentinställningar, etc.).

Bland andra öppna projekt som experimenterar med Wi-Fi-stacken kan vi notera projektet WimeUtvecklar IEEE 802.11 a/g/p-kompatibel sändare baserad på GNU Radio och en vanlig PC. Programvara öppna 802.11 trådlösa stackar utvecklar också projekt Ziria и sora (Microsoft Research Software Radio).

OpenWifi-projekt med implementering av ett öppet Wi-Fi-chip baserat på FPGA och SDR

Källa: opennet.ru

Lägg en kommentar