我从 github 存储库( https://github.com/RedhawkSDR/USRP_UHD )安装了 Redhawk 的最新版本(v1.9.0)和 USRP_UHD,但我不知道如何构建 USRP 源/接收器。这些组件在某个存储库中是否已经可用?如果没有,有人可以帮我构建这些源/接收器吗?
提前致谢,
胭脂红
我从 github 存储库( https://github.com/RedhawkSDR/USRP_UHD )安装了 Redhawk 的最新版本(v1.9.0)和 USRP_UHD,但我不知道如何构建 USRP 源/接收器。这些组件在某个存储库中是否已经可用?如果没有,有人可以帮我构建这些源/接收器吗?
提前致谢,
胭脂红
正如 John C 所说,为了控制 USRP_UHD 设备,您必须对其中一个调谐器执行分配。在 RedHawk 1.9 中,执行此操作的步骤如下:
在连接部分下方(</connections>
标记后)添加以下内容:
<usesdevicedependencies>
<usesdevice id="DCE:@UUID@" type="usesUSRP">
<propertyref refid="DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d" value="FRONTEND"/>
<propertyref refid="DCE:0f99b2e4-9903-4631-9846-ff349d18ecfb" value="USRP"/>
<structref refid="FRONTEND::tuner_allocation">
<simpleref refid="FRONTEND::tuner_allocation::tuner_type" value="@TUNER_TYPE@"/>
<simpleref refid="FRONTEND::tuner_allocation::allocation_id" value="usrpAllocation"/>
<simpleref refid="FRONTEND::tuner_allocation::center_frequency" value="99100000"/>
<simpleref refid="FRONTEND::tuner_allocation::bandwidth" value="1000000"/>
<simpleref refid="FRONTEND::tuner_allocation::sample_rate" value="1000000"/>
<simpleref refid="FRONTEND::tuner_allocation::group_id" value=""/>
<simpleref refid="FRONTEND::tuner_allocation::rf_flow_id" value=""/>
</structref>
</usesdevice>
</usesdevicedependencies>
在连接部分,(在<connections>
标签之后)添加以下内容:
<connectinterface id="usrpAllocation">
<usesport>
<usesidentifier>dataShort_out</usesidentifier>
<deviceusedbyapplication usesrefid="DCE:@SAME_UUID_AS_ABOVE@"/>
</usesport>
<providesport>
<providesidentifier>@INPUT_PORT_NAME@</providesidentifier>
<componentinstantiationref refid="@NAME_OF_COMPONENT_IN_WAVEFORM@"/>
</providesport>
</connectinterface>
保存波形并安装到 SDRROOT
在第二步中,您实际要做的是指定波形取决于某个设备。依赖项由 usesdevice id 唯一标识。在这里,您应该将 @UUID@ 替换为在终端中运行 uuidgen 命令的输出。接下来,您必须确定波形依赖于哪个设备,这通过 FRONTEND 和 USRP 属性引用来完成。最后,您必须指定分配给设备的参数,以便它为您设置调谐器。如果您想接收数据,请将@TUNER_TYPE@ 替换为 RX_DIGITIZER,如果您想发送数据,请替换为 TX。分配 ID 可以保持原样,除非您打算在设备上进行多个分配。在这种情况下,您必须为每个分配有一个唯一的分配 ID。
在第三步中,您正在做的是将设备连接到波形中的组件。connectinterface id 应该与第二步中的分配 id 匹配,而 deviceusedbyapplication usesrefid 应该与第二步中的 usesdevice id 匹配。@INPUT_PORT_NAME@ 应与组件上的输入端口名称匹配,@NAME_OF_COMPONENT_IN_WAVEFORM@ 应与您要连接的组件的使用名称匹配。
USRP 设备是符合前端接口的设备,因此为了让数据流出 dataShort_out 端口,必须分配调谐器。当您执行此分配时,您将提供一个唯一的分配 ID。如果分配请求返回成功,您可以使用此分配 ID 作为连接 ID 到 dataShort_out 端口。有关前端接口的更多信息,请查看此处的文档