USRP(通用软件无线电外设)设备是业内应用广泛的商用现成软件无线电(SDR)。世界各地数以千计的工程师使用USRP SDR来快速设计无线系统并进行原型验证和部署。目前市场上出售的此类设备有两个不同品牌:NI和Ettus Research。我们来了解一下NI USRP SDR(如USRP-2954)和Ettus Research USRP SDR(如USRP N320)有何不同。
以下统计表显示了NI SDR和Ettus Research的USRP SDR间的主要区别:
表1.Ettus Research SDR和NI SDR之间的主要区别
NI和Ettus Research的USRP SDR的硬件差异主要体现在两个方面:硬件交付的方式,以及提供的硬件选项。
NI USRP SDR出售时已在外壳中完成预组装,而一些Ettus Research USRP SDR则作为模块化套件,与RF子板和主板单独销售。例如,NI的USRP-2945与X310主板加两块TwinRX子板组成的硬件作用相同。请参考表2,比较Ettus Research与NI的USRP等同的型号:
| NI产品编号 | Ettus Research产品编号 |
|---|---|
| n/a | B200mini/B205mini |
| USRP-2900 | B200 |
| USRP-2901 | B210 |
| USRP-2920 | N210和WBX |
| USRP-2921 | N210和XCVR2450 |
| USRP-2922 | N210和SBX |
| USRP-2930 | N210、WBX和GPSDO |
| USRP-2932 | N210、SBX和GPSDO |
| n/a | N310 |
| n/a | N320/N321 |
| USRP-2974 | USRP-2974 |
| USRP-2940 | X310和WBX |
| USRP-2942 | X310和SBX |
| USRP-2943 | X310和CBX |
| USRP-2944 | X310和UBX |
| USRP-2945 | X310和TwinRX |
| USRP-2950 | X310、WBX和GPSDO |
| USRP-2952 | X310、SBX和GPSDO |
| USRP-2953 | X310、CBX和GPSDO |
| USRP-2954 | X310、UBX和GPSDO |
| USRP-2955 | X310、TwinRX和GPSDO |
| n/a | E310/E312/E313/E320 |
| X410/X440 | X410/X440 |
表2.NI与Ettus Research的SDR型号对比
USRP SDR预组装的好处之一是,设备在发货前可作为一个组装单元接受生产测试,但若作为一个套件出售,各个组件需单独进行测试。不过,单独购买主板和子板更加灵活,因为并非所有组件的组合可作为单个预组装设备提供。一些以Ettus Research名义销售的全新、先进无线电设备,如USRP N310、USRP N320、USRP N321、Ettus USRP X410和Ettus USRP X440,只作为预组装的无线电设备销售。
NI Ettus USRP X410结合了NI和Ettus Research的优势,在一众新款无线电设备中脱颖而出。这款预组装的无线电设备既支持当下热门的开源工具流,如USRP硬件驱动程序(UHD)和GNU无线电,也支持LabVIEW。全新的SDR基于Xilinx Zynq UltraScale+ RF System-on-Chip (RFSoC)构建,配备了高性能的RF发射器和接收器硬件,可提供NI迄今为止功能最为强大的软件无线电。RFSoC与数据转换器(模数/数模转换器)集成,为嵌入式处理器和可编程FPGA奠定了基础。四核Arm®处理器支持独立运行(嵌入式模式)或基于主机的模式,并通过外部主机来运行您的应用。
图1.NI Ettus USRP X410
虽然NI USRP和Ettus Research的各种USRP型号都采用相同的无线电硬件,但软件支持和用户偏好却并不相同。NI USRP设备主要供配备NI-USRP LabVIEW驱动程序的LabVIEW用户使用。Ettus Research设备则由通用的开源UHD提供支持。除此之外,NI和Ettus Research无线电设备都可以利用功能强大的MathWorks MATLAB®设计环境。
抽象的LabVIEW设计环境有助于加快无线系统的设计速度,使不具备HDL设计专业知识的人员也能进行FPGA编程。如果您有想要加入的第三方IP,如MathWorks MATLAB软件或VHSIC硬件描述语言(VHDL)代码,可以直接从LabVIEW将其导入,从而获得更高的起点,并加快应用程序设计的速度。
UHD由NI发布,具有开源许可证,为所有的Ettus Research USRP SDR和NI USRP SDR提供支持。该驱动程序支持在USRP硬件上用C/C++语言进行应用程序开发,并为以下多种业界标准的开发环境和框架提供跨平台支持:RF Network-on-Chip (RFNoC)、GNU Radio、HDL Coder及MathWorks MATLAB、Simulink®和Wireless Testbench™ Testbench™软件。作为获得双重许可的软件,UHD可根据开源GNU通用公共许可证第3版提供,也可根据替代的、限制性较低的许可证供部署Ettus Research硬件的批量OEM客户使用。
虽然NI USRP SDR具有UHD原生支持,但也可使用NI的等效产品配置Ettus Research USRP SDR,并完成LabVIEW工作流程。
尽管所有NI USRP SDR具有UHD原生支持,但设备随附的FPGA图像可能与最新版本的驱动程序不兼容。请检查各个设备的固件和FPGA图像,确保UHD正常工作。
详细了解如何将这款开源软件与Ettus软件无线电配合使用,以构建多通道无线通信系统原型。
关于支持的软件,见表3。
| USRP硬件驱动程序 | NI-USRP | |
|---|---|---|
| 操作系统 | Windows Linux Mac OS | Windows NI Linux Real-Time |
| 编程语言―主机 | GNU无线电 C/C++ MATLAB/Simulink/Wireless Testbench Python | LabVIEW 2018及更新版本 |
| 编程语言—FPGA | VHDL Verilog RFNoC(开源FPGA框架) | LabVIEW FPGA |
表3.NI和Ettus Research驱动程序软件支持比较
尽管这两个品牌看起来截然不同,但Ettus Research品牌和NI品牌的USRP SDR同大于异。两个品牌的硬件是相同的,而且在大多数情况下,两个品牌的硬件都受NI-USRP驱动程序和UHD的支持。
注册商标Linux®的使用获得了Linus Torvalds专属授权商LMI的再授权,Linus Torvalds拥有Linux®注册商标在全球范围内的所有权。MATLAB®和Simulink®为The MathWorks, Inc.的注册商标