软件定义无线电(SDR)模板为SoC参考设计提供了仿真模型,可从Xilinx的通信工具箱™支持包万博1manbetx®Zynq®的电台.使用该模板模拟全参考设计,分析内部和外部连接对和SDR算法的影响,如内存行为和射频I/O行为。
要开始使用SoC Blockset™模型来设计SDR系统,请遵循以下步骤使用SoC块集模板创建SoC模型.
通信工具箱
Xilinx设备的SoC区万博1manbetx块集支持包
该模板模拟了由AD9361发射机和接收机模块组成的SDR收发机。收发器将射频通道连接到FPGA, FPGA实现接收和发送算法。FPGA算法包括测试源块,它产生一个正弦信号并驱动它到发射机。该FPGA算法还包括Tx算法,实现为简单的直通线,以及Rx算法,实现为增益块。一个配置寄存器srcSel在FPGA中建模,以选择Rx算法的数据源。处理器将srcSel寄存器从FPGA中选择测试源或从收发器中选择射频数据。该寄存器使用注册通道来自FPGA算法的数据通过存储通道块。
使用此模板作为指南,并用自己的功能替换FPGA中的Rx算法和Tx算法以及处理器中的处理器算法。的内存渠道类型参数设置为通过DMA将AXI4流传输到软件
,它模拟了通过共享外部内存进行的直接内存访问(DMA)数据传输。
处理器从内存中读取计算出的数据,并执行额外的计算(在模板中作为直通线实现)。可以通过双击来查看模拟结果向量空间测试台接收器中的块。
在MATLAB中®,在项目的快捷方式选项卡上,单击开放FPGA样本模型.打开FPGA Tx-Rx Alg Wrapper。注意三个用绿色突出显示的区域。这些区域代表用户代码,分别位于接收算法块、发送算法块和测试源块。
FPGA模型包括以下部分供您修改(以绿色突出显示):
测试源块-这个块产生一个10khz的正弦信号,并驱动它到发送算法。根据您的需要修改测试源代码,或者用替代的源代码块替换它。
接收器算法子系统-内部绿色突出显示的子系统命名Rx算法,有一个标记为“算法”的块。该算法以I/Q数据作为输入,输出有效信号。用你自己的Rx算法替换这个块。
变送器算法–在绿色高亮显示的子系统内,名为Tx算法,该算法有一个来自测试源的输入和两个输出信号:一个到射频通道,一个到FPGA。用您自己的Tx算法替换此块。
要启用一致的模拟行为,请在项目的快捷方式选项卡上,单击开放式FPGA帧模型重复这一步。
在MATLAB中,在项目的快捷方式选项卡上,单击打开处理器模型。以蓝色突出显示的子系统表示处理器算法的用户代码。打开处理器算法包装并替换内部代码处理器的算法块(也以蓝色突出显示)与所需的算法。
模板的顶部模型还包括一个寄存器通道,用于在处理器和FPGA模型之间进行通信。使用寄存器通道配置FPGA模型或读取和检查状态寄存器。这个注册通道块包含一个寄存器。要添加额外的寄存器,必须修改寄存器通道块参数、FPGA算法和处理器算法:
将寄存器添加到寄存器通道–双击注册通道块来打开块掩码并根据需要添加其他寄存器。添加寄存器将在注册通道块。有关更多信息,请参见注册通道.
将端口添加到处理器型号–导航到处理器算法包装模型要导航到处理器型号,请单击打开处理器模型在项目的快捷方式选项卡。双击处理器算法包装修改它。
对于写寄存器,为模块添加一个输出端口,并添加逻辑以驱动一个值到添加的输出端口。对于读寄存器,添加一个输入端口和逻辑来处理从读寄存器返回的信息。从顶部模型,连接端口到注册通道块。
添加端口到FPGA型号-导航到FPGA算法包装要导航到基于FPGA/帧的处理模型,请单击开放FPGA样本模型在项目的快捷方式选项卡。双击FPGA算法包装修改它。
对于写寄存器,添加一个输入端口到模块和逻辑来处理从读寄存器返回的信息。对于读寄存器,添加一个输出端口和逻辑,以驱动一个值到添加的输出端口。
使用Simulink时的等效行为万博1manbetx®基于样本的变体,对FPGA包装中基于样本的处理模型重复此步骤。
从顶部模型,将新端口连接到注册通道块。