主要内容

5 g NR SIB1复苏FR1并使用Xilinx FR2 RFSoC设备

这个例子显示了如何部署一个5 g NR SIB1恢复算法FR1 FR2,仿真软件®使用SoC Blockset®目标Xilinx Zynq®UltraScale +™R金宝appFSoC ZCU111评估板。

金宝app支持的硬件平台

这个例子支持Xilinx 金宝appZynq®UltraScale +™RFSoC ZCU111评估装备+ XM500变压器卡

介绍

这个例子实现了一个SIB1恢复算法作为一个硬件软件(HW / SW)合作设计实现针对Xilinx RFSoC设备。这个例子是一组相关之一。更多信息NR HDL参考应用程序概述(无线HDL工具箱)

这幅图显示了的概念性概述SIB1恢复算法。

设计分区分成硬件和软件实现。

  • 单边带检测、单边带解码、CORESET网格解调,PDCCH解码,LDPC译码需要高速信号处理。这些部分的设计非常适合FPGA实现,针对可编程逻辑(PL) RFSoC设备。模型使用DSP HDL工具箱™和无线HDL工具箱™块实现FPGA信号处理算法。

  • 控制和资源分配的计算,搜索控制器,PDCCH软件,PDSCH软件执行低利率和适合使用手臂®软件实现处理系统(PS)。从5 g代码生成工具箱™用于函数计算PDCCH PDSCH资源分配,和PDSCH信道估计和均衡。

设置

这个例子需要SoC Blockset为金宝appXilinx设备支持包。更多信息的设置和配置工具,明白了设置和配置

顶层模型

顶层模型,soc_nrhdlSIB1Recovery_top,显示了完整的设计。模型参考硬件和软件模型和显示之间的接口PL和PS。该模型使用AXI-Stream和AXI-Lite接口传递数据之间的PS和PL。外部DDR,用于存储波形测试系统,连接到PL。射频数据转换器块设置参数的射频数据转换器硬件和连接到PL。

运行模型在RFSoC硬件时,SIB1接收器需要5 g adc的波形射频数据转换器或测试波形加载外部DDR内存。当顶层模型打开电话socNRSIB1_simulationSetup.m生成一个波形并创建一个变量,ddrInitData的初始值,它用作外部DDR模拟。探索的行为5 g SIB1恢复算法,看到NR HDL SIB1 FR2复苏(无线HDL工具箱)的例子。设计在这个例子来检测5 g SIB1,将其部署到ZCU111发展局,5 g测试波形加载到DDR内存来提供一个有效的接收机算法的输入。

射频数据转换器配置

RFSoC设备有一个射频数据转换器连接到可编程序逻辑。RF射频数据转换器块配置参数数据转换器RFSoC硬件。的射频数据转换器配置ZCU111开发板使用直接射频采样降频转换器射频信号。这个配置导致较低的奈奎斯特的混叠信号区之前,除非这些信号过滤掉adc的输入。出于这个原因,外部模拟滤波是必需的,如果你想使用设计5 g无线信号,或与射频接口环回。指Xilinx产品指南RFSoC数据转换器,产品指南PG269为更多的信息。

adc和dac使用时钟频率为245.76 mhz在FPGA的接口,有两个样品每个时钟。这个配置结果的采样率491.52 MHz。实现采样率为3932.16 MHz ADC和DAC,射频数据转换器会毁坏和篡改的8倍。射频数据转换器使用DAC5 Tile2和ADC3 Tile2,对应连接J7和J2 XM500变压器卡,分别。

FPGA逻辑设计

soc_nrhdlSIB1Recovery_fpga金宝app仿真软件模型包含FPGA设计的一部分。该模型实现了SIB1接收机硬件算法,阿喜接口逻辑和波形回放从外部记忆如图表所示。关于SIB1接收机硬件算法的更多信息,见NR HDL SIB1复苏(无线HDL工具箱)NR HDL SIB1 FR2复苏(无线HDL工具箱)的例子。AXI流接口子系统格式FPGA发送的数据,并接收从嵌入式软件部分的设计。

transmit-repeat子系统soc_nrhdlSIB1Recovery_fpga DUT /传输重复控制输入波形的NR接收机硬件。

外部内存访问子系统读取数据从外部DDR内存使用的输入参数指定内存基址,破裂,最后破裂长度控制阅读过程。配置外部内存访问使用的输入参数AXI-Lite输入端口。当你使外部内存访问子系统,它循环遍历数据存储在DDR,重复存储波形。直接使用使用的DDR波形作为输入SIB1接收机或循环通过射频数据转换器adc和dac。您可以使用回送输入控制波形内循环无线接口子系统。当您设置回送1波形是通过adc和dac循环回来,只要你连接电缆或天线硬件上的方便。

您还可以添加噪音和波形的频率偏移channelAWGNEn,channelNoisePow,channelFrequencyOffset输入端口。这些障碍被添加在通道子系统。子系统通过信号转换速率通过没有修改。

处理器逻辑设计

soc_nrhdlSIB1Recovery_proc金宝app仿真软件模型包含的软件部分的设计。该模型实现了细胞搜索控制算法,PDCCH软件处理,PDSCH软件处理,和阿喜与FPGA通信接口逻辑。

这个模型有一个面具来设置参数特定波形和控制波形回放。点击打开的一个实例模型块的参数对话框窗口。这个对话框窗口的参数设置在基本工作空间使用变量。模型初始化的变量为零。变量是运行时设置为适当的值socNRSIB1_externalModeSetup脚本的设计部署在目标硬件。

的块FPGA的信号部分提供AXI-Lite和AXI-Stream接口软件算法的输入。的块FPGA信号部分提供AXI-Lite和AXI-Stream接口输出的软件算法。信号的分组axiLite到FPGA txRepeat子系统是用来配置FPGA DDR的波形回放。的块UDP发送给主机部分通过UDP发送选定的数据。使用soc_nrhdlSIB1Recovery_hostUDPReceive接收该数据模型。

setupFreqDependantParamsMATLAB功能块初始化频率相关软件处理算法所需的参数。单边带副载波间距、单边带块模式,Lmax,和最小通道带宽依赖于载波频率。集useCentreFrequency输入真正的获得的参数centreFrequency输入端口。集useCentreFrequency错误的使用上定义的参数输入端口。这些参数在模型中是可用的面具。模型初始参数值设置为零,并且更新他们基于使用生成的测试波形socNRSIB1_externalModeSetupMATLAB脚本。

axiStreamDemux子系统分工AXI-Stream FPGA接收的数据。数据流包含PSS报道,单边带网格数据,SIB1网格数据,SIB1位解码过程的不同阶段。的axiStreamDemux子系统将数据路由到相应的子系统。

手机搜索控制器子系统控制初始搜索SSBs接收到的波形。这个子系统指示FPGA搜索SSBs在给定频率偏移和副载波间距。FPGA完成单边带搜索的时候,报告结果返回给软件。的手机搜索控制器处理结果和选择一个单边带进行解码。细胞搜索过程的更多信息,请参阅NR HDL细胞搜索(无线HDL工具箱)

SIB1 SW处理子系统使用SIB1电网恢复了FPGA和发送AXI-Stream接口。这个子系统定位SIB1 SIB1网格中的资源,使用FPGA硬件加速器,解码DCI消息从SIB1 CORESET0和解码消息。子系统格式SIB1电网所需的尺寸和定位CORESET0和PDCCH资源内SIB1 SIB1网格。子系统发送CORESET0 AXI-Stream FPGA资源。硬件加速器执行信道估计和均衡,PDCCH,极地解码。FPGA硬件加速器返回DCI数据解码形式使用AXI-Lite CORESET0软件。子系统使用DCI数据来定位PDSCH资源分配给SIB1消息。的子系统进行信道估计和均衡PDSCH数据和通过DLSCH码字AXI-Stream FPGA硬件。硬件加速器执行速度复苏,LDPC和CRC解码。

当FPGA成功解码SIB1消息时,它将返回SIB1 AXI-Stream接口部分。的sib1ErrorAXI-Lite输入表明CRC是否检测到任何错误。软件返回SIB1位主机通过UDP界面。

模拟

确认你可以模拟顶层设计的基本操作模式,soc_nrhdlSIB1Recovery_top,使用5 g波形存储在DDR内存。的socNRSIB1_simulationSetup.m脚本生成一个5 g所需波形和设置工作空间变量运行仿真软件仿真。金宝app脚本时被调用soc_nrhdlSIB1Recovery_top打开模型。它可以调用在运行模拟变量初始化之前,如果需要的话。由于模型的复杂性和高采样率,仿真可以几个小时。仿真行为的FPGA设计中更详细地探讨NR HDL参考应用程序概述(无线HDL工具箱)

仿真数据检查员可以用来情节的信号模型,探索模拟行为,如图。如果SIB1复苏成功,sib1BitsValid将断言高吗sib1Error图中所示将保持在较低水平。

主机模式

的运行soc_nrhdlSIB1Recovery_hostUDPReceive主机模型在主机电脑接收UDP消息从部署系统时RFSoC设备上运行。

在使用手动开关停止逻辑组块停止模型收到SIB1后位,或继续运行,直到你停止手动模式。模型显示PSS信噪比、瑞士信噪比和解码单元ID。MIB参数和SIB1比特作为工作区提供变量。

部署设计

打开soc_nrhdlSIB1Recovery_top模型和设置硬件板选项系统芯片选项卡的仿真软件将来发金宝app布Xilinx Zynq UltraScale + RFSoC。开放SoC建设者通过选择配置、构建和部署系统芯片仿真软件将来发布的标签金宝app。

  1. 选择构建模型设置屏幕上。点击下一个

  2. 点击查看/编辑内存映射查看内存映射的检查内存映射屏幕上。点击下一个

  3. 指定的项目文件夹选择项目文件夹屏幕上。点击下一个

  4. 选择为外部模式构建和负载选择构建操作屏幕上。点击下一个

  5. 点击验证验证模型屏幕检查兼容性模型实现的。点击下一个

  6. 点击构建构建模型屏幕开始建立模型。外部壳打开当FPGA合成开始。这一步需要花很长时间才能完成。点击下一个

  7. 点击测试连接连接硬件屏幕与SoC测试主机的连接板。点击下一个运行应用程序屏幕上。点击负载董事会的比特流。

加载的文件之后,您可以运行生成的软件模型在外部模式下运行系统在黑板上。如果生成的软件模型不是已经打开,打开soc_nrhdlSIB1Recovery_top_sw,这是在项目文件夹中指定SoC建设者工具。在董事会上运行的软件之前,你必须加载波形DDR内存。运行socNRSIB1_externalModeSetup脚本生成一个波形和DDR把它写在黑板上使用以太网接口。这个脚本还初始化软件中的变量指定参数与波形有关。

执行回送了ADC和DAC接口之间的硬件必须连接电缆J7和J2 XM500变压器卡,以3000 - 4300 MHz带通滤波器串联。您还必须启用回送的面具的软件模型参考soc_nrhdlSIB1Recovery_top_sw通过单击模型sw_inst块和设置使环回1。如果你设置模拟模式在对话框窗口加速器然后使环回运行时配置。这面具上的其他变量设置当您运行socNRSIB1_externalModeSetup

后加载波形的DDR板,您可以运行soc_nrhdlSIB1Recovery_top_sw通过选择模型在外部模式监视和优化系统芯片仿真软件将来发布的标签金宝app。默认情况下,模型运行10秒钟。修改运行时,设置停止时间在仿真软件将来金宝app发布。使用仿真软件数据金宝app检查监控记录信号的软件模型在运行和检查数据一旦模型已经停止。这个图展示了几个记录信号的软件模型成功解码SIB1。硬件开始,SoftwareStart,detectionStatus信号显示初始细胞搜索过程。的detectionStatus信号显示细胞的状态搜索。值8表明成功解调MIB资源网格。的sib1Status信号显示SIB1解码过程的状态。5的值表示没有发现在SIB1 CRC错误。的价值sib1BitsValid表明SIB1从FPGA比特发送软件。的sib1Error信号表明SIB1 CRC没有发现错误。

运行soc_nrhdlSIB1Recovery_hostUDPReceive主机模式部署软件模型运行时接收UDP消息包含SIB1比特,MIB参数和PSS和SSS报告。

实现结果

表显示了完整的PL实现后资源利用率结果设计,针对ZCU111评估板。

资源的使用比例_________________ ______ __________ CLB寄存器208293 24% CLB附近地区148362 RAMB36 76年35% RAMB18 431 20% 7% DSP48 316 7%

另请参阅