OpenWifi-projekto kun la efektivigo de malferma Wi-Fi-peceto bazita sur FPGA kaj SDR

En la lasta konferenco de FOSDEM 2020 prezentita la projekto openwifi, evoluigante la unuan malferman efektivigon de la plena Wi-Fi 802.11a/g/n stako, la signalformo kaj modulado en kiu estas specifita en programaro (SDR, Software Defined Radio). OpenWifi permesas krei plene kontrolitan efektivigon de ĉiuj komponentoj de sendrata aparato, inkluzive de malaltnivelaj tavoloj, kiuj en konvenciaj sendrataj adaptiloj estas efektivigitaj je la nivelo de blatoj ne aŭdeblaj. Kodo programaraj komponantojKaj diagramoj kaj priskriboj hardvarblokoj en Verilog-lingvo por FPGA estas distribuitaj sub la AGPLv3-licenco.

La hardvarkomponento de la pruvita laborprototipo estas bazita sur la Xilinx Zynq FPGA kaj la AD9361 universala radioricevilo (RF). OpenWifi uzas la SoftMAC-arkitekturon, kiu implicas la efektivigon de la ĉefa 802.11 sendrata stako (alta-MAC) sur la ŝoforflanko kaj la ĉeeston de malalt-MAC-tavolo sur la FPGA-flanko. La sendrata stako uzas la mac80211-subsistemon provizitan de la Linukso-kerno. Interago kun SDR estas farita per speciala ŝoforo.

OpenWifi-projekto kun la efektivigo de malferma Wi-Fi-peceto bazita sur FPGA kaj SDR

Ĉefaj trajtoj:

  • Plena subteno por 802.11a/g kaj parta subteno por 802.11n MCS 0~7 (PHY rx nur nuntempe). Estas planoj subteni 802.11ax;
  • Larĝo de bando 20MHz kaj frekvenco de 70 MHz ĝis 6 GHz;
  • Funkciaj reĝimoj: Ad hoc (reto de klientaj aparatoj), alirpunkto, stacio kaj monitorado;
  • Efektivigo de la ligtavolprotokolo sur la FPGA-flanko DCF (Distribuita Kunordiga Funkcio), uzante la CSMA/CA-metodon. Provizas kadran pretigtempon (SIFS) je nivelo 10us;
  • Agordeblaj kanalaj aliro prioritataj parametroj: RTS/CTS-daŭro, CTS-al-mem, SIFS, DIFS, xIFS, slot-tempo, ktp.
  • Tempotranĉado (Tempotranĉado) surbaze de MAC-adreso;
  • Facile ŝanĝebla bendolarĝo kaj frekvenco:
    2MHz por 802.11ah kaj 10MHz por 802.11p;

OpenWifi-projekto kun la efektivigo de malferma Wi-Fi-peceto bazita sur FPGA kaj SDR

Nuntempe, OpenWifi provizas subteno SDR-platformoj bazitaj en FPGA
Xilinx ZC706 kun Analog Devices FMCOMMS2/3/4 transceptoroj, same kiel pakaĵoj (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB kaj ADRV9361Z7035 SOM + ADRV1CRR-FMC. Formita por ŝarĝo finita bildo ARM Linukso bazita SD-kartoj. Estas planoj subteni ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 kaj
Xilinx ZCU102 + ADRV9371. La kosto de la komponentoj implikitaj en la unua OpenWifi-prototipo estis proksimume 1300 eŭroj, sed portado al pli malmultekostaj tabuloj estas survoje. Ekzemple, la kosto de solvo bazita sur Analog Devices ADRV9364-Z7020 estos 700 eŭroj, kaj surbaze ZYNQ NH7020 - 400 eŭroj.

Provi la rendimenton de konekto de kliento per TL-WDN4200 N900 USB-adaptilo al OpenWifi-bazita alirpunkto permesis al ni atingi trairon de 30.6Mbps (TCP) kaj 38.8Mbps (UDP) dum transdono de datumoj de la alirpunkto al la kliento kaj 17.0Mbps (TCP) kaj 21.5Mbps (UDP) kiam transdonite de la kliento ĝis la alirpunkto. Por administrado, normaj Linuksaj iloj povas esti uzataj, kiel ifconfig kaj iwconfig, kaj ankaŭ speciala ilo sdrctl, kiu funkcias per netlink kaj ebligas al vi kontroli la funkciadon de SDR je malalta nivelo (manipulu registrojn, ŝanĝu tempotranĉajn agordojn, ktp.).

Inter aliaj malfermitaj projektoj eksperimentantaj kun la Wi-Fi-stako, ni povas noti la projekton WimeEvoluigante IEEE 802.11 a/g/p konforme dissendilo bazita sur GNU-Radio kaj regula komputilo. Programaro malfermaj 802.11 sendrataj stakoj ankaŭ evoluigas projektojn Ziria и Sora (Microsoft Research Software Radio).

OpenWifi-projekto kun la efektivigo de malferma Wi-Fi-peceto bazita sur FPGA kaj SDR

fonto: opennet.ru

Aldoni komenton