我对 SDR/FPGA 游戏比较陌生,因此如果我弄错了术语,我深表歉意。我知道这会有很多相当具体的细节,但我希望有人可能做过类似的事情。我正在尝试使用带有 RFNoC 的 UHD v3.14 在 Ettus USRP E312 上运行简单的 Redhawk 2.2.1 波形。Redhawk 域在 USRP 上运行,我正在从 Centos7 虚拟盒附加 Redhawk IDE。我正在使用的代码是使用 https://github.com/Geontech/redhawk-rfnoc-build构建 的。FPGA 的位文件是按照 Ettus 知识库中的说明使用 Vivado 制作的。波形本身由具有 cpp-rfnoc 实现的单个 psd 组件组成,该组件依赖于 RFNoC_RH 共享库。有一个 RFNOC_Programmable 设备和两个由设备管理器控制的 RFNoC 角色。
我遇到的问题是 Redhawk 无法为波形创建应用程序。我尝试过更改配置、添加更多日志记录以及对 Redhawk 代码进行一些小修改,但由于无法解决组件或软包依赖关系,整个过程通常会失败。我尝试在 USRP 上运行 GPP,但似乎没有考虑它,因为一旦将 psd 组件分配给角色,它似乎就被过滤了。然后它将尝试将软件包依赖项分配给已选择的设备,但没有匹配项。
我有两个问题
- 这个设置工作的最小红鹰模块集是什么(到目前为止,我有一个带有一个 psd 组件的波形,设备管理器运行一个可编程设备和两个角色)
- 模块之间应该是什么关系?
特别是我想知道/了解 psd 组件应该在哪里分配/运行?我需要 GPP 设备吗?Psd 组件通过 RFNoC 接口从 fpga 中的块接收/发送数据,同时通过 redhawk 的 bulkio 与其他组件接口,这让我认为它确实需要一个 GPP 设备才能运行。还是我错过了其他东西?