AD936x+ZYNQ搭建OpenWIFI

之前推荐过GitHub上优秀的开源项目《Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目》,OpenWIFI作为通信领域的“翘楚”,自然很多人都会拿来学习,这篇文章就和大家分享一下利用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(用于数字处理)

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(区别详见注意2)的变形体,所有的设计资料都可以直接利用官方的工程。同时,官方也针对一些常用的开发板和开源硬件做了u-boot、kernel和文件系统,使用过程中只需要准备一个SD/FT卡和读卡器即可;

注意2:

板卡

AD936x器件

同时发送/接收

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)

高度集成的模块系统

台积电

ADRV9361-Z7035

1个AD9361

2 x 2

2(2400-2500 MHz)

2(2400-2500 MHz)

高度集成的模块系统

台积电

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)

软件测试和波形开发

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

1、下载SD卡镜像

镜像包含U-boot、kernel和文件系统。

打开下面网址:

https://users.ugent.be/~xjiao/openwifi-1.2.0-leuven-2-32bit.img.xz

下载下来是一个.xz文件

windows系统下需要先解压,解压出来就是我们需要的.img文件。

接下来准备一个8GB以上内存的SD/TF卡,通过读卡器接到电脑上。

准备一个SD卡刻录软件,本人习惯使用Win32DiskImager,打开软件,选择下载下来的img文件,具体设置如下:

第一步:选择下载下来的img文件;

第二步:选择SD/TF卡对应的盘符,一定要仔细核对防止损坏其他卡;

第三步:点击WRITE,向卡内写入文件;

第四步:等待完成。

2、复制文件到对应位置

烧写完毕的卡在windows系统下只能显示boot分区,先看下分区下都有哪些文件:

ADI官方提供的每个板卡的u-boot和设备树分别在对应的文件夹下:

每个文件夹下的文件:

SD卡内部还包括内核+u-boot环境变量

其中uImage(内核)在下图位置文件夹下,也需要拷贝到SD卡的根目录下,拷贝完如上图所示。

文件系统:

文件系统需要在Linux系统内查看(WINDOWS不支持),具体如下:

最后就是在上面介绍的boot分区内将u-boot和设备树拷贝到SD卡根分区内,将和自己匹配的硬件平台内的文件拷贝到SD卡根目录内,

打开下图路径:

把内部的文件拷贝到拷贝到SD卡根目录:

提示替换原来的文件即可,接下来可以根据需求修改环境变量文本(默认不需要),连接平台的串口+上电就可以看到完整的系统打印信息,其中串口设置如下:

目前为止AD936X+ZYNQ利用官方提供的镜像搭建平台的过程已经完成,可以尽情玩耍了。

总结一下:1、下载镜像文件;2、将OpenWIFI文件夹中对应的u-boot、设备树和内核(uImage)拷贝到SD卡根目录下(BOOT)。

OPenwifi应用

硬件:SDR硬件平台

开发平台:Windows

附件:WIFI天线*2

必须:路由器

注意:天线接口要选择和自己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=1
sudo iptables -t nat -A POSTROUTING -o NICY -j MASQUERADE
sudo ip route add 192.168.13.0/24 via 192.168.10.122 dev ethX

标红的位置是需要需改的,具体含义也不解释了(主要涉及到路由表的问题),上图中用到的几个IP看下板端IP你就明白了。

根据实际修改后的命令如下:

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo ip route add 192.168.13.0/24 via 192.168.10.122 dev eth0

在串口中修改配置。

这时候在用手机连接OpenWIFI的wifi就可以上网了,具体如下:

信号接收部分因为没插天线所以信号较弱。

至此完毕。

- END -

NOW现在行动!
推荐阅读
【Vivado那些事】如何查找官网例程及如何使用官网例程【Vivado使用误区与进阶】总结篇【Vivado那些事】Vivado下头文件使用注意事项【Vivado那些事】Vivado中常用的快捷键(一)F4键【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
SystemVerilog数字系统设计_夏宇闻 PDFVerilog 里面,always,assign和always@(*)区别
FPGA上如何求32个输入的最大值和次大值:分治图书推荐|ARM Cortex-M0 全可编程SoC原理及实现
简谈:如何学习FPGARISC-V再进阶!世界首款5纳米RISC-V SOC成功流片!
几款开源SDR平台
Xilinx 推出 Kria 自适应系统模块产品组合,在边缘加速创新和 AI应用
RISC-V指令集架构介绍及国内外厂商介绍
Vitis尝鲜(一)
SDR/无线设计中LNA和PA的基本原理
拆解1968年的美国军用电脑,真的怀疑是“穿越”啊!
一文最全科普FPGA技术知识
首个中文CPU指令规范 龙芯推出LoongArch基础架构手册
你见过1-bit CPU吗?高级FPGA设计技巧!多时钟域和异步信号处理解决方案
【Vivado那些事】Vivado中电路结构的网表描述
ZYNQ中裸机开发和Linux开发有什么区别?
现代计算机的雏形-微型计算机MCS-4
世界上第一个微处理器真的是Intel 4004吗?其实这是个很复杂的故事…
【每周一问】如何控制加载FPGA程序时,Xilinx FPGA的IO管脚输出高低电平
【Vivado那些事】vivado生成.bit文件时报错-ERROR: [Drc 23-20]
AD9361 和Zynq及其参考设计说明1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程谈谈Xilinx FPGA设计的实现过程
Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目
AD936x+ZYNQ搭建收音机(一)
AD936x+ZYNQ搭建收音机(二)含视频演示
点击上方字体即可跳转阅读
  • 3
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
ZYNQ是一种基于 FPGA 和 ARM 处理器的 SoC (System on Chip) 设计。在 ZYNQ SoC 中,UART 是其中一个重要的外设,用于实现串行通信。引用提到了关于 ZYNQ PS 端的 UART 控制器的介绍和描述。 对于开发者来说,实际的工程应用是最重要的。对于 PS 端的 UART,可以进行串口回环通信的使用。关于这方面的资料在网上可以找到很多。引用中提到,这里不进行总结和分享。 除了 UART,ZYNQ SoC 的底板接口资源也非常丰富。引用列举了一些接口,包括2路 CameraLink 双向可输入输出、1路 SFP 光口、2路千兆网口、双通道 PCIe、USB、1路 4K HDMI OUT、Micro SD、LPC FMC、M.2接口、音频输入输出等。这些接口的存在方便了用户进行产品方案评估与技术预研。 另外,ZYNQ SoC 还可以通过一些通信接口将 DSP (Digital Signal Processor) 和 ZYNQ 结合在一起,形成 DSP Zynq 架构。这样的架构实现了需求独特、灵活、功能强大的高速数据采集处理系统。引用提到了一些通信接口,包括 SPI、EMIF16、uPP、SRIO。 总结来说,ZYNQ SoC 中的 UART 是实现串行通信的重要外设,而底板上还有丰富的接口资源可以进行其他功能的扩展和应用。同时,通过一些通信接口,可以将 DSP 和 ZYNQ 结合在一起,形成强大的高速数据采集处理系统。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Ultrascale+ ZYNQ UART(二) 接收不定长数据实例](https://blog.csdn.net/weixin_38288325/article/details/132440185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [基于C6657+ZYNQ7045的DSP+ARM+FPGA主控板设计方案](https://blog.csdn.net/YEYUANGEN/article/details/125670686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenFPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值