首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

AD9361 官方例程

  • 23-11-03 19:23
  • 3507
  • 7019
blog.csdn.net

AD9371 系列快速入口

AD936x 系列快速入口

SW部分在:
AD9361 官方例程详解(一) 和 AD9361 官方例程详解(二)

MSK通信,物理层:MSK调制,MSK接收

正在进行 OFDM调制(一)…

基于ZYNQ与AD9361的802.11a数据单元PPDU的OFDM发射实现

文章目录

  • 一、ADI官方资料
    • 1.1 介绍
    • 1.2 下载 和 使用
    • 1.3 相关资料
  • 二、HDL 和 sw
    • 2.1 构建HDL
    • 2.2 sw
      • 2.2.1 创建项目
      • 2.2.2 项目配置


一、ADI官方资料

1.1 介绍

HDL参考设计介绍:AD9361 HDL Reference Designs

无操作系统介绍:AD9361 No-OS Software

1.2 下载 和 使用

HDL下载:Download HDL

在Vivado中构建HDL:Building HDL

No-OS下载:Download No-OS

1.3 相关资料

ADI参考设计HDL用户指南

AD9361 无操作系统文档介绍 (包含驱动程序、头文件、项目等):AD9361 Doxygen Documentation,例如下图为文档中项目部分讲解框图,可以帮助我们加快学习
在这里插入图片描述
自定义或修改 AD9361 设备驱动(介绍了No-OS 中主函数的参数含义):AD9361 Device Driver Customization

二、HDL 和 sw

2.1 构建HDL

首先根据HDL发行说明选择Vivado版本,最新的可能bug比较多点,我选用得是hdl_2019_r1,这个版本需要Vivado 2018.3,在Download HDL中选择hdl_2019_r1分支,如下图所示,下载好zip文件
在这里插入图片描述
Windows不支持GNU Make,Windows系统最好使用Cygwin来构建,安装Cygwin时,选择“ make”和“ git”软件包,后续要用。不推介手动TCL构建,因为构建项目前,它所需的库也必须构建,太多了,所需的库构建不全会报错,而且特别费时间。

  • 需要把 Cygwin 的安装路径D:cygwin64in添加到系统变量里,如何添加环境变量可以去查
  • 把vivado的安装路径添加到Cygwin PATH环境变量中,修改~cygwin64homeAdministrator路径下的’.bashrc’文件,最后一行添加如下图所示
    在这里插入图片描述
export PATH=$PATH:/cygdrive/E/xilinx2018/Vivado/2018.3/bin
E/xilinx2018/Vivado/2018.3/bin  是vivado的安装路径
  • 1
  • 2

利用which git ,which make,which vivado 进行测试,如果设置正确,这些命令将返回有效路径。
在这里插入图片描述
在cygwin里将路径切换到解压的HDL路径下面,再执行make命令

cd F:/AD9361/hdl-hdl_2019_r1/projects/fmcomms2/zc706 (注意为/,直接复制的地址为,需要更正)
make
  • 1
  • 2
  • F:AD9361hdl-hdl_2019_r1projectsfmcomms2zc706,是需要构建的hdl的地址

make首先构建所有库,然后构建项目,等10几分钟,如下图所示,构建完成,项目构建成功后,hdf文件应位于“ sdk”文件夹中
在这里插入图片描述
在文件路径中找到xpr文件,在Vivado中打开
在这里插入图片描述

2.2 sw

大部分情况下仅靠HDL无法做任何有用的事情,需要在处理器上运行软件才能进行设计,ADI提供两种方案,Linux和No-OS,我们用No-OS方法。

2.2.1 创建项目

No-OS驱动程序在Download No-OS下载和HDL相匹配的2019_R1分支

在vivado中启动SDK 2018.3,然后创建一个新的应用程序项目:文件→新建→应用程序项目。
在这里插入图片描述
在这里插入图片描述
Project name : 项目名称
use default location : 使用默认地址
OS Platform :单板 还是 Linux
Hardware Platform :使用通过Vivado生成的硬件平台规范文件 system_top.hdf
processor :两个ARM核中的ARM 0
Language :C语言
Board Support Package : 板级支持包 ,新建
next ,选择“空应用程序模板”,然后单击“完成”,如下图所示,
在这里插入图片描述
需要根据自己的需求正确设置 Stack 和 Heap 的大小,如局部变量较多,增大Stack,某些应用程序(例如FMCOMMSx)需要增加HEAP大小才能进行动态内存分配,官方建议使用Microblaze处理器时,确保HEAP大小至少为0x100000。Stack 和 Heap 初始大小都为 0x2000。

2.2.2 项目配置

No-OS 解压后,将~:AD9361 o-OS-2019_R1ad9361 文件夹下的sw文件全部复制到 SDK 中工程中的src 文件中 ~:AD9361hdl-hdl_2019_r1projectsfmcomms2AD9361fmcomms2_zc706.sdkAD9361src

根据所需设备配置,从config.h头文件中取消注释(没正确取消注释,程序不能正确运行)

//#define CONSOLE_COMMANDS 
#define XILINX_PLATFORM
//#define ALTERA_PLATFORM
//#define FMCOMMS5
//#define ADI_RF_SOM
//#define ADI_RF_SOM_CMOS
#define ADC_DMA_EXAMPLE
//#define ADC_DMA_IRQ_EXAMPLE
#define DAC_DMA_EXAMPLE
//#define AXI_ADC_NOT_PRESENT
//#define TDD_SWITCH_STATE_EXAMPLE
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

//#define CONSOLE_COMMANDS :可选,使用一些控制命令来配置或获取AD9361器件当前信息,可以通过连接到开发板的UART来传输命令

#define XILINX_PLATFORM: 我使用的是 xilinx 设备 取消注释

//#define ALTERA_PLATFORM :不取消

//#define FMCOMMS5 : 我的是FMCOMMS3,不取消

//#define ADI_RF_SOM 和 //#define ADI_RF_SOM_CMOS :不取消,取消注释时,xo-disable-use-ext-refclk-enable为1,会使用外部refclk

#define ADC_DMA_EXAMPLE :取消,可以使用adc_capture函数通过DMA获取IQ数据

//#define ADC_DMA_IRQ_EXAMPLE :不取消,先不涉及中断部分

#define DAC_DMA_EXAMPLE: 取消注释,官方例程的正弦波数据写入DDR,通过DMA将数据传给AD9361,不取消时使用DDS产生数据传给AD9361

//#define AXI_ADC_NOT_PRESENT:不取消,取消后不能对AD9361发数据和取数据

//#define TDD_SWITCH_STATE_EXAMPLE:不取消,例程默认是FDD,取消后是AD9361的TDD模式ensm转移例程

sw文件复制到src文件中 ,sdk会自动编译,可能会报错,如下所示
在这里插入图片描述
src文件夹中存在多个文件夹,头文件路径包括文件夹的所有路径:工程右击 →在C/C++ Build Settings → Tool Settings →ARM v7 gcc compiler → Directories 部分,然后添加以下文件夹的路径。
在这里插入图片描述
在这里插入图片描述
无错误后sw项目构建完成,可以将软件部分的程序下载到ARM中运行调试 。

首先可以在SDK中对Zynq的FPGA部分进行编程,通过单击Xilinx → Program FPGA 来对FPGA进行编程。
在这里插入图片描述
对FPGA进行编程之后,再选择Run → Run Configurations…,创建一个新的Run Configuration,在Run Configuration窗口中,选择Xilinx C / C ++ application (System Debugger),双击或者右击New,详细过程可见 zynq zc706 JTAG调试 部分。
在这里插入图片描述
之后Target Setup 配为

Debug Type :Standalone Application Debug
Initialization file :ps7_init.tcl
Run ps7_init :勾选
Run ps7_post_config options :勾选
Program FPGA :可以勾选,对FPGA部分进行编程
在这里插入图片描述

Application部分
定义当前的项目名称和应用程序可执行文件
在这里插入图片描述
完成run configuration后,单击Run按钮来启动

有需要的话可以在 SDK Terminal 使用UART捕获示例程序AD9361的输出(详见 AD9361 官方例程详解(二))
在这里插入图片描述
波特率: 115200bps
数据: 8位
奇偶校验:无
停止位: 1位
流量控制:无

注:本文转载自blog.csdn.net的lwd_up的文章"https://blog.csdn.net/weixin_44630490/article/details/116455137"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top