主要内容

使用DDR4 Xilinx RFSoC设备上接收信号波形

这个例子展示了如何设计、模拟和部署系统读写外部双数据的捕获的射频样本率4 (DDR4)内存模型与SoC Blockset®®实现针对Xilinx®Zynq®UltraScale +™RFSoC ZCU111评估工具。金宝app在这个例子中,您可以编写捕获的样本模拟-数字转换器(ADC)到外部可编程逻辑(PL) DDR4记忆,从PL DDR4内存读取样品,寄给处理器来显示。音信号生成在FPGA使用数控振荡器(NCO)来验证接收路径。

金宝app支持的硬件平台

  • Xilinx Zynq UltraScale + RFSoC ZCU111评价工具和XM500变压器卡

设计任务和系统规范

考虑一个射频应用程序需要访问外部DDR4记忆捕捉射频样品在高数据率。在这个例子中,设计的任务是设计一个控制算法写入和读取的捕获外部的射频样本PL DDR4记忆。验证射频DDR4捕获样本,发送一个正弦信号的语气从FPGA数模转换器(DAC)的射频数据转换器(RFDC)块(DAC是原路返回ADC的输出输入),回到FPGA和接收数据。以下是系统规范。

系统规范

  • ADC和DAC采样率= 2048议员

  • ADC通道的数量= 1

  • DAC通道的数量= 1

  • =真正的数字数据接口

设计采用SoC Blockset

创建一个SoC模型soc_ddr4datacapture_top作为顶级模型并设置硬件板Xilinx Zynq Ultrascale + RFSoC ZCU111评估工具。这个模型包括FPGA模型soc_ddr4datacapture_fpga和处理器模型soc_soc_ddr4datacapture_proc,实例化模型引用。上面的模型还包括AXI4-Stream软件和AXI4随机存取内存块,FPGA之间共享的外部存储器和处理器。

open_system (“soc_ddr4datacapture_top”)

close_system (“soc_ddr4datacapture_top”)

射频数据转换器配置

RFSoC设备有其射频数据转换器连接到可编程序逻辑。配置ADC和DAC设置,使用RFDC块。块Xilinx射频数据转换器提供了一个接口IP无线系统在仿真软件建模一个注定Xilinx RFSoC设备上实现。金宝app

2048年来满足系统的要求议员作为adc和dac的数据速率,你必须选择的值插值模式,大量毁灭模式,样品每个时钟周期参数,有效的时钟周期(采样率)无线算法的FPGA在理想的范围内。上显示的参数值是块流的时钟频率你点击后应用

对于这个示例,DAC选项卡,设置插值模式8,样品每个时钟周期4。在ADC选项卡,设置大量毁灭模式8样品每个时钟周期4。这些值意味着流的时钟频率值为2048 / (8 * 4)= 64 MHz。

硬件逻辑设计

FPGA模型soc_ddr4datacapture_fpga包含两个子系统,DAC语气一代,这是连接到DAC RFDC块的一部分,和ADC捕获,这是连接到ADC部分。

open_system (“soc_ddr4datacapture_fpga”)

close_system (“soc_ddr4datacapture_fpga”)

DAC语气一代子系统,连续四个样品的正弦信号波形生成并行使用四个HDL优化区域块。每个HDL优化NCO块有不同的偏移量。四个样本包括64位的数据和有相同的宽度AXI-Stream数据。

ADC捕获子系统使用触发器和DDR4逻辑来捕获ADC射频样品和写他们DDR4内存逐帧。写操作完成后,子系统读取和发送数据显示捕获的信号处理器。注册,triggerFreq从处理器控制触发器和捕捉逻辑。

处理器逻辑设计

处理器逻辑包含一个基于事件的任务由FPGA的数据的到来在DDR内存。处理器算法任务来标示dataTask在任务管理器块和被指定为事件驱动的。通过异步任务管理器块时间表数据缓冲事件做好准备rdEvent在记忆中,表示一帧的到来从FPGA的数据。该算法本身下建模处理器算法包装处理器模型子系统soc_ddr4datacapture_proc和连接到任务管理器块在顶层。操作上接收到的数据帧的四个样品的包装uint64数据类型,您必须首先解压缩和恢复数据的signedness。的输出处理器算法包装然后连接到子系统的范围和时间范围可视化。在一个单独的初始化函数子系统,FPGA子系统上的各种寄存器初始化默认值。

open_system (“soc_ddr4datacapture_proc”)

close_system (“soc_ddr4datacapture_proc”)

模拟

运行模型和可视化FPGA产生的正弦信号音的频谱分析仪命名范围DAC输出

波形是原路返回从处理器的FPGA RFDC块,ADC捕获在FPGA子系统,捕捉波形DDR4内存块。在处理器的系统中,在频域波形是可视化使用频谱范围块命名ADC捕获的信号。观测数据的光谱范围的大量延迟开始后仿真。这个延迟的延迟是因为第一帧数据的可用性通过DDR4范围,这是由于回送数据路径的长度。

观察到的传输和接收信号显示语气5 MHz。

实现和硬件上运行

硬件设置

连接上的SMA连接器XM500变压器卡完成ADC和DAC之间的回路,根据这些联系。

DAC229_T1_CH2 (J5) ADC224_T0_CH0(阁下)。

实现SoC委员会支持的模型,使用金宝appSoC建设者工具。确保硬件板被设置为Xilinx Zynq UltraScale + RFSoC ZCU111评估工具系统芯片仿真软件将来发布的标签金宝app。

打开SoC建设者,点击配置、构建和部署。后SoC建设者工具打开时,遵循这些步骤。

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

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

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

  4. 检查硬件映射屏幕上,单击下一个

  5. 检查内存映射点击屏幕,查看内存映射查看/编辑。点击下一个

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

  7. 构建模型通过点击屏幕,开始建立模型构建。外部壳打开当FPGA合成开始。点击下一个

  8. 连接硬件屏幕上,与SoC测试主机的连接板通过点击测试连接。去运行应用程序屏幕上,单击下一个

FPGA合成可以超过30分钟才能完成。为了节省时间,您可以使用所提供的pregenerated比特流遵循这些步骤。

  1. 关闭外部shell终止FPGA合成。

  2. pregenerated比特流复制到项目文件夹通过输入这个命令在MATLAB命令提示符。

拷贝文件(fullfile (matlabshared.sup金宝appportpkg.getSupportPackageRoot,“工具箱”,“soc”,“金宝appsupportpackages”,“xilinxsoc”,“xilinxsocexamples”,“比特流”,“soc_ddr4datacapture_top-XilinxZynqUltraScale_RFSoCZCU111EvaluationKit.bit”),”。/ soc_prj ');

点击加载并运行按钮加载pregenerated比特流和SoC董事会运行模型。

有些文件被加载后,打开生成的软件模型。

通过点击运行模型在外部模式监视和优化。你可以控制仿真软件的配置模型。金宝app复制从顶部模型和频谱分析仪连接速度过渡块如这个图所示,并运行模型。你可以观察5 MHz的接收信号波形的频谱分析仪。

总结

这个例子展示了如何设计一个系统来读写射频样本捕获外部DDR4记忆。你模拟设计和部署在Xilinx Zynq UltraScale +使用SoC Blockset ZCU111评估工具。您可以使用该示例应用程序作为设计的参考,需要DDR4数据捕获。