پروژه OpenWifi با اجرای تراشه Wi-Fi باز مبتنی بر FPGA و SDR

در آخرین کنفرانس FOSDEM 2020 ارایه شده پروژه openwifi، توسعه اولین پیاده سازی باز از پشته کامل Wi-Fi 802.11a/g/n، شکل سیگنال و مدولاسیون که در نرم افزار (SDR، رادیو تعریف شده نرم افزار) مشخص شده است. OpenWifi به شما اجازه می دهد تا یک پیاده سازی کاملاً کنترل شده از تمام اجزای یک دستگاه بی سیم، از جمله لایه های سطح پایین ایجاد کنید، که در آداپتورهای بی سیم معمولی در سطح تراشه هایی اجرا می شوند که قابل بازرسی نیستند. کد اجزای نرم افزارو نمودارها و توضیحات بلوک های سخت افزاری در زبان Verilog برای FPGA تحت مجوز AGPLv3 توزیع می شوند.

جزء سخت افزاری نمونه اولیه کار نشان داده شده بر اساس Xilinx Zynq FPGA و فرستنده گیرنده جهانی AD9361 (RF) است. OpenWifi از معماری SoftMAC استفاده می کند که به پیاده سازی پشته بی سیم اصلی 802.11 (high-MAC) در سمت راننده و وجود یک لایه کم MAC در سمت FPGA اشاره دارد. پشته بی سیم از زیرسیستم mac80211 که توسط هسته لینوکس ارائه شده است استفاده می کند. تعامل با SDR از طریق یک درایور خاص انجام می شود.

پروژه OpenWifi با اجرای تراشه Wi-Fi باز مبتنی بر FPGA و SDR

ویژگی های کلیدی:

  • پشتیبانی کامل از 802.11a/g و پشتیبانی جزئی از 802.11n MCS 0~7 (فعلا فقط PHY rx). برنامه هایی برای پشتیبانی از 802.11ax وجود دارد.
  • پهنای باند 20 مگاهرتز و محدوده فرکانس از 70 مگاهرتز تا 6 گیگاهرتز.
  • حالت های کاری: تک کاره (شبکه دستگاه های مشتری)، نقطه دسترسی، ایستگاه و نظارت؛
  • پیاده سازی پروتکل لایه پیوند در سمت FPGA DCF (تابع هماهنگی توزیع شده)، با استفاده از روش CSMA/CA. زمان پردازش فریم را فراهم می کند (SIFS) در سطح 10us؛
  • پارامترهای اولویت دسترسی به کانال قابل تنظیم: مدت زمان RTS/CTS، CTS-to-self، SIFS، DIFS، xIFS، زمان اسلات و غیره.
  • برش زمان (برش زمان) بر اساس آدرس MAC؛
  • پهنای باند و فرکانس به راحتی قابل تغییر:
    2MHz برای 802.11ah و 10MHz برای 802.11p.

پروژه OpenWifi با اجرای تراشه Wi-Fi باز مبتنی بر FPGA و SDR

در حال حاضر، OpenWifi فراهم می کند پشتیبانی پلتفرم های SDR مبتنی بر FPGA
Xilinx ZC706 با دستگاه های آنالوگ فرستنده گیرنده FMCOMMS2/3/4، و همچنین بسته های (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB و ADRV9361Z7035 SOM + ADRV1CRR-FMC. برای بارگیری تشکیل شده است تصویر تمام شده کارت های SD مبتنی بر لینوکس ARM. برنامه هایی برای پشتیبانی از ADRV9364Z7020 SOM + ADRV1CRR-BOB، Xilinx zed + FMCOMMS2/3/4، Xilinx ZCU102 + FMCOMMS2/3/4 و
Xilinx ZCU102 + ADRV9371. هزینه قطعات درگیر در اولین نمونه اولیه OpenWifi حدود 1300 یورو بود، اما انتقال به بردهای ارزان‌تر در حال انجام است. به عنوان مثال، هزینه یک راه حل بر اساس دستگاه های آنالوگ ADRV9364-Z7020 700 یورو خواهد بود، و بر اساس ZYNQ NH7020 - 400 یورو

آزمایش عملکرد اتصال یک کلاینت با یک آداپتور USB TL-WDN4200 N900 به یک نقطه دسترسی مبتنی بر OpenWifi به ما این امکان را می دهد که در هنگام انتقال داده ها از نقطه دسترسی به مشتری، به توان عملیاتی 30.6Mbps (TCP) و 38.8Mbps (UDP) دست پیدا کنیم. 17.0 مگابیت در ثانیه (TCP) و 21.5 مگابیت در ثانیه (UDP) هنگام انتقال از مشتری به نقطه دسترسی. برای مدیریت، می توان از ابزارهای استاندارد لینوکس مانند ifconfig و iwconfig و همچنین یک ابزار تخصصی sdrctl استفاده کرد که از طریق netlink کار می کند و به شما امکان می دهد عملکرد SDR را در سطح پایین کنترل کنید (دستکاری رجیسترها، تغییر تنظیمات برش زمانی، و غیره.).

در میان پروژه‌های باز دیگری که با پشته Wi-Fi آزمایش می‌کنند، می‌توانیم به این پروژه اشاره کنیم تایمدر حال توسعه سازگار با IEEE 802.11 a/g/p فرستنده بر اساس رادیو گنو و یک کامپیوتر معمولی. پشته‌های بی‌سیم نرم‌افزار باز 802.11 نیز در حال توسعه پروژه‌ها هستند زیریا и سو (رادیو نرم افزار تحقیقاتی مایکروسافت).

پروژه OpenWifi با اجرای تراشه Wi-Fi باز مبتنی بر FPGA و SDR

منبع: opennet.ru

اضافه کردن نظر