FPGA ve SDR'ye dayalı açık bir Wi-Fi çipinin uygulanmasıyla OpenWifi projesi

Son FOSDEM 2020 konferansında gönderilen proje AçıkWifi, sinyal şekli ve modülasyonu yazılımda (SDR, Yazılım Tanımlı Radyo) belirtilen tam Wi-Fi 802.11a/g/n yığınının ilk açık uygulamasını geliştiriyor. OpenWifi, geleneksel kablosuz adaptörlerde denetlenemeyen yongalar seviyesinde uygulanan düşük seviyeli katmanlar da dahil olmak üzere, kablosuz bir cihazın tüm bileşenlerinin tam kontrollü bir uygulamasını oluşturmanıza olanak tanır. Kod yazılım bileşenleriVe diyagramlar ve açıklamalar FPGA için Verilog dilindeki donanım blokları AGPLv3 lisansı altında dağıtılmaktadır.

Gösterilen çalışma prototipinin donanım bileşeni, Xilinx Zynq FPGA ve AD9361 evrensel alıcı-vericiye (RF) dayanmaktadır. OpenWifi, sürücü tarafında ana 802.11 kablosuz yığının (yüksek MAC) uygulanmasını ve FPGA tarafında düşük MAC katmanının varlığını ima eden SoftMAC mimarisini kullanır. Kablosuz yığın, Linux çekirdeği tarafından sağlanan mac80211 alt sistemini kullanır. SDR ile etkileşim özel bir sürücü aracılığıyla gerçekleştirilir.

FPGA ve SDR'ye dayalı açık bir Wi-Fi çipinin uygulanmasıyla OpenWifi projesi

Anahtar özellikler:

  • 802.11a/g için tam destek ve 802.11n MCS 0~7 için kısmi destek (şimdilik yalnızca PHY rx). 802.11ax'i destekleme planları var;
  • Bant genişliği 20MHz ve frekans aralığı 70 MHz ila 6 GHz arasındadır;
  • Çalışma modları: Geçici (istemci cihazları ağı), erişim noktası, istasyon ve izleme;
  • Bağlantı katmanı protokolünün FPGA tarafında uygulanması DCF (Dağıtılmış Koordinasyon İşlevi), CSMA/CA yöntemini kullanarak. Çerçeve işleme süresi sağlar (SIFS'ler) 10us seviyesinde;
  • Yapılandırılabilir kanal erişim önceliği parametreleri: RTS/CTS süresi, CTS'den kendine, SIFS, DIFS, xIFS, slot zamanı vb.
  • Zaman dilimleme (Zaman dilimleme) MAC adresine dayalı olarak;
  • Kolayca değiştirilebilir bant genişliği ve frekans:
    2ah için 802.11MHz ve 10p için 802.11MHz;

FPGA ve SDR'ye dayalı açık bir Wi-Fi çipinin uygulanmasıyla OpenWifi projesi

Şu anda OpenWifi şunları sağlıyor: destek FPGA tabanlı SDR platformları
Analog Cihazlar FMCOMMS706/2/3 alıcı-vericilerine sahip Xilinx ZC4'nın yanı sıra paketler (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB ve ADRV9361Z7035 SOM + ADRV1CRR-FMC. Yükleme için oluşturuldu bitmiş görüntü ARM Linux tabanlı SD kartlar. ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 ve
Xilinx ZCU102 + ADRV9371. İlk OpenWifi prototipinde yer alan bileşenlerin maliyeti yaklaşık 1300 Euro'ydu ancak daha ucuz kartlara geçiş sürüyor. Örneğin, bir çözümün maliyeti Analog Cihazlar ADRV9364-Z7020 700 euro olacak ve bazında ZYNQ NH7020 - 400 avro.

Bir istemciyi TL-WDN4200 N900 USB adaptörüyle OpenWifi tabanlı bir erişim noktasına bağlama performansının test edilmesi, erişim noktasından istemciye veri aktarırken 30.6 Mb/sn (TCP) ve 38.8 Mb/sn (UDP) verim elde etmemizi sağladı ve İstemciden erişim noktasına aktarıldığında 17.0 Mb/sn (TCP) ve 21.5 Mb/sn (UDP). Yönetim için, ifconfig ve iwconfig gibi standart Linux yardımcı programlarının yanı sıra netlink aracılığıyla çalışan ve SDR'nin çalışmasını düşük düzeyde kontrol etmenize olanak tanıyan özel bir yardımcı program olan sdrctl kullanılabilir (kayıtları manipüle edin, zaman dilimi ayarlarını değiştirin, vesaire.).

Wi-Fi yığınını deneyen diğer açık projeler arasında projeyi not edebiliriz. WimeIEEE 802.11 a/g/p uyumluluğu geliştirme verici GNU Radyo ve normal bir PC tabanlı. Yazılım açık 802.11 kablosuz yığınları da projeler geliştiriyor Ziria и Sora (Microsoft Araştırma Yazılımı Radyosu).

FPGA ve SDR'ye dayalı açık bir Wi-Fi çipinin uygulanmasıyla OpenWifi projesi

Kaynak: opennet.ru

Yorum ekle