Проект OpenWifi развивает открытый Wi-Fi чип на базе FPGA и SDR

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

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

0_1580814351.jpeg

Основные возможности:

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

В настоящее время в OpenWifi обеспечена поддержка SDR-платформ на базе FPGA Xilinx ZC706 с приёмопередатчиками Analog Devices FMCOMMS2/¾, а так же связок (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB и ADRV9361Z7035 SOM + ADRV1CRR-FMC. Для загрузки на плате сформирован готовый образ SD-карты на базе ARM Linux. В планах поддержка связок ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/¾, Xilinx ZCU102 + FMCOMMS2/¾ и Xilinx ZCU102 + ADRV9371.

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





Источник: http://www.opennet.ru/opennews/art.shtml? num=52309

©  OpenNet