Праект OpenWifi з рэалізацыяй адкрытага Wi-Fi чыпа на базе FPGA і SDR

На канферэнцыі FOSDEM 2020, якая прайшла прадстаўлены праект openwifi, Які развівае першую адкрытую рэалізацыю поўнага стэка Wi-Fi 802.11a/g/n, форма сігналу і мадуляцыя у якім задаецца праграмна (SDR, Software Defined Radio). OpenWifi дазваляе стварыць цалкам падкантрольную рэалізацыю ўсіх кампанентаў бесправадной прылады, у тым ліку нізкаўзроўневыя пласты, у звычайных бесправадных адаптарах рэалізуюцца на ўзроўні недаступных для аўдыту чыпаў. Код праграмных кампанентаў, а таксама схемы і апісанні апаратных блокаў на мове Verilog для FPGA распаўсюджваюцца пад ліцэнзіяй AGPLv3.

Апаратны складнік прадэманстраванага працоўнага прататыпа грунтуецца на FPGA Xilinx Zynq і ўніверсальным прыёмаперадатчыку (RF) AD9361. У OpenWifi ужываецца архітэктура SoftMAC, якая разумее рэалізацыю асноўнага бесправаднога стэка 802.11 (high-MAC) на боку драйвера і наяўнасць low-MAC пласта на боку FPGA. У якасці бесправаднога стэка выкарыстоўваецца падсістэма mac80211, якая прадстаўляецца ядром Linux. Узаемадзеянне з SDR вырабляецца праз спецыяльны драйвер.

Праект OpenWifi з рэалізацыяй адкрытага Wi-Fi чыпа на базе FPGA і SDR

Асноўныя магчымасці:

  • Поўная падтрымка 802.11a/g і частковая падтрымка 802.11n MCS 0~7 (пакуль толькі PHY rx). У планах падтрымка 802.11ax;
  • Паласа прапускання 20MHz і дыяпазон частот ад 70 MHz да 6 GHz;
  • Рэжымы працы: Спецыяльны (сетка з кліенцкіх прылад), кропка доступу, станцыя і маніторынг;
  • Рэалізацыя на баку FPGA пратакола канальнага ўзроўню DCF (Distributed Coordination Function), які выкарыстоўвае метад CSMA/CA. Забяспечваецца час апрацоўкі кадра (SIFS) на ўзроўні 10us;
  • Наладжвальныя параметры прыярытэту доступу да канала: працягласць RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time і да т.п.
  • Квантаванне часу (Разрэз часу) на базе MAC-адрасы;
  • Лёгка змяняная паласа прапускання і частата:
    2MHz для 802.11ah і 10MHz для 802.11p;

Праект OpenWifi з рэалізацыяй адкрытага Wi-Fi чыпа на базе FPGA і SDR

У наш час у OpenWifi забяспечана падтрымка SDR-платформаў на базе FPGA
Xilinx ZC706 з прыёмаперадатчыкамі Analog Devices FMCOMMS2/3/4, а гэтак жа звязкаў (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB і ADRV9361Z7035 SOM + ADRV1CRR-FMC. Для загрузкі сфарміраваны гатовы вобраз SD-карты на базе ARM Linux. У планах падтрымка звязкаў ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 і
Xilinx ZCU102 + ADRV9371. Кошт кампанентаў, задзейнічаных у першым прататыпе OpenWifi, склала каля 1300 еўра, але вядзецца партаванне на таннейшыя платы. Напрыклад, кошт рашэння на базе Analog Devices ADRV9364-Z7020 складзе 700 эўра, а на базе ZYNQ NH7020 - 400 еўра.

Тэставанне прадукцыйнасці падлучэння кліента з USB-адаптарам TL-WDN4200 N900 да кропкі доступу на базе OpenWifi дазволіла дамагчыся прапускной здольнасці 30.6Mbps (TCP) і 38.8Mbps (UDP) пры перадачы дадзеных ад кропкі доступу да кліента і 17.0. (UDP) пры перадачы ад кліента да кропкі доступу. Для кіравання могуць выкарыстоўвацца штатныя ўтыліты Linux, такія як ifconfig і iwconfig, а таксама спецыялізаваная ўтыліта sdrctl, якая працуе праз netlink і якая дазваляе кіраваць працай SDR на нізкім узроўні (маніпуляваць рэгістрамі, змяняць настойкі квантавання часу і да т.п.).

З іншых адкрытых праектаў, якія эксперыментуюць з Wi-Fi стэкам, можна адзначыць праект Wime, які развівае сумяшчальны з IEEE 802.11 a/g/p перадатчык на базе GNU Radio і звычайнага ПК. Праграмныя адкрытыя бесправадныя стэкі 802.11 таксама развіваюць праекты Ziria и смецця (Microsoft Research Software Radio).

Праект OpenWifi з рэалізацыяй адкрытага Wi-Fi чыпа на базе FPGA і SDR

Крыніца: opennet.ru

Дадаць каментар