AD936x+ZYNQ搭建OpenWIFI
時(shí)間:2025-08-19 22:34:50
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
openwifi:基于 SDR(軟件定義無線電)的 Linux mac80211 兼容全棧 IEEE802.11/Wi-Fi 設(shè)計(jì)。
使用的硬件如下:1、ZYNQ7020+AD9364,Analog Devices AD9364- BBCZ集成1x1 RF Agile Transceiver?+Xilinx Zynq XC7Z020-1CLG400I AP SoC(用于數(shù)字處理)2、7020的介紹:https://china.xilinx.com/support/documentation/boards_and_kits/zc702_zvik/ug850-zc702-eval-bd.pdf3、AD9364:詳見中文手冊。注意1:一些ZYNQ+AD936x方案基本都是ADI官方AD-FMCOMMS [2、3、4、5] –EBZ(區(qū)別詳見注意2)的變形體,所有的設(shè)計(jì)資料都可以直接利用官方的工程。同時(shí),官方也針對一些常用的開發(fā)板和開源硬件做了u-boot、kernel和文件系統(tǒng),使用過程中只需要準(zhǔn)備一個(gè)SD/FT卡和讀卡器即可;
注意2:
| 板卡 | AD936x器件 | 同時(shí)發(fā)送/接收 | Tx(范圍) | Rx(范圍) | 目的 | 連接器 |
| ADALM-PLUTO | 1個(gè)AD9363 | 1 x 1 | 1(325-3800 MHz) | 1(325-3800 MHz) | 主動(dòng)學(xué)習(xí)模塊 | 臺(tái)積電 |
| ADRV9364-Z7020 | 1個(gè)AD9364 | 1 x 1 | 1(2400-2500 MHz) | 1(2400-2500 MHz) | 高度集成的模塊系統(tǒng) | 臺(tái)積電 |
| ADRV9361-Z7035 | 1個(gè)AD9361 | 2 x 2 | 2(2400-2500 MHz) | 2(2400-2500 MHz) | 高度集成的模塊系統(tǒng) | 臺(tái)積電 |
| AD-FMCOMMS2-EBZ | 1個(gè)AD9361 | 2 x 2 | 2(2400-2500 MHz) | 2(2400-2500 MHz) | 窄范圍內(nèi)的最佳射頻性能 | FMC-LPC |
| AD-FMCOMMS3-EBZ | 1個(gè)AD9361 | 2 x 2 | 2(70-6000 MHz) | 2(70-6000 MHz) | 軟件測試和波形開發(fā) | FMC-LPC |
| AD-FMCOMMS4-EBZ | 1個(gè)AD9364 | 1 x 1 |
1(2400-2500 MHz) 1(70-6000 MHz) |
1(2400-2500 MHz) 1(70-6000 MHz) |
|
FMC-LPC |
| AD-FMCOMMS5-EBZ | 2個(gè)AD9361 | 4 x 4 |
4(2400-2500 MHz) 4(70-6000 MHz) |
4(2400-2500 MHz) 4(70-6000 MHz) |
MIMO測試平臺(tái),可以在RF域中同步 | 2個(gè)FMC-LPC |
應(yīng)用
官方的支持板卡如下所示:
| board_name | board combination |
| zc706_fmcs2 | Xilinx ZC706 dev board + FMCOMMS2/3/4 |
| zed_fmcs2 | Xilinx zed board + FMCOMMS2/3/4 |
| adrv9364z7020 | ADRV9364-Z7020 + ADRV1CRR-BOB |
| adrv9361z7035 | ADRV9361-Z7035 + ADRV1CRR-BOB/FMC |
| zc702_fmcs2 | Xilinx ZC702 dev board + FMCOMMS2/3/4 |
| zcu102_fmcs2 | Xilinx ZCU102 dev board + FMCOMMS2/3/4 |
| zcu102_9371 | Xilinx ZCU102 dev board + ADRV9371 |
https://users.ugent.be/~xjiao/openwifi-1.2.0-leuven-2-32bit.img.xz
下載下來是一個(gè).xz文件
windows系統(tǒng)下需要先解壓,解壓出來就是我們需要的.img文件。
接下來準(zhǔn)備一個(gè)8GB以上內(nèi)存的SD/TF卡,通過讀卡器接到電腦上。準(zhǔn)備一個(gè)SD卡刻錄軟件,本人習(xí)慣使用Win32DiskImager,打開軟件,選擇下載下來的img文件,具體設(shè)置如下:
第一步:選擇下載下來的img文件;第二步:選擇SD/TF卡對應(yīng)的盤符,一定要仔細(xì)核對防止損壞其他卡;第三步:點(diǎn)擊WRITE,向卡內(nèi)寫入文件;第四步:等待完成。2、復(fù)制文件到對應(yīng)位置燒寫完畢的卡在windows系統(tǒng)下只能顯示boot分區(qū),先看下分區(qū)下都有哪些文件:ADI官方提供的每個(gè)板卡的u-boot和設(shè)備樹分別在對應(yīng)的文件夾下:
每個(gè)文件夾下的文件:
SD卡內(nèi)部還包括內(nèi)核+u-boot環(huán)境變量
其中uImage(內(nèi)核)在下圖位置文件夾下,也需要拷貝到SD卡的根目錄下,拷貝完如上圖所示。
文件系統(tǒng):文件系統(tǒng)需要在Linux系統(tǒng)內(nèi)查看(WINDOWS不支持),具體如下:
最后就是在上面介紹的boot分區(qū)內(nèi)將u-boot和設(shè)備樹拷貝到SD卡根分區(qū)內(nèi),將和自己匹配的硬件平臺(tái)內(nèi)的文件拷貝到SD卡根目錄內(nèi),打開下圖路徑:
把內(nèi)部的文件拷貝到拷貝到SD卡根目錄:
提示替換原來的文件即可,接下來可以根據(jù)需求修改環(huán)境變量文本(默認(rèn)不需要),連接平臺(tái)的串口+上電就可以看到完整的系統(tǒng)打印信息,其中串口設(shè)置如下:
目前為止AD936X+ZYNQ利用官方提供的鏡像搭建平臺(tái)的過程已經(jīng)完成,可以盡情玩耍了。總結(jié)一下:1、下載鏡像文件;2、將OpenWIFI文件夾中對應(yīng)的u-boot、設(shè)備樹和內(nèi)核(uImage)拷貝到SD卡根目錄下(BOOT)。
OPenwifi應(yīng)用
注意:天線接口要選擇和自己SDR平臺(tái)對應(yīng)的座子接口,目前常見的都是SMA接口。其他接口自行想辦法將天線接到SDR的RX和TX接口。1、路由器設(shè)置OpenWIFI啟動(dòng)后有一個(gè)固定的IP,需要把平臺(tái)鏈接到路由器的WLAN接口,此時(shí)如果OpenWIFI的IP段和路由器的不在同一頻段,需要修改OpenWIFI的IP或者路由器的固定IP,根據(jù)自己方便修改,本人使用的路由器比價(jià)好修改就直接修改了路由器IP,如下圖:
2、啟動(dòng)OpenWIFI
上圖界面輸入下圖命令:~/openwifi/fosdem-11ag.sh
OpenWIFI已啟動(dòng),這時(shí)候用手機(jī)連接Openwifi的wifi;手機(jī)瀏覽器打開192.168.13.1網(wǎng)頁,就能看到作者的主頁,詳細(xì)視頻見下圖鏈接。目前的設(shè)置還不能上網(wǎng)需要將OpenWIFI和路由器的WLAN橋接起來,主要使用三條命令:
sudo sysctl -w net.ipv4.ip_forward=1sudo iptables -t nat -A POSTROUTING -o NICY -j MASQUERADEsudo ip route add 192.168.13.0/24 via 192.168.10.122 dev ethX
標(biāo)紅的位置是需要需改的,具體含義也不解釋了(主要涉及到路由表的問題),上圖中用到的幾個(gè)IP看下板端IP你就明白了。
根據(jù)實(shí)際修改后的命令如下:
sudo sysctl -w net.ipv4.ip_forward=1sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEsudo ip route add 192.168.13.0/24 via 192.168.10.122 dev eth0
在串口中修改配置。
這時(shí)候在用手機(jī)連接OpenWIFI的wifi就可以上網(wǎng)了,具體如下:信號(hào)接收部分因?yàn)闆]插天線所以信號(hào)較弱。
至此完畢。





