X310 转化为USRP RIO
- X310产品
- X310和NI-USRP对应关系
- 简介
- 第一步
- 原理解释
- 打开工具
- 运行 Initialize Flash.vi
- 可以去选择设备类型
- Hardware Current Version 如何选择
- 第二步
- 创建工程
- 运行校准程序
- 附录:射频子板的ID
- WBX
- SBX
- CBX
- UBX
- TwinRX
X310产品
X310和NI-USRP对应关系
NI-USRP | Ettus X310 |
---|---|
USRP-2940R | X310 + WBX (x2) |
USRP-2942R | X310 + SBX (x2) |
USRP-2943R | X310 + CBX (x2) |
USRP-2944R | X310 + UBX (x2) |
USRP-2945R | X310 + TwinRX (x2) |
USRP-2950R | X310 + WBX (x2) + GPSDO |
USRP-2952R | X310 + SBX (x2) + GPSDO |
USRP-2953R | X310 + CBX (x2) + GPSDO |
USRP-2954R | X310 + UBX (x2) + GPSDO |
USRP-2955R | X310 + TwinRX (x2) + GPSDO |
简介
NI发布的USRP版本事封装测试好的,所以自己要攒一台的话,是可以用X310加对应的子板,再通过转换工具,就可以将一台X310转化为NI-USRP,转化之后,上位机就不不再显示X310了,而是显示对应的USRP型号。
该操作是没有什么风险的,只要按照教程来做即可。而且只有两个步骤,非常的简单。
第一步
原理解释
第一步就是要重新烧些X310的内部寄存器,这个寄存器叫EEPROM,和你学过的单片机是一样的,X310也适用它来保存一些关键的信息,当上电的时候,将会自动进行读取。
打开工具
要重新烧写EEPROM这个寄存器,是需要打开烧写工具的,工具的位置在:
C:\Program Files (x86)\National Instruments\LabVIEW 2015\vi.lib\LabVIEW Targets\FPGA\USRP\niusrprio_tools.llb
不同的LabVIEW版本是打开的路径是不一样的,需要更换年份,上面这个文件夹是2015年的,如果你的LabVIEW是2020年的,则更换年份,得到的地址就是:
C:\Program Files (x86)\National Instruments\LabVIEW 2020\vi.lib\LabVIEW Targets\FPGA\USRP\niusrprio_tools.llb
工具打开之后就是下面的这个样子:
运行 Initialize Flash.vi
点击 Initialize Flash.vi 这个文件,并打开,然后运行这个程序。
使用 Initialize Flash.vi 将会加载设备上射频子板的 ID号 和序列号,加载出来的序列号和子板上的序列号不一定一致,这是正常现象,不需要担心自己买到的是二手货。
显示如下:
可以去选择设备类型
Hardware Current Version 如何选择
这个需要拆开盖子去看X310母版上写的硬件的修订版本,这里有严格的版本对于关系。
字母修订版本 | Hardware Current Version 数字写多少 | Device Mode |
---|---|---|
A | 1 | 3.3V |
B | 2 | 3.3V |
C | 3 | 3.3V |
D | 4 | 3.3V |
E | 5 | 3.3V |
F | 6 | 3.3V |
G | 7 | 1.8V |
H | 8 | 1.8V |
你在上面选择Device Mode的时候,一定会看到有电压的选项,一般你看到应该是有疑惑的,电压一定要根据硬件的版本去选择,不懂可以问我,选择错了,可能没法用,需要重新烧写正确的配置才可以。
第二步
当你完成USRP的转换之后,接下来就需要进行校准了,这个工作将会决定你采集到的射频信号的质量了,所以一定需要进行。
校准的是IQ imbalance corrections,校准之后的参数将会固化到EEPROM中,这样每次运行的时候,将会使用这个校准数值。
创建工程
将 IQ 不平衡校正加载到子板 EEPROM 中的最简单方法是创建一个示例 USRP-RIO 项目。 在默认的 LabVIEW 窗口中,单击创建新项目并选择 NI-USRP Simple Streaming:
运行校准程序
创建项目后,导航至项目窗口中的实用程序并打开 Self Correct RX IQ Offset.vi:
该.vi 将自动计算最佳 IQ 不平衡校正因子并将其加载到子板 EEPROM 上的出厂默认位置。
附录:射频子板的ID
WBX
Name (as reported by UHD) | RX ID | TX ID | Notes |
---|---|---|---|
WBX LO | 0x0051 | 0x0050 | (Not registered in UHD) |
WBX | 0x0053 | 0x0052 | |
WBX + Simple GDB | 0x0053 | 0x004f | |
WBX v3 | 0x0057 | 0x0056 | |
WBX v3 + Simple GDB | 0x0057 0x004f | ||
WBX v4 | 0x0063 | 0x0062 | |
WBX v4 + Simple GDB | 0x0063 | 0x004f | |
WBX-120 | 0x0081 0x0080 | ||
WBX-120 + Simple GDB | 0x0081 | 0x004f |
SBX
Name (as reported by UHD) | RX ID | TX ID | Notes |
---|---|---|---|
SBX | 0x0054 | 0x0055 | v3 |
SBX v4 | 0x0065 | 0x0064 | |
SBX v5 | 0x0069 | 0x0068 | |
SBX-120 | 0x0083 | 0x0082 |
CBX
Name (as reported by UHD) | RX ID | TX ID | Notes |
---|---|---|---|
CBX | 0x0067 | 0x0066 | v3 |
CBX-120 | 0x0085 | 0x0084 |
UBX
Name (as reported by UHD) | RX ID | TX ID | Notes |
---|---|---|---|
UBX v0.3 | 0x0074 | 0x0073 | Prototype |
UBX v0.4 | 0x0076 | 0x0075 | Prototype |
UBX-40 v1 | 0x0078 | 0x0077 | |
UBX-160 v1 | 0x007A | 0x0079 |
TwinRX
Name (as reported by UHD) | RX ID | TX ID | Notes |
---|---|---|---|
TwinRX v1.0 | 0x0091 | 0xffff | (0x90 Reserved) |
参考:https://kb.ettus.com/Converting_an_X310_into_an_NI-USRP_Rio