OpenWifi projekt avatud Wi-Fi kiibi rakendamisega, mis põhineb FPGA-l ja SDR-il

Viimasel FOSDEM 2020 konverentsil esitatakse projekt openwifi, töötades välja täieliku Wi-Fi 802.11a/g/n pinu esimese avatud juurutuse, mille signaali kuju ja modulatsioon on tarkvaras määratud (SDR, Software Defined Radio). OpenWifi võimaldab teil luua traadita seadme kõigi komponentide, sealhulgas madala taseme kihtide, täielikult kontrollitud teostuse, mis tavalistes traadita adapterites on rakendatud kiipide tasemel, mis pole auditeeritavad. Kood tarkvara komponendid ning diagrammid ja kirjeldused FPGA jaoks mõeldud Verilogi keele riistvaraplokke levitatakse AGPLv3 litsentsi alusel.

Demonstreeritud töötava prototüübi riistvarakomponent põhineb Xilinx Zynq FPGA-l ja AD9361 universaalsel transiiveril (RF). OpenWifi kasutab SoftMAC-arhitektuuri, mis eeldab peamise 802.11 traadita virna (high-MAC) rakendamist draiveri poolel ja madala MAC-kihi olemasolu FPGA poolel. Juhtmevaba pinu kasutab Linuxi kerneli pakutavat alamsüsteemi mac80211. SDR-iga suhtlemine toimub spetsiaalse draiveri kaudu.

OpenWifi projekt avatud Wi-Fi kiibi rakendamisega, mis põhineb FPGA-l ja SDR-il

Põhijooned:

  • Täielik tugi 802.11a/g ja osaline tugi 802.11n MCS 0~7 jaoks (praegu ainult PHY rx). Plaanis on toetada 802.11ax;
  • Ribalaius 20 MHz ja sagedusvahemik 70 MHz kuni 6 GHz;
  • Töörežiimid: Ajutised (kliendiseadmete võrk), pääsupunkt, jaam ja monitooring;
  • Linkkihi protokolli rakendamine FPGA poolel DCF (Distributed Coordination Function), kasutades CSMA/CA meetodit. Pakub kaadri töötlemise aega (SIFS) tasemel 10us;
  • Konfigureeritavad kanali juurdepääsu prioriteedi parameetrid: RTS/CTS kestus, CTS-to-self, SIFS, DIFS, xIFS, slot-time jne.
  • Aja lõikamine (Aja lõikamine) MAC-aadressi alusel;
  • Lihtsalt muudetav ribalaius ja sagedus:
    2MHz 802.11ah ja 10MHz 802.11p jaoks;

OpenWifi projekt avatud Wi-Fi kiibi rakendamisega, mis põhineb FPGA-l ja SDR-il

Praegu pakub OpenWifi toetama FPGA-põhised SDR-platvormid
Xilinx ZC706 koos analoogseadmetega FMCOMMS2/3/4 transiiveritega, samuti komplektidega (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB ja ADRV9361Z7035 SOM + ADRV1CRR-FMC. Laadimiseks moodustatud valmis pilt ARM Linuxi põhised SD-kaardid. Kavas on toetada ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 ja
Xilinx ZCU102 + ADRV9371. Esimese OpenWifi prototüübiga seotud komponentide maksumus oli umbes 1300 eurot, kuid portimine odavamatele plaatidele on pooleli. Näiteks lahenduse maksumus, mis põhineb Analoogseadmed ADRV9364-Z7020 tuleb 700 eurot ja selle alusel ZYNQ NH7020 - 400 eurot.

Kliendi TL-WDN4200 N900 USB-adapteriga OpenWifi-põhise pääsupunktiga ühendamise toimivuse testimine võimaldas meil saavutada 30.6 Mbps (TCP) ja 38.8 Mbps (UDP) läbilaskevõime, kui edastame andmeid pääsupunktist kliendile ja 17.0 Mbps (TCP) ja 21.5 Mbps (UDP), kui see edastatakse kliendilt pääsupunkti. Haldamiseks saab kasutada tavalisi Linuxi utiliite, nagu ifconfig ja iwconfig, aga ka spetsiaalset utiliiti sdrctl, mis töötab netlinki kaudu ja võimaldab kontrollida SDR-i tööd madalal tasemel (manipuleerida registreid, muuta ajalõike sätteid, jne.).

Teiste avatud projektide hulgas, mis eksperimenteerivad Wi-Fi virnaga, võime märkida projekti WimeIEEE 802.11 a/g/p ühilduv arendamine saatja põhineb GNU raadiol ja tavalisel arvutil. Tarkvara avatud 802.11 juhtmevabad virnad arendavad samuti projekte Ziria и Sora (Microsoft Research Software Radio).

OpenWifi projekt avatud Wi-Fi kiibi rakendamisega, mis põhineb FPGA-l ja SDR-il

Allikas: opennet.ru

Lisa kommentaar