主要内容

HW / SW合作设计正交相移编码使用模拟设备AD9361 / AD9364传输和接收

这个例子展示了如何实现无线通信算法在Zynq®广播平台,是整个手臂®分区处理系统和FPGA可编程逻辑。QPSK-based通信系统设计的系统。

下面的框图描述系统的硬件软件分区和实现用户逻辑。

设置

使用HW / SW合作设计工作流,您必须安装并配置额外的支持包和第三方工具。万博1manbetx有关更多信息,请参见安装硬件软件合作设计

硬件生成模型

你需要一个硬件生成模型实现任何设计运行在可编程序逻辑(PL)。在这个例子中,HDL-optimized正交相移编码发射机和接收机高密度脂蛋白正交相移编码发射机和接收机例子是用于实现硬件生成模型。生成一个硬件生成模型和HDL代码生成软件界面模型模板使用HDL工作流顾问。使用软件界面模型模板,开发一个界面模型,该模型在处理系统上运行(PS)。

打开模型。

硬件软件分区

一般而言,FPGA的可编程逻辑用于高速信号处理在手臂用于速度较慢、控制功能。用户逻辑FPGA可编程逻辑实现高速率处理模块,一个ASCII转换器,正交相移编码发射机的设计,一个通道,QPSK接收机设计,有点ASCII转换器,模块计算误码率。一些控制参数和监控信号添加到FPGA实时IP核心调整设计并使用AXI-Lite看到FPGA信号的状态寄存器从仿真软件访问®通过处理系统。万博1manbetx手臂从FPGA信号处理系统将状态信息并显示在主机的信息。

实现FPGA IP核心的硬件平台上,使用IP核心代工作流与以下具体要求。

  • HDL_QPSK子系统测试设备(DUT)工作流。DUT子系统接口不支持复杂的数据,所以模型真实和虚构的信号子系统边万博1manbetx界。

  • 使用单独的数据模型的数据输入和输出端口和有效信号。DUT子系统的输入和输出的时钟频率必须相等。

AXI4-lite港口:externalDataActive输入端口交换机信息从内部附近地区(Hello World消息)外部消息(Zynq广播HW / SW共同设计正交相移编码)。的overAir输入端口交换机的数据流空气回路QPSK Tx和QPSK Rx之间通过FPGA内部的一个通道。的插入首席财务官插入CPO输入端口的值集载波频率偏移(首席财务官)和载波相位抵消(CPO)介绍了波形的通道。的rstCS输入端重置QPSK接收机的载波同步器。的bitErrorsbitReceived港口流比特错误的数量和从QPSK接收机接收到的比特数。的numOfFramesSyncedestimatedCoarseCFO港口流的帧同步和估计粗首席财务官。

生成IP核心

模拟硬件子系统的行为是否如预期的那样,你可以开始生成HDL IP核的过程,并将其集成到SDR参考设计和生成软件上运行的手臂。

为了目标,您必须设置Xilinx®工具链通过调用hdlsetuptoolpath。例如:

> > hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,“C: \ Xilinx \ Vivado \ 2019.1 \ bin \ vivado.bat ');

生成HDL IP核心,右键单击HDL_QPSK子系统和选择高密度脂蛋白HDL代码>工作流顾问

  • 扩大1。设定目标并点击1.1。设置目标设备和合成工具。在右窗格中,集目标工作流程IP核心代目标平台ZC706和FMCOMMS2/3/4

  • 点击1.2。设置目标参考设计。在右窗格中,集参考设计*接收和传输路径。对于这个示例,使用默认设置参考设计参数窗格。

  • 点击1.3。设置目标接口。在右窗格中,在目标平台接口表窗格DUT信号映射到可用的接口信号的参考设计。因为这个例子使用一个通道,通道1的连接和阿喜注册接口配置为这些数字所示。

  • 点击1.4。设置目标频率。在右窗格中,集目标频率(MHz)61.44。对于这个示例,使用默认设置目标频率窗格。

  • 点击2。准备HDL代码生成模型。在右窗格中,单击运行所有。HDL代码生成的应用程序准备模型通过执行设计检查。

  • 点击3所示。HDL代码生成。在右窗格中,单击运行所有。IP核的应用程序生成HDL代码。

接下来,继续使用高密度脂蛋白的生成软件界面模型和工作流顾问块库。

生成软件界面模型和块库

扩大4所示。嵌入式系统集成。这一步将新生成的IP核心项目集成到Zynq SDR参考设计,生成相应的比特流,并加载比特流到董事会。

点击4.1。创建项目。在右窗格中,单击运行这个任务。嵌入式系统的应用程序创建了一个项目的工具。

点击4.2。生成软件界面模型。在右窗格中,单击运行这个任务。应用程序生成一个软件界面库和软件界面模型模板。

库包含AXI界面块产生的HDL_QPSK子系统。这个街区仅公开AXI-lite控制端口而不是数据端口。端口出现在发射机和接收机的数据块对应于您的硬件选择1.1。设置目标设备和合成工具。发射机和接收机的数据端口块代表FPGA用户逻辑之间的流数据接口和ARM处理器。

当使用图书馆块在下游模型中,您必须配置参数正确地为您的应用程序。考虑到任何更新HDL_QPSK从图书馆子系统自动传播块在下游模型中当您运行4.2。生成软件界面模型一次。

软件界面模型模板

使用软件界面模型作为一个起点SW Zynq目标:外部模式模拟,processor-in-the-loop或全部部署。运行步骤4.2生成软件界面模型覆盖软件界面模型。所以,建议保存模型与一个唯一的名称和发展您的软件算法。软件界面模型提供了这个示例显示如何构建这个模型。

生成和负载比特流

高密度脂蛋白的最后步骤工作流程顾问产生的比特流PL和下载比特流到板上。

点击4.3。构建FPGA比特流。在右窗格中,单击运行这个任务。PL程序生成一个比特流。您可以执行这个步骤在外部壳通过选择运行构建过程外部。这个选择允许你继续使用MATLAB®在构建FPGA映像。基本项目检查完成后,应用标志着这张支票一个绿色的复选标记。然而,你必须等到外部壳层显示一个成功的比特流构建在继续下一步之前。

点击4.4。项目目标设备。在右窗格中,单击运行这个任务。应用程序下载比特流到设备上。继续这一步之前,调用zynq功能来确保MATLAB具有正确的物理无线电硬件IP地址:

> > devzynq = zynq (“linux”,“192.168.3.2”,“根”,“根”,“/ tmp”);

默认情况下,硬件的物理IP地址收音机192.168.3.2。如果你改变了无线电硬件IP地址在硬件设置过程中,你必须提供地址。

另外,如果你想负载高密度脂蛋白工作流顾问外的比特流,创建一个对象通过使用SDR电台sdrdev对象和使用downloadImage函数。您创建的类型的对象取决于目标平台的设置1.1。设置目标设备和合成工具窗格。

如果所选的广播平台ADI射频SOM,ZC706和FMCOMMS2/3/4,或ZCU102和FMCOMMS2/3/4,创建一个AD936x广播对象。

> > = sdrdev(电台“AD936x”);

如果在步骤1.1中你选择了ZC706和FMCOMMS5无线电设备,创建一个FMCOMMS5广播对象。

> > = sdrdev(电台“FMCOMMS5”);

下载比特流使用广播对象接口选择的无线电设备。

> > downloadImage(广播,“FPGAImage”,“hdl_prj \ vivado_ip_prj \ vivado_prj.runs \ impl_1 \ system_top.bit ')%路径生成的比特流

构建软件接口模型

提供了软件界面模型在这个例子显示如何构建生成的模型。您可以运行该接口模型在监视和优化模式或完整的部署模式。

打开模型。

注意,在软件界面模型,AD936x发射机块样品序列化处理框架。

建立软件模型在ARM处理器上运行

设置应用程序模型遵循的指导方针硬件软件合作设计工作流,部分配置软件界面模型。配置模型运行使用目标板基于Xilinx zynq - 7000 IIO收音机ADI射频SOM, ZedBoard FMCOMMS2/3/4, ZC706 FMCOMMS2/3/4/5。ZCU102 FMCOMMS2/3/4,双击选择硬件板目标块改变配置使用目标板作为Xilinx Zynq UltraScale + MPSoC IIO收音机。目标。确保有效地使用ARM处理器的输入的大小AD936x发射机块设置为近10000多次通过连接外部消息,重复每个字符的16倍。作为消息率基带采样率,百亿资金,每个消息重复字符的16倍维护消息在基带采样率。

运行软件和硬件Zynq董事会

你可以控制中的仿真软件模型的设置万博1manbetx监视和优化模式。切换开关的externalDataActive港口FPGA之间切换采购数据存储附近地区消息和基于arm的外部消息后运行设计。

一旦接收方解码消息,手臂处理系统将结果发送回主机通过以太网链路中使用UDP发送块软件界面模型。UDP发送块使用默认配置IP地址的主机“192.168.3.1”。如果你改变了IP地址在硬件设置过程中,你必须提供地址。提供了一个简单的主机UDP接收模型,它可以用来接收解码数据和诊断查看器中显示结果。

打开模型。

你也可以完全部署设计运行在董事会,与仿真软件。万博1manbetx在仿真软件工具万博1manbetx栏,单击构建、部署和启动。在这种模式下不能调优参数。

结果

下图显示了解码消息和星座当波形传播在空气中。诊断查看器显示解码消息。

星座图

主机UDP模式——内部附近地区信息:

主机UDP模型——外部信息: