目录
二. USRP2954R/2922/N210/x310设备介绍
同志!
从新手的角度快速入门USRP,我采用的是面向对象的思想来学习,试图用较短的时间完成重要部分知识的构建,从而在短时间内可以实现一条基于USRP的完整链路。秉承着先完成再完善的原则,文中若有错误/更好的实现办法,欢迎同志们留言讨论!
既然是认识设备,我采用的方式是由表及里,从“眼睛看到的”入手,目的很简单,搞清楚以下几个问题:
(0)它是个什么东西?
(1)它表面的端口都是干什么用的?
(2)它有什么重要的性能指标?
(3)它怎么用/怎么让我上手?
(4)有哪些相关的开发平台我可以使用?
(5)有什么特别重要的注意事项?防止操作不当玩坏了。
前言
本系列包括环境配置(Ubuntu系统安装、UHD驱动配置、GNURadio安装)、软件无线电设备介绍、基本开发案列、进阶开发四个方面。 本篇将深入认识USRP设备,为后续开发做硬件准备。关于该部分内容主要参考NI官网提供的相关手册,其中参考链接1为《USRP-2950/2952/2953/2954/2955 Getting Started Guide》,也是本节的主要参考依据,参考链接2为《USRP-2920/2921/2922 Getting Started Guide》。跳转:
基于GNURadio的USRP开发教程(1):环境配置No.1/2-CSDN博客
基于GNURadio的USRP开发教程(1):环境配置No.2/2-CSDN博客
一. 软件无线电概述
根据参考链接3中对软件无线电的详细介绍,我们删繁就简、简要总结入门仅需的知识储备。
1. SDR系统分类
FPGA-Based SDR系统 | 实时处理能力强,但是开发难度大,开发成本也高 |
DSP-Based SDR系统 | 实时性比FPGA略差,而且同样的开发难度大,开发成本也高 |
GPP-Based SDR系统(General Purpose Processor) | 可以简单的把GPP理解为电脑,较低的开发门槛,较低的开发成本,开发周期也较短、便于调试等。GPP-Based SDR系统是目前最为通用的一种SDR系统实现形式 |
2. SDR系统外设
上述设备对学生党来说都太贵了,毕竟动不动就几千上万的,经济有限的入门同志可以选择RTLSDR进行开发。
3. SDR系统原理
(1)发射机
SDR程序:是我们用软件来实现的通信模块,鉴于SDR系统对实时性要求较高,所以我们一般使用C或C++语言来编写,主要功能是处理系统的基带数据。
UHD:USRP设备的驱动模块
系统库、系统调用接口、内核:主要涉及操作系统方面的知识
USB 3.0:电脑通过USB 3.0把数据传输给USRP。
发送控制模块:用来控制整个USRP的发送行为,例如什么时候发送等。
数字上变频模块(DUC):把电脑产生的基带数据上变频到中频.
DAC:数模转换.
Filter:数模转化之后需要过一个低通滤波器使信号变的更加平滑。
晶振:中频模拟域数据与晶振产生的信号相乘把中频信号调制到设定的射频频点上。
(2)接收机
低噪放:低噪放就是低噪声的放大器。
模拟域:信号经过低噪放后与USRP晶振产生的信号相乘把信号下变频到中频,同样地再经过一个低通滤波器把信号变得平滑。
ADC:模数转换。ADC主要由两个参数,采样精度和采样率。采样精度表示采样后的信号用多少bit来表示,例如USRP B200的ADC精度为12 bits,即采样后的每一个数据用12bits 来表示。采样率就是系统的采样速率,USRP B200的采样速率为61.44MS/s。
为什么要经过两次下变频:射频信号的载波频率已经能都达到2.6GHz,甚至5GHz,根本无法做出载波频率两倍的采样速率的ADC(工艺不够)。第一次变频是在模拟域通过晶振产生的信号与射频信号相乘把信号下变频到中频,这一次变频主要是为了后面做AD采样。
为什么不直接把信号一次变频到基带:这样的接收机叫做零中频接收机。如果载波频率高了,零中频的接收机设计会非常复杂。(USRP应该属于超外差/外差接收机)。
二. USRP2954R/2922/N210/x310设备介绍
NI和Ettus之间的渊源同志们自己了解,概括讲:USRP 2954R RIO设备的母版就是X310,USRP 2922设备的母版就是N210;NI公司相当于把母版和子板组装好并经过测试后再出售,而Ettus系列则是要什么板子你自己决定,可以单独购买。
1. 面板介绍
(1)USRP 2954R
-
前面板
注意:面板中的“JTAG”口可不要小瞧,它是当设备变成“假砖”时用来拯救设备的大哥,见第六节:常见故障解决。
仅当将NI-USRP API 与默认API Image一起使用时,才会出现下表中描述的 LED指示。使用LabVIEW FPGA时,您可以自定义LED指示。
-
后面板
注意_1:"1G/10G ETH"是电口,如果要连网线则需要购买光电转换模块,如下图所示:
注意_2:"REF OUT/IN"和“PSS TRIG OUT/IN”是用来实现多台USRP设备振荡器时钟和时序同步的,非常重要,下一篇我会介绍。
(2)USRP 2922
- 前面板(无后面板)
注意_3:“MIMO EXPANSION”也是实现多设备时钟/时序同步的。
2. 性能参数
(1)VERT2450 Antenna
双频段2.4至2.48 GHz和4.9至5.9 GHz全向垂直天线,增益为3dBi。图片源自官网。
(2)USRP-2954R
该部分主要参考链接4:《USRP-2954 Specifications》。以下只列举了产品参数文档中发射机和接收机的相关参数。
(3)USRP-2922
该部分主要参考链接5:《USRP-2922 Specifications》。以下只列举了产品参数文档中发射机和接收机的相关参数。
3. 硬件连接
(1)USRP-2954R
- 连接方式1(不推荐):
安装前确保USRP RIO设备和计算机已关机!
(1)根据需要将天线或电缆连接至USRP RIO设备的前面板端口。
(2)使用MXI Express接口套件将USRP RIO设备连接到计算机。
(a)确定要使用的MXI Express接口套件。
- 如果使用的是桌面连接套件或PXI机箱连接套件,请按照该套件中包含的设置MXI™ Express ×4系统文档的硬件安装部分中的安装说明进行操作。
- 如果使用笔记本电脑连接套件,请同时触摸USRP的ExpressCard-8360和USRP RIO设备的金属外壳。
(b)如果使用笔记本电脑连接套件,请同时触摸USRP的ExpressCard-8360和USRP RIO设备的金属外壳。
(3)使用随附的连接线将MXI设备连接到USRP RIO设备上。如果使用的是笔记本电脑,请参阅下图。
(4)将电源插入插座,按PWR按钮。
(5)打开计算机电源。Windows将自动识别USRP RIO设备。
(6)注:如果使用的是笔记本进行连接,可能会出现没有下图中“3. ExpressCard Slot”的情况,这是由于ExpressCard Slot常出现于旧式笔记本中,若要实现上图所示的连接,需要购买相应的转接模块。
- 连接方式2(推荐):
使用套件连接到USRP RIO设备上的PCIe x4端口上,可以实现高速的数据传输。若只针对USRP做相对简单的测试等,在编程量不大的情况下还可以采用网线进行连接。
如上图所示,在设备的后面板上存在两个以太网口(SPF+),可支持的速率分别为1G ETH和10G ETH,但要使用该端口需要借助光电转换模块,将电信号转换为光信号,再使用网线将电脑主机和USRP设备进行连接。
需要注意的是,为达到该输入端口所标称的传输速率,如要使用10G ETH端口,那么所使用的SPF+光电转换模块和网线,其性能指标都必须到达万兆级别。
注意:电脑的网口通常都是千兆口,所以如果你决定用普通电脑开发,即便你使用的是万兆网线和万兆的光电模块,最后过电脑网口也会降成千兆,省点钱直接用千兆口。
(2)USRP-2922
4. 开发方式
目前针对USRP的开发平台主要有三个(排除某些科研单位自研开发平台):
(1)基于LabView:NI自己家的,有盗版软件,图形化开发,上手方便。
(2)基于Matlab:需要安装USRP工具箱。
(3)基于GNU Radio:开源!地地道道!正儿八经!功能强大!
前两种开发方式可以满足基本的开发任务,但是军工类慎用,估计没有正版许可证,用盗版的话需要考虑最后的结果如何呈现、是否侵权等问题。
5. 注意事项(官网)
以下注意事项为参考链接1的翻译版,并按照重要等级重新进行排序。
1. 切勿触摸连接器的裸露引脚。
2. 如果将信号发生器直接连接或用电缆连接到设备,或者将多个USRP RIO设备连接在一起,则必须将30 dB衰减器连接到每个接收USRP RIO设备的RF输入(RX1或RX2)。
3. 同步多个USRP RIO设备需要CDA-2990附件。
4. 为确保指定的EMC性能,除连接到以太网和GPS天线端口的I/O电缆外,所有I/O电缆的长度不得超过3 m (10 ft)。
5. 为防止静电放电 (ESD) 损坏设备,请使用接地带或握住接地物体(例如计算机机箱)将自己接地。
6. 如果要对FPGA进行编程,则必须使用PCIe x4连接器。不能使用1G/10G ETH连接器对FPGA进行编程。
7. 为确保指定的EMC性能,只能使用屏蔽电缆和附件操作本产品。
8. 本产品未获批准或许可使用天线进行无线传输。因此,使用天线操作本产品可能会违反当地法律。 在使用天线操作本产品之前,请确保遵守所有当地法律。
9. 为确保指定的EMC性能,只能使用屏蔽电缆和附件操作本产品。
10. 如果设备出现任何损坏,请勿安装。
11. 必须安装LabVIEW调制工具包才能正确运行NI-USRP调制工具包示例VI。
12. 请勿以本文档中未指定的方式操作USRP RIO。产品误用可能会导致危险。 如果产品以任何方式损坏,您可能会损害产品内置的安全保护。 如果产品损坏,请将其返回NI进行维修。
13. 仅在USRP RIO通电时应用外部信号。在设备断电时施加外部信号可能会造成损坏。
14. 您不能将USRP RIO IDL与NI-USRP API一起使用。
15. NI示例查找器不包括NI-USRP示例。
6. 常见故障解决
(1) “假砖”:USRP网络指示灯不亮
当连接好硬件设备之后可能会出现USRP面板上的ETH口/网口指示灯不亮,说明设备此时并没有被主机检测到。
首先检查主机的以太网配置是否和USRP的默认IP(192.168.10.2)在同一网段;
如果是USRP 2954R,请确认购买的光电转换模块是否适配(我当时使用时买了中科、慧谷、万兆通,只有中科好使),不适配的光电模块插上后网口依然不亮。
如果不是该原因造成可能是由于在使用Windows系统下使用NI-USRP Configuration Utility进行FPGA镜像文件更新时出现了断电/卡机的情况,按照参考链接6和7即可拯救“假砖”。
注:建议使用虚拟机,如果使用现有的Linux系统下安装Vivado,请注意系统内存是否足够。
参考文献
1. 《USRP-2950/2952/2953/2954/2955 Getting Started Guide》
2. 《USRP-2920/2921/2922 Getting Started Guide》
3. 软件无线电 SDR技术原理深入解析 USRP收发原理 - 知乎 (zhihu.com)