UHD USRP-устройству не хватает мощности

Я использую Redhawk 1.10.0 на 64-битной машине CentOS 6.5 и USRP b100 с драйвером UHD 3.7.2. USRP b100 правильно распознается системой. Это устройство USB. Я скачал последнюю версию UHD_USRP Device ver. 3.0 для REDHAWK, и я создал узел, включающий устройства 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...

Консоль Node:

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,000000 МГц
-   chan_rate: 320,000000 МГц
-   out_rate: 64,000000 МГц
- 
  _____________________________________________________
 /
| Устройство: Устройство серии B
|     _____________________________________________________
|    /
|   |       Mboard: B100
|   | редакция: 8192
|   | серийный номер: E5R10Z1B1
|   | Версия FW: 4.0
|   | Версия FPGA: 11.4
|   |   
|   | Источники времени: нет, внешние, _external_
|   | Источники часов: внутренние, внешние, авто
| | Датчики: ref_locked
|   |     _____________________________________________________
|   |    /
|   |   |       RX DSP: 0
|   |   | Диапазон частот: от -32.000 до 32.000 МГц
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: A
|   |   |   ID: WBX v3, WBX v3 + Простой GDB (0x0057)
|   |   | Серийный номер: E5R1BW6XW
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 0
|   |   |   | Название: WBXv3 RX+GDB
|   |   |   | Антенны: TX/RX, RX2, CAL
|   |   |   | Датчики: lo_locked
|   |   |   | Диапазон частот: от 68.750 до 2200.000 МГц
| | | | Диапазон усиления PGA0: от 0,0 до 31,5 с шагом 0,5 дБ
| | | | Тип подключения: IQ
|   |   |   | Использует LO смещение: Нет
| | | _____________________________________________________
| | | /
| | | | Кодек RX: A
|   |   |   | Имя: ad9522
|   |   |   | Диапазон усиления pga: от 0,0 до 20,0 с шагом 1,0 дБ
|   |     _____________________________________________________
|   |    /
|   |   |       TX DSP: 0
|   |   | Диапазон частот: от -32.000 до 32.000 МГц
|   |     _____________________________________________________
|   |    /
|   |   |       TX Dboard: A
|   |   |   ID: WBX v3 (0x0056)
|   |   | Серийный номер: E5R1BW6XW
| | | _____________________________________________________
| | | /
| | | | Внешний интерфейс TX: 0
| | | | Название: WBXv3 TX+GDB
|   |   |   | Антенны: TX/RX, CAL
|   |   |   | Датчики: lo_locked
|   |   |   | Диапазон частот: от 68.750 до 2200.000 МГц
| | | | Диапазон усиления PGA0: от 0,0 до 31,0 с шагом 1,0 дБ
| | | | Тип подключения: IQ
|   |   |   | Использует LO смещение: Нет
| | | _____________________________________________________
| | | /
| | | | Кодек TX: A
|   |   |   | Имя: ad9522
|   |   |   | Диапазон усиления pga: от -20,0 до 0,0 с шагом 0,1 дБ

Где моя вина? Заранее благодарю за любую помощь.

1 ответ

Решение

Структурная последовательность frontend_tuner_status определяет возможности и емкость устройства. Если последовательность пуста, распределение всегда приведет к нехватке емкости. Пустое свойство frontend_tuner_status обычно является результатом отсутствия указания целевого устройства или невозможности найти указанное целевое устройство.

Вы должны указать целевое устройство, используя свойство структуры target_device. Это может быть сделано в Узле или во время выполнения. Предыдущие версии устройства USRP_UHD REDHAWK позволяли указывать только IP-адрес с помощью свойства, но для поддержки подключенных к USB (и вообще не подключенных к сети) устройств USRP это было заменено свойством struct target_device struct,

Свойство target_device позволяет пользователю указать ip_address, name, serial или type и будет использовать первое аппаратное устройство USRP, которое соответствует критериям, если оно найдено. Информацию, которая должна быть указана в структуре target_device, можно определить, установив для свойства update_available_devices значение true, в результате чего последовательность структуры available_devices заполняется всеми найденными устройствами (теми же устройствами и информацией, которая сообщается средством командной строки uhd_find_devices).

Чтобы определить, подключено ли устройство USRP_UHD REDHAWK к целевому устройству, проверьте его свойства. В частности, последовательность frontend_tuner_status будет пустой, если она не связана с аппаратным устройством, а также со свойствами device_motherboards и device_channels.

Другие вопросы по тегам