AD936x+ZYNQ搭建OpenWIFI
時間:2025-08-19 22:34:50
手機看文章
掃描二維碼
隨時隨地手機看文章
openwifi:基于 SDR(軟件定義無線電)的 Linux mac80211 兼容全棧 IEEE802.11/Wi-Fi 設計。
使用的硬件如下:1、ZYNQ7020+AD9364,Analog Devices AD9364- BBCZ集成1x1 RF Agile Transceiver?+Xilinx Zynq XC7Z020-1CLG400I AP SoC(用于數字處理)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)的變形體,所有的設計資料都可以直接利用官方的工程。同時,官方也針對一些常用的開發(fā)板和開源硬件做了u-boot、kernel和文件系統(tǒng),使用過程中只需要準備一個SD/FT卡和讀卡器即可;
注意2:
| 板卡 | AD936x器件 | 同時發(fā)送/接收 | Tx(范圍) | Rx(范圍) | 目的 | 連接器 |
| ADALM-PLUTO | 1個AD9363 | 1 x 1 | 1(325-3800 MHz) | 1(325-3800 MHz) | 主動學習模塊 | 臺積電 |
| ADRV9364-Z7020 | 1個AD9364 | 1 x 1 | 1(2400-2500 MHz) | 1(2400-2500 MHz) | 高度集成的模塊系統(tǒng) | 臺積電 |
| ADRV9361-Z7035 | 1個AD9361 | 2 x 2 | 2(2400-2500 MHz) | 2(2400-2500 MHz) | 高度集成的模塊系統(tǒng) | 臺積電 |
| AD-FMCOMMS2-EBZ | 1個AD9361 | 2 x 2 | 2(2400-2500 MHz) | 2(2400-2500 MHz) | 窄范圍內的最佳射頻性能 | FMC-LPC |
| AD-FMCOMMS3-EBZ | 1個AD9361 | 2 x 2 | 2(70-6000 MHz) | 2(70-6000 MHz) | 軟件測試和波形開發(fā) | FMC-LPC |
| AD-FMCOMMS4-EBZ | 1個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個AD9361 | 4 x 4 |
4(2400-2500 MHz) 4(70-6000 MHz) |
4(2400-2500 MHz) 4(70-6000 MHz) |
MIMO測試平臺,可以在RF域中同步 | 2個FMC-LPC |
應用
官方的支持板卡如下所示:
| 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
下載下來是一個.xz文件
windows系統(tǒng)下需要先解壓,解壓出來就是我們需要的.img文件。
接下來準備一個8GB以上內存的SD/TF卡,通過讀卡器接到電腦上。準備一個SD卡刻錄軟件,本人習慣使用Win32DiskImager,打開軟件,選擇下載下來的img文件,具體設置如下:
第一步:選擇下載下來的img文件;第二步:選擇SD/TF卡對應的盤符,一定要仔細核對防止損壞其他卡;第三步:點擊WRITE,向卡內寫入文件;第四步:等待完成。2、復制文件到對應位置燒寫完畢的卡在windows系統(tǒng)下只能顯示boot分區(qū),先看下分區(qū)下都有哪些文件:ADI官方提供的每個板卡的u-boot和設備樹分別在對應的文件夾下:
每個文件夾下的文件:
SD卡內部還包括內核+u-boot環(huán)境變量
其中uImage(內核)在下圖位置文件夾下,也需要拷貝到SD卡的根目錄下,拷貝完如上圖所示。
文件系統(tǒng):文件系統(tǒng)需要在Linux系統(tǒng)內查看(WINDOWS不支持),具體如下:
最后就是在上面介紹的boot分區(qū)內將u-boot和設備樹拷貝到SD卡根分區(qū)內,將和自己匹配的硬件平臺內的文件拷貝到SD卡根目錄內,打開下圖路徑:
把內部的文件拷貝到拷貝到SD卡根目錄:
提示替換原來的文件即可,接下來可以根據需求修改環(huán)境變量文本(默認不需要),連接平臺的串口+上電就可以看到完整的系統(tǒng)打印信息,其中串口設置如下:
目前為止AD936X+ZYNQ利用官方提供的鏡像搭建平臺的過程已經完成,可以盡情玩耍了。總結一下:1、下載鏡像文件;2、將OpenWIFI文件夾中對應的u-boot、設備樹和內核(uImage)拷貝到SD卡根目錄下(BOOT)。
OPenwifi應用
注意:天線接口要選擇和自己SDR平臺對應的座子接口,目前常見的都是SMA接口。其他接口自行想辦法將天線接到SDR的RX和TX接口。1、路由器設置OpenWIFI啟動后有一個固定的IP,需要把平臺鏈接到路由器的WLAN接口,此時如果OpenWIFI的IP段和路由器的不在同一頻段,需要修改OpenWIFI的IP或者路由器的固定IP,根據自己方便修改,本人使用的路由器比價好修改就直接修改了路由器IP,如下圖:
2、啟動OpenWIFI
上圖界面輸入下圖命令:~/openwifi/fosdem-11ag.sh
OpenWIFI已啟動,這時候用手機連接Openwifi的wifi;手機瀏覽器打開192.168.13.1網頁,就能看到作者的主頁,詳細視頻見下圖鏈接。目前的設置還不能上網需要將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
標紅的位置是需要需改的,具體含義也不解釋了(主要涉及到路由表的問題),上圖中用到的幾個IP看下板端IP你就明白了。
根據實際修改后的命令如下:
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
在串口中修改配置。
這時候在用手機連接OpenWIFI的wifi就可以上網了,具體如下:信號接收部分因為沒插天線所以信號較弱。
至此完畢。





