之前推薦過GitHub上優(yōu)秀的開源項目《Github 上有哪些優(yōu)秀的 VHDL/Verilog/FPGA 項目》,OpenWIFI作為通信領(lǐng)域的“翹楚”,自然很多人都會拿來學習,這篇文章就和大家分享一下利用ZYNQ(需ZYNQ010以上芯片)+AD936X搭建一個低成本的OpenWIFI。
介紹
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(用于數(shù)字處理) 2、7020的介紹:https://china.xilinx.com/support/documentation/boards_and_kits/zc702_zvik/ug850-zc702-eval-bd.pdf 3、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-3800MHz) | 1(325-3800MHz) | 主動學習模塊 | 臺積電 |
ADRV9364-Z7020 | 1個AD9364 | 1 x 1 | 1(2400-2500MHz) | 1(2400-2500MHz) | 高度集成的模塊系統(tǒng) | 臺積電 |
ADRV9361-Z7035 | 1個AD9361 | 2 x 2 | 2(2400-2500MHz) | 2(2400-2500MHz) | 高度集成的模塊系統(tǒng) | 臺積電 |
AD-FMCOMMS2-EBZ | 1個AD9361 | 2 x 2 | 2(2400-2500MHz) | 2(2400-2500MHz) | 窄范圍內(nèi)的最佳射頻性能 | FMC-LPC |
AD-FMCOMMS3-EBZ | 1個AD9361 | 2 x 2 | 2(70-6000MHz) | 2(70-6000MHz) | 軟件測試和波形開發(fā) | FMC-LPC |
AD-FMCOMMS4-EBZ | 1個AD9364 | 1 x 1 |
1(2400-2500MHz) 1(70-6000MHz) |
1(2400-2500MHz) 1(70-6000MHz) |
FMC-LPC | |
AD-FMCOMMS5-EBZ | 2個AD9361 | 4 x 4 |
4(2400-2500MHz) 4(70-6000MHz) |
4(2400-2500MHz) 4(70-6000MHz) |
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 |
1、下載SD卡鏡像 鏡像包含U-boot、kernel和文件系統(tǒng)。 打開下面網(wǎng)址:
https://users.ugent.be/~xjiao/openwifi-1.2.0-leuven-2-32bit.img.xz 下載下來是一個.xz文件 windows系統(tǒng)下需要先解壓,解壓出來就是我們需要的.img文件。 接下來準備一個8GB以上內(nèi)存的SD/TF卡,通過讀卡器接到電腦上。 準備一個SD卡刻錄軟件,本人習慣使用Win32DiskImager,打開軟件,選擇下載下來的img文件,具體設置如下:
第一步:選擇下載下來的img文件; 第二步:選擇SD/TF卡對應的盤符,一定要仔細核對防止損壞其他卡; 第三步:點擊WRITE,向卡內(nèi)寫入文件; 第四步:等待完成。 2、復制文件到對應位置 燒寫完畢的卡在windows系統(tǒng)下只能顯示boot分區(qū),先看下分區(qū)下都有哪些文件: ADI官方提供的每個板卡的u-boot和設備樹分別在對應的文件夾下:
每個文件夾下的文件:
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和設備樹拷貝到SD卡根分區(qū)內(nèi),將和自己匹配的硬件平臺內(nèi)的文件拷貝到SD卡根目錄內(nèi), 打開下圖路徑:
把內(nèi)部的文件拷貝到拷貝到SD卡根目錄:
提示替換原來的文件即可,接下來可以根據(jù)需求修改環(huán)境變量文本(默認不需要),連接平臺的串口+上電就可以看到完整的系統(tǒng)打印信息,其中串口設置如下:
目前為止AD936X+ZYNQ利用官方提供的鏡像搭建平臺的過程已經(jīng)完成,可以盡情玩耍了。 總結(jié)一下:1、下載鏡像文件;2、將OpenWIFI文件夾中對應的u-boot、設備樹和內(nèi)核(uImage)拷貝到SD卡根目錄下(BOOT)。
OPenwifi應用
硬件:SDR硬件平臺 開發(fā)平臺:Windows 附件:WIFI天線*2 必須:路由器
注意:天線接口要選擇和自己SDR平臺對應的座子接口,目前常見的都是SMA接口。其他接口自行想辦法將天線接到SDR的RX和TX接口。1、路由器設置OpenWIFI啟動后有一個固定的IP,需要把平臺鏈接到路由器的WLAN接口,此時如果OpenWIFI的IP段和路由器的不在同一頻段,需要修改OpenWIFI的IP或者路由器的固定IP,根據(jù)自己方便修改,本人使用的路由器比價好修改就直接修改了路由器IP,如下圖:
2、啟動OpenWIFI
上圖界面輸入下圖命令: ~/openwifi/fosdem-11ag.sh
OpenWIFI已啟動,這時候用手機連接Openwifi的wifi; 手機瀏覽器打開192.168.13.1網(wǎng)頁,就能看到作者的主頁,詳細視頻見下圖鏈接。
目前的設置還不能上網(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
標紅的位置是需要需改的,具體含義也不解釋了(主要涉及到路由表的問題),上圖中用到的幾個IP看下板端IP你就明白了。
根據(jù)實際修改后的命令如下:
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就可以上網(wǎng)了,具體如下:
信號接收部分因為沒插天線所以信號較弱。 至此完畢。
責任編輯:lq6
-
Zynq
+關(guān)注
關(guān)注
10文章
609瀏覽量
47174 -
AD936X
+關(guān)注
關(guān)注
0文章
4瀏覽量
3960
原文標題:AD936x+ZYNQ搭建OpenWIFI
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論