UHD - 设备辨识的注解


辨识 USRPs - Identifying USRPs


在宿主计算机上每个设备都有好几种方法对它进行辨识:
  • 序列: 全球唯一标识符(GUID/UUID)。
  • 地址: 网络唯一标识。
  • 命名: 一个可选的用户定义标识。
地址仅可用于基于网络的设备。参阅 USRP2 的应用注解。

通过命令行来发现设备 - Device discovery via command line

功用程序 "find devices" 内含众多的 UHD。查询设备程序将在宿主计算机上查找所有的设备并将其结果打印出来。

uhd_find_devices
设备的地址参数将被用来缩小或限制其搜索的范围。

uhd_find_devices --args="type=usrp1"

-- OR --

uhd_find_devices --args="serial=12345678"

通过 API 来发现设备 - Device discovery through the API

API 调用 device::find() 搜索设备并将所发现的设备以清单形式返回。

uhd::device_addr_t hint; //an empty hint discovers all devices - 无搜索提示将查询所有的设备
uhd::device_addrs_t dev_addrs = uhd::device::find(hint);
搜索提示参数 - hint 将用来缩小或限制其搜索的范围。
uhd::device_addr_t hint;
hint["type"] = "usrp1";
uhd::device_addrs_t dev_addrs = uhd::device::find(hint);

-- OR --

uhd::device_addr_t hint;
hint["serial"] = "12345678";
uhd::device_addrs_t dev_addrs = uhd::device::find(hint);

命名 USRP - Naming a USRP


基于方便的目的,用户可以给 USRP 一个喜好的名称。USRP 便可通过该名称来辨识。这比起序列号或地址容易记忆。

名字一般具有如下属性:

  • 基于 ASCII 代码构成
  • 字符由 0 到 20 构成
  • 无需独一无二

命名 - Set a custom name

运行如下命令:

cd <prefix>/share/uhd/utils
./usrp_burn_mb_eeprom --args=<optional device args> --key=name --val=lab1_xcvr

通过名称发现设备 - Discovery via name

名称 - 可以被用来缩小或限制其搜索的范围。查询设备的例程如下:

uhd_find_devices --args="name=lab1_xcvr"

-- OR --

uhd_find_devices --args="type=usrp1, name=lab1_xcvr"








注:UHD - Device Identification Notes(英文原文出处,以上翻译整理仅供参考 Email: support@microembedded.com !)