我在CentOS 6.5 64位机器上使用Redhawk 1.10.0,USRP b100带有UHD驱动程序3.7.2。系统能够正确识别USRP b100。它是一个USB设备。我为REDHAWK下载了最新版本的UHD_USRP设备3.0版,并创建了一个包括GPP和UHD_USRP-设备的节点。节点启动时没有任何问题,但当我运行一个简单的波形以RX_DIGITIZER的形式从USRP读取数据时,我得到了以下错误:
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--_计数器:2--计数器(_a):0--b_counter:20--预分频器:8--vco_divider:5--频道分配器:5--vco_rate:1600.000000MHz--信道速率:320.000000MHz--输出速率:64.000000MHz--_____________________________________________________/|设备:B系列设备|_____________________________________________________|/||M板:B100||修订:8192||序列号:E5R10Z1B1||FW版本:4.0||FPGA版本:11.4||||时间源:none,external,_external_||时钟源:内部、外部、自动||传感器:ref_locked||_____________________________________________________||/|||RX DSP:0|||频率范围:-32.000到32.000 Mhz||_____________________________________________________||/||| RX数据板:A||| ID:WBX v3,WBX v3+简单GDB(0x0057)|||序列号:E5R1BW6SW|||_____________________________________________________|||/|||| RX前端:0||||名称:WBXv3 RX+GDB||||天线:TX/RX、RX2、CAL||||传感器:锁定位置(_L)||||频率范围:68.750至2200.000 Mhz||||增益范围PGA0:0.0到31.5步长0.5 dB||||连接类型:IQ||||使用LO偏移:否|||_____________________________________________________|||/|||| RX编解码器:A||||名称:ad9522||||增益范围pga:0.0到20.0步长1.0 dB||_____________________________________________________||/|||TX DSP:0|||频率范围:-32.000到32.000 Mhz||_____________________________________________________||/||| TX配电板:A||| ID:WBX v3(0x0056)|||序列号:E5R1BW6SW|||_____________________________________________________|||/|||| TX前端:0||||名称:WBXv3 TX+GDB||||天线:TX/RX,CAL||||传感器:锁定位置(_L)||||频率范围: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
我的错在哪里?提前感谢您的帮助。
frontend_tuner_status结构序列定义设备功能和容量。如果序列为空,则分配总是会导致容量不足。空的frontend_tuner_status属性通常是由于未指定目标设备或找不到指定的目标设备。
必须使用target_device结构属性指定目标设备。这可以在Node中完成,也可以在运行时完成。以前版本的USRP_UHD REDHAWK设备只允许使用属性指定IP地址,但为了支持USB连接(通常是非网络连接)的USRP设备,已将其替换为target_Devicestruct属性。
target_device属性允许用户指定ip_address、name和serial或type,并将使用符合条件的第一个USRP硬件设备(如果找到)。应在target_device结构中指定的信息可以通过将update_available_devices属性设置为true来确定,从而用所有找到的设备(与命令行工具uhd_find_devices
报告的设备和信息相同)填充available_avices结构序列。
要确定USRP_UHD REDHAWK设备是否连接到目标设备,请检查属性。具体而言,如果未链接到硬件设备,frontend_tuner_status序列以及device_motherboard和device_channels属性将为空。