主要内容

使用Xilinx RFSOC设备发送和接收音调 - 第1部分系统设计

此示例显示如何使用SOCBlockSet®设计Xilinx®RFSoC设备的数据路径。您将设计和模拟生成来自FPGA的正弦音调的系统,并通过使用RF数据转换器(RFDC)块来传输跨多个RF通道的音调。然后,系统将通过使用RFDC块将数据收到回FPGA进入FPGA,并通过使用嵌入式处理器一次可视化一个通道的接收色调。

设计任务和系统规范

考虑一个需要在Xilinx RFSoC设备上以每秒千兆采样(GSPS)数据速率访问多个射频通道的无线应用程序。在本例中,设计任务是从FPGA生成一个正弦波音调,配置RFDC块,并根据以下系统规范在ZCU111和ZCU216评估套件上接收数据回FPGA。

ZCU111评估套件的系统规范

  • ADC和DAC采样率= 2048 MSPS

  • ADC通道数= 8

  • DAC通道数= 8

  • 数字数据界面=真实

ZCU216评估套件的系统规范

  • ADC和DAC采样率= 1024 MSPS

  • ADC频道数量= 16

  • DAC通道数= 16

  • 数字数据界面= IQ

上述系统的设计和实施提出以下挑战:

  • 配置RFDC块的多个参数值以满足系统要求是困难的。

  • 在FPGA中设计算法以一次操作多个样本增加了由于高数据速率的设计复杂性。

  • 鉴于FPGA和处理器的异步特性,设计从FPGA到处理器的数据路径以满足给定的系统需求是困难的。

使用SoC模块集进行设计

通过使用SoC Blockset提供的RF数据转换器块和外部内存块对系统进行建模,您将在实施之前模拟设计。模拟设计使您能够在硬件实施之前识别和修复Simulink中的问题。万博1manbetx

这个设计示例包含两个顶级模型。

  • soc_rfsoc_datacapture- ZCU111评估套件上用8个通道捕获真实数据

  • soc_rfsoc_IQ_datacapture_top-使用ZCU216评估套件上的16个通道捕获复杂IQ数据

此示例显示了使用soc_rfsoc_datacapture模型。两种模型的工作流步骤都是通用的。

创建一个SoC模型soc_rfsoc_datacapture作为顶级模型,并设置硬件板选择Xilinx Zynq Ultrascale+RFSoC ZCU111评估套件.该模型包括FPGA模型soc_rfsoc_datacapture_fpga.以及处理器模型soc_rfsoc_datacapture_proc.实例化为模型引用。顶部型号还包括在FPGA和处理器之间共享外部内存的内存通道和内存控制器块。

开放式系统('soc_rfsoc_datacapture'

close_system('soc_rfsoc_datacapture'

射频数据转换器配置

RF数据转换器块为在硬件逻辑中建模的无线算法提供RF数据路径接口。您可以使用此块来模拟和配置ADC和DAC,并将数据从和硬件逻辑连接到硬件逻辑。该块为Xilinx RF数据转换器IP提供了一个接口,用于在Simulink中建模用于在Xilinx RFSoC设备上实现目的地的无线系统。万博1manbetx

为了满足系统对2048msps作为dac和adc的数据速率的要求,必须选择插值模式大量毁灭模式每个时钟周期的样品参数使得无线算法FPGA的有效时钟周期(采样率)处于期望的范围。这是下面计算的,并显示在块上流的时钟频率点击后应用

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

RF数据转换器块在左侧为DAC提供输出端口(dac1、dac2等,直至dac8)和ADC输入端口(adc1、adc2等,直至adc8)。左侧端口信号是连接到FPGA的相应右侧信号的矢量化版本。例如,右侧DAC和ADC信号(dac1Data、dac2Data等高达dac8Data,adc1Data、adc2Data等高达adc8Data)各为64位宽(uint64)左侧信号是相应右侧信号的4x1 int16矢量版本。如果需要,这些端口可用于在无线信道的ADC和DAC之后对数据路径进行建模。例如,将DAC信号连接到ADC信号,以循环发送的信号。

硬件逻辑设计

为了匹配RF数据转换器块的DAC数字接口,硬件逻辑的传输路径必须每128 MHz时钟周期发送四个采样。此图显示RF数据转换器块的八个DAC数据接口之一的数据接口。正弦波音调生成的采样率为512 MSPS(128 x 4)。

类似地,在接收方面,算法必须在每个时钟周期4个样本上运行。该图显示了RF数据转换器块的八个ADC数据接口之一的数据界面。

FPGA模型soc_rfsoc_datacapture_fpga.包含两个子系统,DAC Tone Generation连接到RFDC块的DAC部分,ADC Capture子系统连接到ADC部分。通过使用四个HDL优化NCO块并为每个HDL优化NCO块选择不同的偏移量,并行生成四个连续的正弦波样本。所有四个样本打包在一起作为64位数据作为axis - stream数据宽度。此外,在所有八个通道上传输相同的波形。每个通道都由一个不同的缩放因子(作为处理器的寄存器)进行缩放。

在ADC捕获子系统中,使用处理器设置的寄存器选择八个通道中的一个。来自所选通道的数据在发送到处理器之前将被下采样128。

开放式系统(“soc\u rfsoc\u数据捕获\u fpga”

close_system(“soc\u rfsoc\u数据捕获\u fpga”

处理器逻辑设计

处理器逻辑包含一个基于事件的任务,由来自FPGA的数据通过DDR内存到达驱动。处理器算法任务在任务管理器块中表示为dataTask,并指定为事件驱动。任务管理器块通过缓冲区就绪事件异步调度数据,rdEvent在存储器通道中表示来自FPGA的数据帧的到达。该算法本身是在处理器模型中的处理器算法包子子系统下建模的soc_rfsoc_datacapture_proc.并连接到顶层的任务管理器块。要对接收到的4个样本的数据进行操作(uint64),需要先解包恢复数据的正负号。然后将处理器算法子系统的输出连接到Spectrum和Time范围进行可视化。在一个单独的初始化函数子系统FPGA子系统上的各种寄存器初始化为默认值。

开放式系统(“soc_rfsoc_datacapture_proc”

close_system(“soc_rfsoc_datacapture_proc”

模拟

在频谱分析仪范围上运行模型并可视化从FPGA生成的正弦波音调DAC输出

波形通过RFDC模块、FPGA中的ADC Capture子系统和内存块从FPGA回送到处理器。在处理器系统中,它是在频域使用频谱示波器块显示的ADC捕获的信号.也可使用一个名为ADC捕获的范围输出.在仿真启动后,在这些范围内观察到这些范围的数据。这是因为由于长循环回数据路径,范围由范围的第一数据帧的可用性延迟。

观察到的发送和接收信号都显示为0.5MHz的音调。

修改adcChannelSelect参数5从如下所示的命令窗口捕获第五个通道的数据。再次运行模拟,注意到ADC捕获的信号示波器上的频谱峰值约为91.245 dBm,而通道1的频谱峰值为100 dBm。同样,注意到通道1时域信号的振幅从4000降低到1578。

adcChannelSelect=5;

IQ模型的设计与仿真

在ZCU216评估套件上用16个通道获取复杂的IQ数据,创建一个SoC模型soc_rfsoc_IQ_datacapture_top作为顶级模型,并设置硬件板选择Xilinx Zynq Ultrascale+RFSoC ZCU216评估套件.该模型包括FPGA模型soc_rfsoc_iq_datacapture_fpga.以及处理器模型soc_rfsoc_IQ_datacapture_proc实例化为模型引用。按照Provoius部分中提到的步骤,射频数据转换器配置Haradware逻辑设计Procesor逻辑设计通过执行以下更改。

如果需要满足1024msps的系统需求,请设置插值模式在这一点DAC.选项卡和大量毁灭模式在这一点ADCRFDC块的标签为40.设置每个时钟周期的样品在这一点ADC选项卡和DAC.标签为2.这意味着流的时钟频率to be 1024/(40*2) = 12.8 MHz。设置NCO频率4.7 GHz和NCO相所有16个频道到0。

为了匹配RF Data Converter模块的DAC数字接口,硬件逻辑的发送路径必须在12.8 MHz时钟的周期内发送两个采样。这张图显示了射频数据转换器块的16个DAC IQ数据接口之一的数据接口。复正弦波音生成的采样率为25.6 MSPS (12.8 × 2)。

类似地,在接收端,算法必须在每个时钟周期上处理2个样本。这张图显示了射频数据转换块的16个ADC IQ数据接口之一的数据接口。

在频谱分析仪上运行模型并可视化ADC捕获的正弦音调。

总结

此示例演示了如何设计涉及Xilinx RFSoC设备上的RF数据转换器的数据路径。您设计了一个系统,该系统产生了每个时钟的多个样本的正弦波格,并配置RFDC块以以2048 MSP的较高数字数据速率发送用于真实数据和1024 MSP的用于智商数据。您还将数据路径设计为将传输的样本接收回设备并通过仿真验证波形。要验证硬件上的结果,请参阅使用Xilinx RFSoC设备发送和接收音调-第2部分部署.您可以按照上述设计过程为Xilinx RFSoC设备建模任何其他高数据速率无线算法。