FPGA နှင့် SDR ကိုအခြေခံ၍ အဖွင့် Wi-Fi ချစ်ပ်တစ်ခုအကောင်အထည်ဖော်ခြင်းဖြင့် OpenWifi ပရောဂျက်

နောက်ဆုံး FOSDEM 2020 ညီလာခံတွင် တင်ဆက် စီမံကိန်း၏ openwifiဆော့ဖ်ဝဲလ် (SDR၊ Software Defined Radio) တွင် သတ်မှတ်ထားသည့် အချက်ပြပုံသဏ္ဍာန်နှင့် ပြုပြင်မွမ်းမံမှု အပြည့်အ၀ Wi-Fi 802.11a/g/n stack ၏ ပထမဆုံး အဖွင့်အကောင်အထည်ဖော်မှုကို ဖော်ဆောင်နေသည်။ OpenWifi သည် သင့်အား စစ်ဆေးနိုင်သော အဆင့်နိမ့်အလွှာများအပါအဝင် ကြိုးမဲ့ကိရိယာ၏ အစိတ်အပိုင်းအားလုံးကို အပြည့်အဝထိန်းချုပ်ထားသည့် အကောင်အထည်ဖော်မှုကို ဖန်တီးနိုင်စေကာမူ သမားရိုးကျကြိုးမဲ့အဒက်တာများတွင် စစ်ဆေးမှုမပြုနိုင်သော ချစ်ပ်များအဆင့်တွင် လုပ်ဆောင်ထားသည်။ ကုဒ် software အစိတ်အပိုင်းများနှင့် ပုံကြမ်းများနှင့် ဖော်ပြချက်များ FPGA အတွက် Verilog ဘာသာစကားရှိ ဟာ့ဒ်ဝဲပိတ်ဆို့မှုများကို AGPLv3 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

သရုပ်ပြအလုပ်လုပ်ပုံ နမူနာ၏ ဟာ့ဒ်ဝဲအစိတ်အပိုင်းသည် Xilinx Zynq FPGA နှင့် AD9361 universal transceiver (RF) ကို အခြေခံထားသည်။ OpenWifi သည် ဒရိုင်ဘာဘက်ခြမ်းရှိ ပင်မ 802.11 ကြိုးမဲ့စတက်ခ် (high-MAC) ကို အကောင်အထည်ဖော်ခြင်းနှင့် FPGA ဘက်တွင် MAC အလွှာနိမ့်ရှိခြင်းတို့ကို ရည်ညွှန်းသည့် SoftMAC ဗိသုကာကို အသုံးပြုသည်။ ကြိုးမဲ့ stack သည် Linux kernel မှပေးသော mac80211 subsystem ကိုအသုံးပြုသည်။ SDR နှင့် အပြန်အလှန် တုံ့ပြန်မှုကို အထူးဒရိုင်ဘာမှတဆင့် လုပ်ဆောင်သည်။

FPGA နှင့် SDR ကိုအခြေခံ၍ အဖွင့် Wi-Fi ချစ်ပ်တစ်ခုအကောင်အထည်ဖော်ခြင်းဖြင့် OpenWifi ပရောဂျက်

အဓိကသော့ချက်များ:

  • 802.11a/g အတွက် အပြည့်အဝ ပံ့ပိုးမှု နှင့် 802.11n MCS 0~7 အတွက် တစ်စိတ်တစ်ပိုင်း ပံ့ပိုးမှု (PHY rx အတွက်သာ)။ 802.11ax ကို ပံ့ပိုးရန် အစီအစဉ်များ ရှိပါသည်။
  • Bandwidth 20MHz နှင့် ကြိမ်နှုန်းအကွာအဝေး 70 MHz မှ 6 GHz;
  • operating mode များ: သင့်ရာကို (ဖောက်သည်စက်များ၏ကွန်ရက်)၊ ဝင်ရောက်ရန်နေရာ၊ ဘူတာရုံနှင့် စောင့်ကြည့်ခြင်း၊
  • FPGA ဘက်ခြမ်းရှိ link layer protocol ကို အကောင်အထည်ဖော်ခြင်း။ DCF CSMA/CA နည်းလမ်းကို အသုံးပြု၍ (ဖြန့်ဝေသော ပူးပေါင်းဆောင်ရွက်မှုလုပ်ဆောင်ချက်)။ frame processing time ကို ပေးသည် (SIFSအဆင့် 10us တွင်)
  • ပြင်ဆင်သတ်မှတ်နိုင်သော ချန်နယ်ဝင်ရောက်ခွင့် ဦးစားပေး ကန့်သတ်ဘောင်များ- RTS/CTS ကြာချိန်၊ CTS-to-self၊ SIFS၊ DIFS၊ xIFS၊ slot-time စသည်ဖြင့်။
  • အချိန်ပိုင်းဖြတ်ခြင်း (အချိန်ပိုင်းဖြတ်ခြင်း။) MAC လိပ်စာပေါ်အခြေခံ၍
  • အလွယ်တကူ ပြောင်းလဲနိုင်သော လှိုင်းနှုန်းနှင့် ကြိမ်နှုန်း-
    2ah အတွက် 802.11MHz နှင့် 10p အတွက် 802.11MHz;

FPGA နှင့် SDR ကိုအခြေခံ၍ အဖွင့် Wi-Fi ချစ်ပ်တစ်ခုအကောင်အထည်ဖော်ခြင်းဖြင့် OpenWifi ပရောဂျက်

လောလောဆယ်တွင် OpenWifi ပေးပါသည်။ ထောက်ပံ့ FPGA အခြေပြု SDR ပလပ်ဖောင်းများ
Analog Devices FMCOMMS706/2/3 transceivers ပါရှိသော Xilinx ZC4 အပြင် အစုအဝေးများ (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB နှင့် ADRV9361Z7035 SOM + ADRV1CRR-FMC။ တင်ရန် ဖွဲ့စည်းခဲ့သည်။ အချောပုံ ARM Linux အခြေခံ SD ကတ်များ။ ADRV9364Z7020 SOM + ADRV1CRR-BOB၊ Xilinx zed + FMCOMMS2/3/4၊ Xilinx ZCU102 + FMCOMMS2/3/4 တို့ကို ပံ့ပိုးပေးမည့် အစီအစဉ်များ ရှိပါသည်။
Xilinx ZCU102 + ADRV9371။ ပထမဆုံး OpenWifi ရှေ့ပြေးပုံစံတွင် ပါဝင်သော အစိတ်အပိုင်းများ၏ ကုန်ကျစရိတ်မှာ ယူရို 1300 ခန့်ရှိသော်လည်း စျေးသက်သာသော ဘုတ်များထံသို့ ပေးပို့ခြင်းအား လုပ်ဆောင်နေပါသည်။ ဥပမာအားဖြင့် ဖြေရှင်းချက်တစ်ခု၏ ကုန်ကျစရိတ်အပေါ် အခြေခံသည်။ အင်နာလော့ကိရိယာများ ADRV9364-Z7020 အခြေခံအားဖြင့် ယူရို 700 ဖြစ်လိမ့်မည်။ ZYNQ NH7020 ယူရို - ၅၃၉။

ဖောက်သည်တစ်ဦးအား TL-WDN4200 N900 USB အဒက်တာနှင့် OpenWifi-based access point သို့ ချိတ်ဆက်ခြင်း၏စွမ်းဆောင်ရည်ကို စမ်းသပ်ခြင်းဖြင့် ကျွန်ုပ်တို့အား 30.6Mbps (TCP) နှင့် 38.8Mbps (UDP) ဒေတာကို ကလိုင်းယင့်ထံသို့ လွှဲပြောင်းသည့်အခါတွင်လည်းကောင်း၊ client မှ access point သို့ ပို့သည့်အခါ 17.0Mbps (TCP) နှင့် 21.5Mbps (UDP)။ စီမံခန့်ခွဲမှုအတွက်၊ ifconfig နှင့် iwconfig ကဲ့သို့သော စံ Linux utilities များအပြင် netlink မှတဆင့်အလုပ်လုပ်သော အထူးပြု utility sdrctl နှင့် SDR ၏လုပ်ဆောင်ချက်ကို အဆင့်နိမ့်သောအဆင့်တွင် ထိန်းချုပ်နိုင်သည် (စာရင်းများကို စီမံခန့်ခွဲခြင်း၊ အချိန်ပိုင်းဆက်တင်များကို ပြောင်းလဲခြင်း၊ စသည်ဖြင့်)။

Wi-Fi အစုအဝေးကို စမ်းသပ်နေသည့် အခြားသော အဖွင့်ပရောဂျက်များကြားတွင်၊ ပရောဂျက်ကို ကျွန်ုပ်တို့ မှတ်သားနိုင်ပါသည်။ WimeIEEE 802.11 a/g/p နှင့် လိုက်လျောညီထွေဖြစ်အောင် ဖန်တီးနေပါသည်။ ထုတ်လွှင့်သူ GNU ရေဒီယိုနှင့် ပုံမှန် PC ကိုအခြေခံသည်။ ဆော့ဖ်ဝဲလ်ဖွင့်ထားသော 802.11 ကြိုးမဲ့စတက်များသည်လည်း ပရောဂျက်များကို ဖော်ဆောင်လျက်ရှိသည်။ Ziria и Sora အဘိဓါန် (Microsoft Research Software Radio)။

FPGA နှင့် SDR ကိုအခြေခံ၍ အဖွင့် Wi-Fi ချစ်ပ်တစ်ခုအကောင်အထည်ဖော်ခြင်းဖြင့် OpenWifi ပရောဂျက်

source: opennet.ru

မှတ်ချက် Add