FPGA рдЖрдгрд┐ SDR рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдУрдкрди рд╡рд╛рдп-рдлрд╛рдп рдЪрд┐рдкрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ OpenWifi рдкреНрд░рдХрд▓реНрдк

рд╢реЗрд╡рдЯрдЪреНрдпрд╛ FOSDEM 2020 рдкрд░рд┐рд╖рджреЗрдд рд╕рд╛рджрд░ рдкреНрд░рдХрд▓реНрдк рдУрдкрди рд╡рд╛рдпрдлрд╛рдп, рд╕рдВрдкреВрд░реНрдг Wi-Fi 802.11a/g/n рд╕реНрдЯреЕрдХрдЪреА рдкрд╣рд┐рд▓реА рдЦреБрд▓реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ, рд╕рд┐рдЧреНрдирд▓ рдЖрдХрд╛рд░ рдЖрдгрд┐ рдореЙрдбреНрдпреВрд▓реЗрд╢рди рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ (SDR, рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд░реЗрдбрд┐рдУ) рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ. OpenWifi рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдпрд░рд▓реЗрд╕ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдШрдЯрдХрд╛рдВрдЪреА рдкреВрд░реНрдгрддрдГ рдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕реНрддрд░рд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ, рдЬреЗ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд╡рд╛рдпрд░рд▓реЗрд╕ рдЕрдбреЕрдкреНрдЯрд░рдордзреНрдпреЗ рдСрдбрд┐рдЯ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЪрд┐рдкреНрд╕рдЪреНрдпрд╛ рд╕реНрддрд░рд╛рд╡рд░ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдХреЛрдб рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдШрдЯрдХрдЖрдгрд┐ рдЖрдХреГрддреНрдпрд╛ рдЖрдгрд┐ рд╡рд░реНрдгрди FPGA рд╕рд╛рдареА Verilog рднрд╛рд╖реЗрддреАрд▓ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдмреНрд▓реЙрдХреНрд╕ AGPLv3 рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрд░рдд рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкрдЪрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдШрдЯрдХ Xilinx Zynq FPGA рдЖрдгрд┐ AD9361 рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рдЯреНрд░рд╛рдиреНрд╕реАрд╡реНрд╣рд░ (RF) рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ. OpenWifi SoftMAC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд╛рдкрд░рддреЗ, рдЬреЗ рдбреНрд░рд╛рдпрд╡реНрд╣рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрд▓рд╛ рдореБрдЦреНрдп 802.11 рд╡рд╛рдпрд░рд▓реЗрд╕ рд╕реНрдЯреЕрдХ (рдЙрдЪреНрдЪ-MAC) рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдгрд┐ FPGA рдмрд╛рдЬреВрд▓рд╛ рд▓реЛ-MAC рд▓реЗрдпрд░рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рджрд░реНрд╢рд╡рддреЗ. рд╡рд╛рдпрд░рд▓реЗрд╕ рд╕реНрдЯреЕрдХ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ mac80211 рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЗ. рдПрд╕рдбреАрдЖрд░рд╢реА рд╕рдВрд╡рд╛рдж рд╡рд┐рд╢реЗрд╖ рдбреНрд░рд╛рдпрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

FPGA рдЖрдгрд┐ SDR рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдУрдкрди рд╡рд╛рдп-рдлрд╛рдп рдЪрд┐рдкрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ OpenWifi рдкреНрд░рдХрд▓реНрдк

рдорд╣рддреНрд╡рд╛рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреЗ:

  • 802.11a/g рд╕рд╛рдареА рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдЖрдгрд┐ 802.11n MCS 0~7 рд╕рд╛рдареА рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди (рдлрдХреНрдд рдЖрддреНрддрд╛рд╕рд╛рдареА PHY rx). 802.11ax рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ;
  • рдмрдБрдбрд╡рд┐рдбреНрде 20MHz рдЖрдгрд┐ рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ рд╢реНрд░реЗрдгреА 70 MHz рддреЗ 6 GHz рдкрд░реНрдпрдВрдд;
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб: рддрджрд░реНрде (рдХреНрд▓рд╛рдпрдВрдЯ рдЙрдкрдХрд░рдгрд╛рдВрдЪреЗ рдиреЗрдЯрд╡рд░реНрдХ), рдНрдХреНрд╕реЗрд╕ рдкреЙрдЗрдВрдЯ, рд╕реНрдЯреЗрд╢рди рдЖрдгрд┐ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ;
  • FPGA рдмрд╛рдЬреВрд▓рд╛ рд▓рд┐рдВрдХ рд▓реЗрдпрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдбреАрд╕реАрдПрдл (рд╡рд┐рддрд░рд┐рдд рд╕рдордиреНрд╡рдп рдХрд╛рд░реНрдп), CSMA/CA рдкрджреНрдзрдд рд╡рд╛рдкрд░реВрди. рдлреНрд░реЗрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реЗрд│ рдкреНрд░рджрд╛рди рдХрд░рддреЗ (SIFS) 10us рд╕реНрддрд░рд╛рд╡рд░;
  • рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЪреЕрдиреЗрд▓ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕: RTS/CTS рдХрд╛рд▓рд╛рд╡рдзреА, CTS-рдЯреВ-рд╕реЗрд▓реНрдл, SIFS, DIFS, xIFS, рд╕реНрд▓реЙрдЯ-рдЯрд╛рдЗрдо рдЗ.
  • рд╡реЗрд│реЗрдЪреЗ рддреБрдХрдбреЗ рдХрд░рдгреЗ (рд╡реЗрд│ рд╕реНрд▓рд╛рдЗрд╕рд┐рдВрдЧ) MAC рдкрддреНрддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд;
  • рд╕рд╣рдЬ рдмрджрд▓рдгреНрдпрд╛рдпреЛрдЧреНрдп рдмрдБрдбрд╡рд┐рдбреНрде рдЖрдгрд┐ рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛:
    2ah рд╕рд╛рдареА 802.11MHz рдЖрдгрд┐ 10p рд╕рд╛рдареА 802.11MHz;

FPGA рдЖрдгрд┐ SDR рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдУрдкрди рд╡рд╛рдп-рдлрд╛рдп рдЪрд┐рдкрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ OpenWifi рдкреНрд░рдХрд▓реНрдк

рд╕рдзреНрдпрд╛, OpenWifi рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдорд░реНрдерди FPGA-рдЖрдзрд╛рд░рд┐рдд SDR рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо
рдПрдирд╛рд▓реЙрдЧ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕ FMCOMMS706/2/3 рдЯреНрд░рд╛рдиреНрд╕реАрд╡реНрд╣рд░реНрд╕рд╕рд╣ 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 - 400 рдпреБрд░реЛ.

рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ TL-WDN4200 N900 USB рдЕрдбреЕрдкреНрдЯрд░рд╕рд╣ OpenWifi-рдЖрдзрд╛рд░рд┐рдд рдНрдХреНрд╕реЗрд╕ рдкреЙрдИрдВрдЯрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреА рдЪрд╛рдЪрдгреА рдХреЗрд▓реНрдпрд╛рдиреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдНрдХреНрд╕реЗрд╕ рдкреЙрдИрдВрдЯрд╡рд░реВрди рдХреНрд▓рд╛рдпрдВрдЯрдХрдбреЗ рдбреЗрдЯрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ 30.6Mbps (TCP) рдЖрдгрд┐ 38.8Mbps (UDP) рдЪрд╛ рдереНрд░реБрдкреБрдЯ рдорд┐рд│рд╡рддрд╛ рдЖрд▓рд╛ рдЖрдгрд┐ 17.0Mbps (TCP) рдЖрдгрд┐ 21.5Mbps (UDP) рдХреНрд▓рд╛рдпрдВрдЯрдкрд╛рд╕реВрди рдНрдХреНрд╕реЗрд╕ рдкреЙрдИрдВрдЯрд╡рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реНрдпрд╛рд╡рд░. рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рд╕рд╛рдареА, рдорд╛рдирдХ рд▓рд┐рдирдХреНрд╕ рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЬ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬрд╕реЗ рдХреА ifconfig рдЖрдгрд┐ iwconfig, рддрд╕реЗрдЪ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреБрдХреНрддрддрд╛ sdrctl, рдЬреА netlink рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ SDR рдЪреЗ рдСрдкрд░реЗрд╢рди рдХрдореА рд╕реНрддрд░рд╛рд╡рд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ (рд░рдЬрд┐рд╕реНрдЯрд░рдордзреНрдпреЗ рдлреЗрд░рдлрд╛рд░ рдХрд░рдгреЗ, рдЯрд╛рдЗрдо рд╕реНрд▓рд╛рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдмрджрд▓рдгреЗ, рдЗ.).

рд╡рд╛рдп-рдлрд╛рдп рд╕реНрдЯреЕрдХрд╕рд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдгрд╛рд▒реНрдпрд╛ рдЗрддрд░ рдЦреБрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдиреЛрдВрдж рдШреЗрдК рд╢рдХрддреЛ рд╡рд╛рдИрдоIEEE 802.11 a/g/p рдЕрдиреБрд░реВрдк рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ рдЯреНрд░рд╛рдиреНрд╕рдореАрдЯрд░ рдЬреАрдПрдирдпреВ рд░реЗрдбрд┐рдУ рдЖрдгрд┐ рдирд┐рдпрдорд┐рдд рдкреАрд╕реАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд. рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдУрдкрди 802.11 рд╡рд╛рдпрд░рд▓реЗрд╕ рд╕реНрдЯреЕрдХ рджреЗрдЦреАрд▓ рдкреНрд░рдХрд▓реНрдк рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЗрдд рдЭрд┐рд░рдпрд╛ ╨╕ рд╕реЛрд░рд╛ (рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд░рд┐рд╕рд░реНрдЪ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд░реЗрдбрд┐рдУ).

FPGA рдЖрдгрд┐ SDR рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдУрдкрди рд╡рд╛рдп-рдлрд╛рдп рдЪрд┐рдкрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ OpenWifi рдкреНрд░рдХрд▓реНрдк

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛