介绍
利用SDR做一个收音机是所有入门SDR会做的小项目,简单直观易用的特点和Hello World像流水灯一样。本文将引导您使用它。AD936X ZYNQ平台SDR做个SDR。
首先介绍硬件:
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-3800MHz) |
1(325-3800MHz) |
主动学习模块 |
台积电 |
ADRV9364-Z7020 |
1个AD9364 |
1 x 1 |
1(2400-2500MHz) |
1(2400-2500MHz) |
模块系统高度集成 |
台积电 |
ADRV9361-Z7035 |
1个AD9361 |
2 x 2 |
2(2400-2500MHz) |
2(2400-2500MHz) |
模块系统高度集成 |
台积电 |
AD-FMCOMMS2-EBZ |
1个AD9361 |
2 x 2 |
2(2400-2500MHz) |
2(2400-2500MHz) |
窄范围内最佳射频性能 |
FMC-LPC |
AD-FMCOMMS3-EBZ |
1个AD9361 |
2 x 2 |
2(70-6000MHz) |
2(70-6000MHz) |
软件测试和波形开发 |
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个AD936 |
4 x 4 |
4(2400-2500 MHz)4(70-6000 MHz) |
4(2400-2500 MHz)4(70-6000 MHz) |
MIMO测试平台,可以在RF域中同步 |
2个FMC-LPC |
官方列表中板卡应用
官方的支持板卡如下所示:
Directory on the SD image |
|
1 |
socfpga_arria10_socdk_ad9172_fmc |
2 |
socfpga_arria10_socdk_adrv9009 |
3 |
socfpga_arria10_socdk_adrv9371 |
4 |
socfpga_arria10_socdk_daq2 |
5 |
socfpga_arria10_socdk_fmclidar1 |
6 |
socfpga_cyclone5_sockit_arradio |
7 |
zynq-adrv9361-z7035-bob |
8 |
zynq-adrv9361-z7035-bob-cmos |
9 |
zynq-adrv9361-z7035-fmc |
10 |
zynq-adrv9361-z7035-packrf |
11 |
zynq-adrv9364-z7020-bob |
12 |
zynq-adrv9364-z7020-bob-cmos |
13 |
zynq-adrv9364-z7020-packrf |
14 |
zynqmp-adrv9009-zu11eg-revb-adrv2crr-fmc-revb |
15 |
zynqmp-zcu102-rev10-ad9172-fmc-ebz-mode4 |
16 |
zynqmp-zcu102-rev10-ad9361-fmcomms2-3 |
17 |
zynqmp-zcu102-rev10-ad9361-fmcomms5 |
18 |
zynqmp-zcu102-rev10-ad9364-fmcomms4 |
19 |
zynqmp-zcu102-rev10-adrv9002 |
20 |
zynqmp-zcu102-rev10-adrv9008-1 |
21 |
zynqmp-zcu102-rev10-adrv9008-2 |
22 |
zynqmp-zcu102-rev10-adrv9009 |
23 |
zynqmp-zcu102-rev10-adrv9371 |
24 |
zynqmp-zcu102-rev10-adrv9375 |
25 |
zynqmp-zcu102-rev10-fmcdaq2 |
26 |
zynqmp-zcu102-rev10-fmcdaq3 |
27 |
zynqmp-zcu102-rev10-fmclidar1 |
28 |
zynq-zc702-adv7511 |
29 |
zynq-zc702-adv7511-ad9361-fmcomms2-3 |
30 |
zynq-zc702-adv7511-ad9361-fmcomms5 |
31 |
zynq-zc702-adv7511-ad9364-fmcomms4 |
32 |
zynq-zc706-adv7511 |
33 |
zynq-zc706-adv7511-ad6676-fmc |
34 |
zynq-zc706-adv7511-ad9172-fmc-ebz |
35 |
zynq-zc706-adv7511-ad9265-fmc-125ebz |
36 |
zynq-zc706-adv7511-ad9361-fmcomms2-3 |
37 |
zynq-zc706-adv7511-ad9361-fmcomms5 |
38 |
zynq-zc706-adv7511-ad9361-fmcomms5-ext-lo-adf5355 |
39 |
zynq-zc706-adv7511-ad9364-fmcomms4 |
40 |
zynq-zc706-adv7511-ad9434-fmc-500ebz |
41 |
zynq-zc706-adv7511-ad9625-fmcadc2 |
42 |
zynq-zc706-adv7511-ad9625-fmcadc3 |
43 |
zynq-zc706-adv7511-ad9739a-fmc |
44 |
zynq-zc706-adv7511-adrv9008-1 |
45 |
zynq-zc706-adv7511-adrv9008-2 |
46 |
zynq-zc706-adv7511-adrv9009 |
47 |
zynq-zc706-adv7511-adrv9371 |
48 |
zynq-zc706-adv7511-adrv9375 |
49 |
zynq-zc706-adv7511-fmcdaq2 |
50 |
zynq-zc706-adv7511-fmcdaq3-revC |
51 |
zynq-zc706-adv7511-fmcjesdadc1 |
52 |
zynq-zc706-adv7511-fmclidar1 |
53 |
zynq-zc706-adv7511-fmcomms11 |
54 |
zynq-zed-adv7511 |
55 |
zynq-zed-adv7511-ad9361-fmcomms2-3 |
56 |
zynq-zed-adv7511-ad9364-fmcomms4 |
57 |
zynq-zed-adv7511-ad9467-fmc-250ebz |
58 |
zynq-zed-adv7511-cn0363 |
59 |
zynq-zed-imageon |
上边每一个平台的介绍就不一一展开了,可以通过下面的网站自行查看(https://wiki.analog.com/resources/tools-software/linux-software/zynq_images#preparing_the_image)支持大约60种不同使用组合,基本可以覆盖市场上80%的应用场景。接下来针对我们的应用硬件进行设置。
1、下载SD卡镜像
镜像包含U-boot、kernel和文件系统。
打开下面网址:
https://wiki.analog.com/resources/tools-software/linux-software/zynq_images#preparing_the_image
找到下面截图位置:
不同版本的镜像文件,选择最新的即可,下载下来是一个.xz文件,windows系统下需要先解压,解压出来就是我们需要的.img文件。
接下来准备一个16GB以上内存的SD/TF卡,通过读卡器接到电脑上。
准备一个SD卡刻录软件,本人习惯使用Win32DiskImager,打开软件,选择下载下来的img文件,具体设置如下:
第一步:选择下载下来的img文件;
第二步(可选):勾选MD5 Hash,会生成第一步选择的文件的MD5 Hash值,和官网的值进行对比,防止下载下来的文件被损坏,浪费时间去验证;
第三步:选择SD/TF卡对应的盘符,一定要仔细核对防止损坏其他卡;
第四步:点击WRITE,向卡内写入文件;
第五步:等待完成。
2、复制文件到对应位置
烧写完毕的卡在windows系统下只能显示boot分区,先看下分区下都有哪些文件:
每个办卡的u-boot和设备树分别在对应的文件夹下:
每个文件夹下的文件:
SD卡内部还包括内核+u-boot环境变量
其中uImage(内核)在《zynq-common》文件夹下,也需要拷贝到SD卡的根目录下,拷贝完如上图所示。
文件系统:
文件系统需要在Linux系统内查看(WINDOWS不支持),具体如下:
最后就是在上面介绍的boot分区内将u-boot和设备树拷贝到SD卡根分区内,将和自己匹配的硬件平台内的文件拷贝到SD卡根目录内,本人使用的是《zynq-adrv9364-z7020-bob-cmos》所以把内部的下图所示的三个文件:
拷贝到SD卡根目录:
提示替换原来的文件即可,接下来可以根据需求修改环境变量文本(默认不需要),连接平台的串口+上电就可以看到完整的系统打印信息,其中串口设置如下:
目前为止AD936X+ZYNQ利用官方提供的镜像搭建平台的过程已经完成,可以尽情玩耍了。
- END -
NOW现在行动!
推荐阅读
【Vivado那些事】如何查找官网例程及如何使用官网例程【Vivado使用误区与进阶】总结篇【Vivado那些事】Vivado下头文件使用注意事项【Vivado那些事】Vivado中常用的快捷键(一)F4键【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
HDL Designer Series(HDS)介绍
SystemVerilog数字系统设计_夏宇闻 PDF
Verilog 里面,always,assign和always@(*)区别
FPGA上如何求32个输入的最大值和次大值:分治新年愿望是什么?先送大家一波开发软件谈谈FPGA(入门)学习的两种方零基础入门FPGA,如何学习?【Vivado那些事】FPGA配置失败,无法启动怎么办
你会在github上找项目吗?
图书推荐|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
【每周一问】如何控制加载FPGA程序时,Xilinx FPGA的IO管脚输出高低电平
【Vivado那些事】vivado生成.bit文件时报错-ERROR: [Drc 23-20]
AD9361 和Zynq及其参考设计说明1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程谈谈Xilinx FPGA设计的实现过程
点击上方字体即可跳转阅读