Projekti OpenWifi me zbatimin e një çipi të hapur Wi-Fi bazuar në FPGA dhe SDR

Në konferencën e fundit FOSDEM 2020 prezantuar projekt openwifi, duke zhvilluar zbatimin e parë të hapur të grumbullit të plotë Wi-Fi 802.11a/g/n, forma dhe modulimi i sinjalit në të cilin specifikohet në softuer (SDR, Radio Defined Software). OpenWifi ju lejon të krijoni një implementim plotësisht të kontrolluar të të gjithë komponentëve të një pajisjeje me valë, duke përfshirë shtresat e nivelit të ulët, të cilat në adaptorët konvencionalë me valë zbatohen në nivelin e çipave që nuk janë të auditueshëm. Kodi komponentët e softueritDhe diagramet dhe përshkrimet blloqet e harduerit në gjuhën Verilog për FPGA shpërndahen nën licencën AGPLv3.

Komponenti i harduerit i prototipit të demonstruar të punës bazohet në Xilinx Zynq FPGA dhe transmetuesin universal AD9361 (RF). OpenWifi përdor arkitekturën SoftMAC, e cila nënkupton zbatimin e stivës kryesore pa tel 802.11 (high-MAC) në anën e drejtuesit dhe praninë e një shtrese me nivel të ulët MAC në anën FPGA. Stacki me valë përdor nënsistemin mac80211 të ofruar nga kerneli Linux. Ndërveprimi me SDR kryhet përmes një drejtuesi të veçantë.

Projekti OpenWifi me zbatimin e një çipi të hapur Wi-Fi bazuar në FPGA dhe SDR

Karakteristikat kryesore:

  • Mbështetje e plotë për 802.11a/g dhe mbështetje e pjesshme për 802.11n MCS 0~7 (vetëm PHY rx tani për tani). Ka plane për të mbështetur 802.11ax;
  • Gjerësia e brezit 20 MHz dhe diapazoni i frekuencës nga 70 MHz në 6 GHz;
  • Modalitetet e funksionimit: Ad hoc (rrjeti i pajisjeve të klientit), pika e hyrjes, stacioni dhe monitorimi;
  • Implementimi i protokollit të shtresës së lidhjes në anën FPGA DCF (Funksioni i Koordinimit të Shpërndarë), duke përdorur metodën CSMA/CA. Ofron kohën e përpunimit të kornizës (SIFS) në nivelin 10us;
  • Parametrat e përparësisë së qasjes së kanalit të konfigurueshëm: kohëzgjatja e RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, koha e slotit, etj.
  • Prerja e kohës (Prerja e kohës) bazuar në adresën MAC;
  • Gjerësia e brezit dhe frekuenca lehtësisht e ndryshueshme:
    2MHz për 802.11ah dhe 10MHz për 802.11p;

Projekti OpenWifi me zbatimin e një çipi të hapur Wi-Fi bazuar në FPGA dhe SDR

Aktualisht, OpenWifi ofron mbështetje Platformat SDR të bazuara në FPGA
Xilinx ZC706 me pajisje analoge marrës FMCOMMS2/3/4, si dhe paketa (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB dhe ADRV9361Z7035 SOM + ADRV1CRR-FMC. Formuar për ngarkim imazh i përfunduar Kartat SD të bazuara në ARM Linux. Ka plane për të mbështetur ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 dhe
Xilinx ZCU102 + ADRV9371. Kostoja e komponentëve të përfshirë në prototipin e parë OpenWifi ishte rreth 1300 euro, por transferimi në bordet më të lira është duke u zhvilluar. Për shembull, kostoja e një zgjidhjeje të bazuar në Pajisjet analoge ADRV9364-Z7020 do të jetë 700 euro, dhe në bazë ZYNQ NH7020 - 400 euro.

Testimi i performancës së lidhjes së një klienti me një përshtatës USB TL-WDN4200 N900 me një pikë aksesi të bazuar në OpenWifi na lejoi të arrijmë xhiro prej 30.6 Mbps (TCP) dhe 38.8 Mbps (UDP) kur transferojmë të dhëna nga pika e hyrjes te klienti dhe 17.0 Mbps (TCP) dhe 21.5 Mbps (UDP) kur transmetohen nga klienti në pikën e hyrjes. Për menaxhim, mund të përdoren shërbimet standarde të Linux, të tilla si ifconfig dhe iwconfig, si dhe një mjet i specializuar sdrctl, i cili funksionon përmes netlink dhe ju lejon të kontrolloni funksionimin e SDR në një nivel të ulët (manipuloni regjistrat, ndryshoni cilësimet e ndarjes kohore, etj.).

Ndër projektet e tjera të hapura që eksperimentojnë me pirgun Wi-Fi, mund të vëmë re projektin WimePo zhvillohet në përputhje me IEEE 802.11 a/g/p transmetues bazuar në GNU Radio dhe një PC të rregullt. Programet e hapura 802.11 pa tel janë gjithashtu duke zhvilluar projekte Ziria и Sora (Microsoft Research Software Radio).

Projekti OpenWifi me zbatimin e një çipi të hapur Wi-Fi bazuar në FPGA dhe SDR

Burimi: opennet.ru

Shto një koment