【问题标题】:UHD USRP device lacks capacityUHD USRP 设备容量不足
【发布时间】:2014-09-05 15:46:53
【问题描述】:

我在 CentOS 6.5 机器上使用 Redhawk 1.10.0 64 位和带有 UHD 驱动程序 3.7.2 的 USRP b100。 USRP b100 被系统正确识别。它是一个 USB 设备。 我下载了最新版本的 UHD_USRP Device ver。 REDHAWK 3.0 和我创建了一个包含 GPP 和 UHD_USRP 设备的节点。 节点启动时没有任何问题,但是当我运行一个简单的波形从 USRP 作为 RX_DIGITIZER 读取数据时,出现以下错误:

Failed to create application: usrp_test_248_173059195 Failed to satisfy 'usesdevice' 
dependencies DCE:18964b3d-392e-4b98-a90d-0569b5d46ffefor application 'usrp_test_248_173059195'
IDL:CF/ApplicationFactory/CreateApplicationError:1.0

设备管理器的日志报告:

2014-09-05 17:31:03 TRACE FrontendTunerDevice:369 - CORBA::Boolean frontend::FrontendTunerDevice<TunerStatusStructType>::allocateCapacity(const CF::Properties&) [with TunerStatusStructType = frontend_tuner_status_struct_struct]
2014-09-05 17:31:03 INFO FrontendTunerDevice:502 - allocateCapacity: NO AVAILABLE TUNER. Make sure that the device has an initialized frontend_tuner_status
2014-09-05 17:31:03 TRACE FrontendTunerDevice:578 - void frontend::FrontendTunerDevice<TunerStatusStructType>::deallocateCapacity(const CF::Properties&) [with TunerStatusStructType = frontend_tuner_status_struct_struct]
2014-09-05 17:31:03 DEBUG FrontendTunerDevice:603 - ALLOCATION_ID NOT FOUND: [usrpAllocation]
2014-09-05 17:31:03 DEBUG FrontendTunerDevice:637 - ERROR WHEN DEALLOCATING. SKIPPING...

节点控制台:

2014-09-05 17:31:39 TRACE ApplicationFactory_impl:2132 - Done building Component Info From SPD File
2014-09-05 17:31:39 TRACE ApplicationFactory_impl:1040 - Application has 1 usesdevice dependencies
2014-09-05 17:31:39 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::allocation_id
2014-09-05 17:31:39 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::bandwidth
2014-09-05 17:31:39 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::center_frequency
2014-09-05 17:31:39 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::group_id
2014-09-05 17:31:39 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::rf_flow_id
2014-09-05 17:31:39 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::sample_rate
2014-09-05 17:31:39 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::tuner_type
2014-09-05 17:31:39 TRACE AllocationManager_impl:134 - Servicing 1 allocation request(s)
2014-09-05 17:31:39 TRACE AllocationManager_impl:144 - Allocation request DCE:18964b3d-392e-4b98-a90d-0569b5d46ffe contains 3 properties
2014-09-05 17:31:39 TRACE AllocationManager_impl:243 - Allocating against device uhd_node:USRP_UHD_1
2014-09-05 17:31:39 TRACE AllocationManager_impl:353 - Matching DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d 'FRONTEND::TUNER' eq 'FRONTEND::TUNER'
2014-09-05 17:31:39 TRACE AllocationManager_impl:353 - Matching DCE:0f99b2e4-9903-4631-9846-ff349d18ecfb 'USRP' eq 'USRP'
2014-09-05 17:31:39 TRACE AllocationManager_impl:395 - Adding external property FRONTEND::tuner_allocation
2014-09-05 17:31:39 TRACE AllocationManager_impl:407 - Matched 2 properties
2014-09-05 17:31:39 TRACE AllocationManager_impl:264 - Allocating 1 properties (1 calls)
2014-09-05 17:31:39 TRACE AllocationManager_impl:267 - Device lacks sufficient capacity
2014-09-05 17:31:39 TRACE AllocationManager_impl:243 - Allocating against device uhd_node:GPP_1
2014-09-05 17:31:39 TRACE AllocationManager_impl:353 - Matching DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d 'GPP' eq 'FRONTEND::TUNER'
2014-09-05 17:31:39 TRACE AllocationManager_impl:248 - Matching failed
2014-09-05 17:31:39 DEBUG ApplicationFactory_impl:1060 - Failed to satisfy 'usesdevice' dependencies DCE:18964b3d-392e-4b98-a90d-0569b5d46ffefor application 'usrp_test_248_173059195'
2014-09-05 17:31:39 TRACE ApplicationFactory_impl:528 - Unbinding the naming context
2014-09-05 17:31:39 TRACE Properties:85 - Destruction for properties
2014-09-05 17:31:39 TRACE PRF:312 - Deleting PRF containing 4 properties

我使用了以下参数:

<usesdevicedependencies>
<usesdevice id="DCE:18964b3d-392e-4b98-a90d-0569b5d46ffe"
type="usesUSRP">
<propertyref refid="DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d"
value="FRONTEND::TUNER" />
<propertyref refid="DCE:0f99b2e4-9903-4631-9846-ff349d18ecfb"
value="USRP" />
<structref refid="FRONTEND::tuner_allocation">
<simpleref refid="FRONTEND::tuner_allocation::tuner_type"
value="RX_DIGITIZER" />
<simpleref refid="FRONTEND::tuner_allocation::allocation_id"
value="usrpAllocation" />
<simpleref refid="FRONTEND::tuner_allocation::center_frequency"
value="102500000" />
<simpleref refid="FRONTEND::tuner_allocation::bandwidth"
value="320000" />
<simpleref refid="FRONTEND::tuner_allocation::sample_rate"
value="250000" />
<simpleref refid="FRONTEND::tuner_allocation::group_id"
value="" />
<simpleref refid="FRONTEND::tuner_allocation::rf_flow_id"
value="" />
</structref>
</usesdevice>
</usesdevicedependencies>

b100配置如下:

-- USRP-B100 时钟控制:10 -- r_counter: 2 -- a_counter: 0 -- b_counter: 20 -- 预分频器:8 -- vco_divider: 5 -- chan_divider: 5 -- vco_rate: 1600.000000MHz -- chan_rate: 320.000000MHz -- out_rate: 64.000000MHz -- _____________________________________________________ / |设备:B系列设备 | _____________________________________________________ | / | |主板:B100 | |修订:8192 | |序列号:E5R10Z1B1 | |固件版本:4.0 | | FPGA版本:11.4 | | | |时间来源:无、外部、_external_ | |时钟源:内部、外部、自动 | |传感器:ref_locked | | _____________________________________________________ | | / | | |接收数字信号处理器:0 | | |频率范围:-32.000 至 32.000 Mhz | | _____________________________________________________ | | / | | | RX Dboard:A | | | ID:WBX v3、WBX v3 + 简单 GDB (0x0057) | | |序列号:E5R1BW6XW | | | _____________________________________________________ | | | / | | | |接收前端:0 | | | |名称:WBXv3 RX+GDB | | | |天线:TX/RX、RX2、CAL | | | |传感器:lo_locked | | | |频率范围:68.750 至 2200.000 Mhz | | | |增益范围 PGA0:0.0 到 31.5 步长 0.5 dB | | | |连接类型:IQ | | | |使用 LO 偏移:否 | | | _____________________________________________________ | | | / | | | |接收编解码器:A | | | |名称:ad9522 | | | |增益范围 pga:0.0 到 20.0 步长 1.0 dB | | _____________________________________________________ | | / | | |发送数字信号处理器:0 | | |频率范围:-32.000 至 32.000 Mhz | | _____________________________________________________ | | / | | | TX Dboard:A | | |编号:WBX v3 (0x0056) | | |序列号:E5R1BW6XW | | | _____________________________________________________ | | | / | | | | TX前端:0 | | | |名称:WBXv3 TX+GDB | | | |天线:TX/RX,CAL | | | |传感器:lo_locked | | | |频率范围:68.750 至 2200.000 Mhz | | | |增益范围 PGA0:0.0 到 31.0 步长 1.0 dB | | | |连接类型:IQ | | | |使用 LO 偏移:否 | | | _____________________________________________________ | | | / | | | | TX编解码器:A | | | |名称:ad9522 | | | |增益范围 pga:-20.0 到 0.0 步长 0.1 dB

我的错在哪里? 提前感谢您的帮助。

【问题讨论】:

    标签: redhawksdr usrp software-defined-radio


    【解决方案1】:

    frontend_tuner_status 结构序列定义了设备的能力和容量。如果序列为空,分配总是会导致容量不足。 frontend_tuner_status 属性为空通常是未指定目标设备或无法找到指定目标设备的结果。

    您必须使用 target_device 结构属性指定目标设备。这可以在节点内或运行时完成。以前版本的 USRP_UHD REDHAWK 设备只允许使用属性指定 IP 地址,但为了支持 USB 连接(通常是非网络连接)的 USRP 设备,这已被替换为 target_device 结构属性。

    target_device 属性允许用户指定 ip_addressnameserialtype ,并且将使用第一个符合条件的 USRP 硬件设备(如果找到)。 target_device 结构中应指定的信息可以通过将 update_available_devices 属性设置为 true 来确定,从而填充 available_devices 结构序列包含所有找到的设备(命令行工具uhd_find_devices 报告的相同设备和信息)。

    要确定 USRP_UHD REDHAWK 设备是否连接到目标设备,请检查属性。具体来说,如果没有链接到硬件设备,frontend_tuner_status 序列以及 device_motherboardsdevice_channels 属性将为空。

    【讨论】:

    • 感谢您的帮助。实际上结构是空的。我将类型设置为 b100 但我立即收到以下错误:Error while executing callable. Caused by org.omg.CORBA.COMM_FAILURE: Error while executing callable. Caused by org.omg.CORBA.COMM_FAILURE: 难道是 USRP_UHD 的错误?
    • 该错误可能表明 USRP_UHD 设备由于未处理的异常而终止。日志文件中是否有其他信息?您可能必须将调试级别设置为 DEBUG 或 TRACE 以识别在 USRP_UHD 代码中引发异常的位置。
    • B100 设备已停产,无法进行测试,因此行为未知。但是,使用 B210 设备进行的测试已经成功。使用 B210 进行的初始测试与您所看到的结果相似,最终成为适用于其他 USRP 设备类型的 UHD 调用,导致 B210 出现异常。 B100 可能会发生类似的情况。
    • 我在代码中添加了一些打印,例如“这里”或“那里”,以监控故障发生的位置。但这一次却没有出现!这可能是由于临时化或竞争条件导致的错误吗?如果再次发生,我会报告日志。无论如何分配一点都不好,因为我只能分配 40MHz 带宽,不多不少,而且肯定是 USRP b100 的错误值。
    • 我按照您的建议尝试了 USRP b200,但行为并不令人惊讶。它允许我分配 56 MHz 的带宽(接受的最大值)。有趣的是,分配端口的 FFT 图没有任何意义,因为频率轴以 mHz (E-3) 为单位,并且看不到任何信号。我错过了什么?有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 2017-07-13
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2015-08-14
    • 2020-11-07
    • 2022-01-27
    相关资源
    最近更新 更多