主要内容

LTE MIB恢复和单元扫描使用模拟设备AD9361/AD9364

本示例展示了如何实现一个LTE主信息块(MIB)恢复系统,该系统通过处理系统(PS)和Xilinx®Zynq®平台的可编程逻辑(PL)进行分区,并使用Analog Devices AD9361/AD9364无线电前端。该示例演示了如何使用HDL Workflow Advisor为PL生成HDL IP核和为PS生成嵌入式代码。该示例演示了如何在无线电平台上运行设计,以及如何重用生成的FPGA位流构建LTE MIB单元扫描器,用于检测本地附近的LTE单元信号。

由于硬件资源有限,这个示例在ZedBoard和FMCOMMS2/3/4上不支持。金宝app

简介

LTE HDL MIB恢复(无线HDL工具箱)基于Simulink®模型,金宝app您可以使用该模型从LTE工具箱™生成的合成数据或从捕获的空中LTE波形中检测MIB信息。

该图显示了LTE HDL MIB Recovery示例的硬件架构图。

本例采用LTE HDL MIB恢复示例中的Sim金宝appulink模型,并部署了针对软件定义无线电(SDR)的MIB接收机的硬件-软件(HW/SW)协同设计实现。该示例演示了如何使用HDL Workflow Advisor为PL生成HDL IP核并为PS生成嵌入式代码。该示例展示了如何在无线电平台上运行MIB接收器设计,以及如何重用生成的FPGA位流构建LTE MIB单元扫描仪,用于检测本地附近的LTE单元信号。

设置

要使用HW/SW协同设计工作流,您必须安装和配置额外的支持包和第三方工具。金宝app有关更多信息,请参见硬件-软件协同设计的安装

硬件生成模型

该Simu金宝applink模型是MIB恢复算法的硬件生成模型。从这个模型,您可以为PL生成HDL代码,并使用HDL Workflow Advisor生成软件接口模型模板。使用模板软件接口模型,您可以生成一个运行在PS上的应用程序。

打开模型

HW /西南分区

LTE_MIB_HDL由于设计对高速率信号处理的要求,大部分MIB恢复算法都是在PL上实现的。ARM处理器从FPGA提取信息,并通过UDP链路将有用的信息发送回主机显示。

LTE_MIB_HDL子系统被作为软件在ARM处理器上实现的功能所包围。这些功能包括:

  • 校正任何粗频偏移

  • HDL IP的启动和复位控制

  • 将解码后的MIB信息发送给主机显示。

  • 控制使用哪种输入数据:存储在FPGA上的即时性或预先生成的测试数据。

为了模拟软件在硬件上的执行,子系统的输出数据被下采样1000。

LTE_MIB_HDL子系统

LTE_MIB_HDL子系统采用LTE单元搜索和MIB恢复模型LTE HDL MIB恢复(无线HDL工具箱)示例,并添加了额外的功能,以集成模型与Zynq硬件架构。

这张图显示了HDL LTE MIB恢复子系统LTE HDL MIB恢复(无线HDL工具箱)的例子。有关该子系统的更多详细信息,请参阅示例的HDL优化LTE MIB恢复部分。

StimulusSelector通过在空波形和测试数据之间切换,选择MIB恢复算法的输入数据。测试数据使用LTE工具箱预生成,并存储在FPGA上的查找表中。

PrepInputs子系统调整接收数据的速率和格式。从AD9361/AD9364射频芯片的ADC接收到的数据是12位的值,符号扩展到16位。要使用全范围的StimulusSelector子系统将数据样本扩展到16位。为了充分利用硬件资源共享的优势,简化接收机的结构StimulusSelector子系统还对数据速率进行配置。输入数据速率为61.44 MHz,而需要的最大数据速率为30.72 MHz。这一差异转化为超频因子$ n = 2$.因此,StimulusSelector子系统对数据进行2倍的采样。一个冷杉大量毁灭块实现了低通抽取滤波器,捕获接收到的LTE波形的中心部分,并将数据采样到30.72 MHz。

模拟硬件生成模型

为了确认其操作,您可以使用存储在zynqRadioLTETransmitData.mat文件。的zynqRadioHWSWLTEMIBDetectorInit初始化脚本配置模型中使用的波形。由于该模型包含大量的hdl优化块,需要使用基于样本的信号进行模拟,因此模拟可能需要一段时间。一旦MIB被解码,示例将显示解码后的信息。

的值来使用从查找表(LUT)传输的内部测试数据externalDataSel阻塞到false。在这种情况下,模型在内部驱动启动信号,每隔4s重置MIB恢复。

的值,以选择存储在测试向量中的预捕获的空中数据externalDataSelBlock为true。

一旦您对硬件子系统的模拟行为感到满意,您就可以开始生成HDL IP Core的过程,将其与SDR参考设计集成,并为ARM处理器生成软件。

生成IP核

方法来设置Xilinx工具链,为目标定位做准备hdlsetuptoolpath函数。例如:

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

控件启动目标工作流LTE_MIB_HDL子系统与选择HDL代码> HDL工作流顾问

  • 在步骤1.1中,选择IP核生成工作流和适当的Zynq电台平台:Adi rf somZC706和FMCOMMS2/3/4ZCU102和FMCOMMS2/3/4,或ZC706和FMCOMMS5.由于硬件资源有限,本例不支持ZedBoard和FMCOMMS2/3/4。金宝app

  • 在步骤1.2中,选择接收路径参考设计。对于本例,您可以使用默认的参考设计参数。

  • 在步骤1.3中,接口表将DUT信号映射到参考设计中可用的接口信号。因为本例使用单个通道,所以配置通道1连接和AXI注册接口,如图所示。

  • 在步骤1.4中设置DUT合成频率。DUT合成频率取决于系统的基带采样率。对于本例,您可以使用默认的采样率值61.44 MHz。

  • 步骤2通过执行设计检查为HDL代码生成准备模型。

  • 步骤3生成IP核的HDL代码。

生成软件接口模型和块库

HDL Workflow Advisor的步骤4将新生成的IP核集成到Zynq SDR参考设计中,生成相应的比特流,并将比特流加载到板上。

步骤4.2生成软件接口库和软件接口模型模板。

软件接口库

该库包含由LTE_MIB_HDL子系统生成的AXI Interface块和AD936x Receiver块。接收块的数据端口代表FPGA用户逻辑与ARM处理器之间的流数据接口。由于硬件生成模型不包含任何SDR接收器块,因此AD936x接收器块参数使用默认值设置。

在模型中使用库块时,必须为应用程序正确配置参数。请注意,当您再次运行步骤4.2时,对LTE_MIB_HDL子系统的任何更新都会自动传播到模型中的库块中。

模板软件接口模型

您可以使用生成的模板软件接口模型作为一个完整的SW目标的起点,例如,外部模式模拟、处理器在环和完全部署。因为每次运行步骤4.2时,生成的模型都会被覆盖,所以建议将该模型保存在唯一的名称下,并在那里开发软件算法。

生成和加载比特流

HDL Workflow Advisor的最后一步为PL生成一个比特流,并将比特流下载到电路板上。

  • 步骤4.3为PL生成一个比特流。您可以在外部shell中通过选择执行该步骤在外部运行构建过程.此选择允许您在构建FPGA映像时继续使用MATLAB。一旦完成了一些基本的项目检查,步骤4.3将被标记为绿色复选标记。但是,必须等到外部shell显示成功的位流构建后才能继续下一步。

  • 步骤4.4下载比特流到设备上。在继续此步骤之前,通过调用函数,确保MATLAB已设置为无线电硬件的正确物理IP地址zynq函数。

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

默认情况下,无线硬件的物理IP地址为192.168.3.2。如果在硬件设置过程中更改了无线电硬件IP地址,则必须提供该地址。

或者,如果你想在外面加载比特流工作流的顾问,创建SDR无线电对象并使用downloadImage函数。要创建的无线电对象取决于步骤1.1中选择的无线电平台。

  • 如果所选的无线电平台是其中之一阿迪rf somzZC706和FMCOMMS2/3/4,或ZCU102和FMCOMMS2/3/4,创建AD936x无线电对象。

>> radio = sdrdev(“AD936x”);
  • 如果选择的无线电平台为ZC706和FMCOMMS5,创建一个FMCOMMS5无线电对象。

>> radio = sdrdev(“FMCOMMS5”);

使用与所选无线电设备接口的无线电对象下载比特流。

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

LTE MIB恢复软件接口模型

LTE MIB恢复模型是根据生成的模板软件接口模型开发的。该模型尝试在指定的中心频率上检测细胞并解码mib。的复位和粗频率搜索控制器块校正频率偏移高达22.5 kHz通过步进的潜在偏移。当找到一个最优步时,搜索就会停止,这将导致MIB解码具有最小的校正精细频率偏移。的重新启动控制器block在MIB检测或检测超时时重置HDL IP中的单元格搜索和MIB解码。的重新启动控制器Block还与粗频搜索控制器并在MIB解码前校准中心频率。当使用内部测试数据运行时,使用一个更简单的状态机,因为没有频率偏移。

打开模型

的模型已配置Xilinx Zynq-7000基板目标。对象可以使用此目标Adi rf somZC706和FMCOMMS2/3/4,或ZCU102和FMCOMMS2/3/4广播平台。为ZCU102和FMCOMMS2/3/4无线电平台,您必须通过选择重新配置模型Zynq UltraScale+ MPSoC ZCU102 IIO无线电型号设置(Ctrl+E) >硬件实现>硬件板.也可以通过双击“选定的硬件板目标”块来实现这一点。

在Zynq板上运行设计

可以运行LTE MIB Recovery软件接口模型监视和调优模式。在此模式下,您可以从Simulink模型控制配置。金宝app或者,单击,将设计部署到与Simulink断开连接的板上金宝app构建、部署和启动

设置LTE MIB检测源。

  • 要使用存储在FPGA上的波形,请将输入设置为externalDataSelBlock到0。

  • 要检测实时的空中信号,将输入设置为externalDataSelBlock to 1。此选项要求您所在地区的LTE基站的传输中心频率。本例的默认中心频率是806 MHz。

软件算法配置为在超时时重置接收器,默认值为1000,对应于1秒。硬件启动信号被配置为每4秒重置一次接收。

主机接口模型

ARM将解码后的MIB信息通过以太网链路通过UDP发送块直接发送回主机。UDP发送块的IP地址必须是主机的IP地址,默认为192.168.3.1。如果在硬件设置过程中更改了IP地址,则应该提供该地址。

该接口模型运行在主机上,接收Zynq Radio发送的UDP数据,解包数据,并使用作用域块实时显示数据。下面的UDP接收模型说明了如何接收解码后的数据,并显示结果。

打开模型。

当成功运行时,该示例在FPGA上显示从测试波形接收到的数据。

LTE MIB Cell Scanner软件接口模型

使用硬件生成模型,还可以实现LTE MIB单元扫描器。为了跨中心频率扫描并搜索本地附近的LTE基站,您可以重用为MIB检测器示例生成的FPGA比特流。您只需要修改LTE MIB Recovery软件接口模型,随时间更新中心频率,并检查有效的MIB信号,如LTE MIB Cell Scanner模型所示。您也可以运行这个模型监视和调优模式或可以完全部署在板上的模型。

打开模型

AXI Interface块用于读写MIB检测器IP核上的寄存器。ARM-FPGA接口块用于配置射频参数。您可以从软件算法实时调整中心频率。选择扫描的频带,可以在LTE单元扫描仪和粗频搜索控制器块。

LTE单元扫描仪和粗频搜索控制器块使用MATLAB状态机。状态机对中心频率进行编程,给RF卡时间来确定,并等待有效的MIB信号。的numMIBRetriesport决定了每个中心频率上MIB的检测次数。

连接并发送到主机block通过UDP协议将MIB信息和相关数据包发送给主机。为了使主机显示模型能够定期更新其状态,块还定期向主机发送当前中心频率。

如果需要查看解码后的MIB信息,请打开LTE MIB Logger主机模型。该模型显示MIB信息和当前扫描的中心频率。

总结

本例展示了如何使用相同的硬件生成模型实现LTE MIB检测器和LTE单元扫描器,并将其部署为HW/SW协同设计实现。生成的HDL IP核适合这两种实现。生成的软件接口模型作为一个模板,可以单独适应每个算法的控制特定方面的开发。