PlutoSDR学习指南【0】PlutoSDR介绍

2021-04-15 16:50:10 浏览数 (1)

【注】前几篇文章介绍了PlutoSDR的简单实用,这一篇文章在补一个对PlutoSDR的介绍,本应当放在第一篇推文,这篇文章就是第0篇吧!

ADI Pluto是ADI公司推出的主动学习模块(Active Learning Module),其主要包含三个设备:ADALM1000ADALM2000,ADALM-PLUTO。其中前两个设备偏向基本的电路测量,ADALM-PLUTO偏向软件无线电。

PlutoSDR具有独立的接收和发射通道,可在全双工模式下工作。主动学习模块可以在325 MHz至3800 MHz频率范围内以最高每秒61.44MSPS产生或捕获RF模拟信号。PlutoSDR非常小,可装在衬衣口袋中,完全独立自足且由配有默认固件的USB供电。由于PlutoSDR通过libiio驱动程序启动,因此它支持OS X®、Windows®和Linux®,可让学生在多台设备上学习和探索。

Pluto是一款基于FPGA的SDR架构,实际上是一个Zynq的FPGA AD936X的封装版本,我们所看到的很多商业应用的SDR版本也是基于该平台的。不过直接入手FPGA和AD9361开发,相对于很多开发者而言,都是比较困难的,而且针对于算法开发和学习,也是没有太大必要的。Pluto的固件也是开源的。

https://github.com/analogdevicesinc/plutosdr-fw

ADI这一块的Pluto设备,确实是一个不错的学习平台,其开发时,不需要进行FPGA开发,可以通过ADI开发的Libiio组件进行调用。如上图所示通过LibIIO组件,可以直接调用底层的SDR资源,从而方便开发很多。上层可以用C,Matlab等开发语言和平台进行二次开发。

ADALM-PLUTO主动学习模块基于 AD9363,分别配备了可在全双工模式下工作的一条接收通道和一条发射通道。该模块能够以高达61.44MSPS的采样速率和20MHz的带宽产生和测量频率范围在325MHz到3800MHz之间的RF模拟信号。PlutoSDR体积小巧,可以轻松装进衣服口袋或者背包中,使用灵活,采用配备默认固件的USB端口供电。该模块支持OS XTM、WindowsTM和LinuxTM,因此使用者可以在不同的时间、不同的设备上学习和探索RF系统。

为什么叫做“Pluto”

在地理学中,天体“冥王星”(Pluto)是一颗矮行星,它类似于一颗小行星,但缺乏将其归类于此的技术准则。PlutoSDR是一个主动学习模块,类似于软件定义无线电,但在官方看来,它同样缺乏相应的性能表现或技术准则来将其归类于此。

PlutoSDR可以作为打开通信或SDR课程大门的一把钥匙,但它不能替代现有的更加专业的SDR。PlutoSDR针对学生而设计,价格也更加低廉。因此,所有PlutoSDR的用户都应注意它在很多方面的局限性,确保正常的工作和使用。

ADALM-PLUTO 内的无线电芯片 AD9363,是一款基于直接转换接收器的高性能、高集成度的RF敏捷收发器, * 接收子系统包括低噪声放大器 (LNA)、直接转换混频器、可配置模拟滤波器、高速模数转换器 (ADC)、数字抽取滤波器和 128-tap 有限脉冲响应 (FIR) 滤波器,可以适当的采样率产生12位输出信号。接收链通过可配置的自动增益控制 (AGC) 或手动增益模式、直流偏置校正、正交校正进行扩大。接收的 I 和 Q 信号传递到数字基带处理器中,在本例中为 Xilinx Zynq SoC。* 传输子系统还使用直接转换结构。从基带处理器(在本例中同样为 Xilinx Zynq SoC)中接收12位I/Q样本,通过 128-tap 有限脉冲响应 (FIR) 滤波器、数字插值滤波器、高速数模转换器 (DAC)、模拟滤波器、直接转换混频器和小功率放大器(PA)向天线输出。* AD9363 内集成的相锁环 (PLL) 为接收和传输通道提供时钟和本地振荡器,并为 ADC、DAC 提供时钟和采样频率。

Xilinx Zynq 全部可编程 soc(AP SoC)融入了基于 ARM 处理器的可编程性和 FPGA 硬件可编程性,该器件采用单核ARM Cortex™-A9处理器,与28nm Artix®-7基本可编程逻辑配合。配备常用的硬件外设(USB、SPI 等)。

收发器结构

AD9363传输链基于直接转换技术。虽然此框图属于 AD9361,但它也适用于在 ADDALM-PLUTO 中的 AD9363。两者的区别在于可调范围及次要功能缺失(DCXO、无外部LO、RF 通道带宽变窄)。

需要考虑的一些事项如下:- Tx LO 幅值保持不变,因此为接收到最佳信号,尽可能地以最大比特位数运行 DAC,然后调高/调低输出衰减以改变输出信号强度,(不要只减少 DAC 的输入)。DAC 最大比特位数为12位,但实际上使用 ADI 提供的 HDL 需要产生 16-bit 信号,其中低4位 LSB 会被去除。

相关参数

USB2.0

USB2.0 是480 Mbit/s半双工串行协议。

  • 利用率为100%时,480兆比特每秒等于60兆字节每秒。
  • USB开发者论坛主席指出,“由于存储卡和外设之间的通讯协议开销,宣称最高速度为60MB/s的高速USB中,至少10-15%达不到峰值。”从而导致速度降为约50MB/s。
  • USB有控制传输、中断传输、同步传输和批量传输4种传输模式。当我们使用批量传输时,不可能关闭其他模式,资源会有10%的损耗,因此速度又降至约45MB/s。
  • 半双工传输时,发送和接收分别占有约22.5MB/s。
  • 单个样本长度为2 byte(12 bit),采样速率就为11MSPS。

实际上在PlutoSDR中采样速率接近7.5 - 12.5 MSPS,但它取决于USB host以及当前的网络状况。实际速率大约是理论速率的65%-100%,说明速率虽然主要取决于主机,但还是有优化空间的。相比现有的商业用的传输速率几个G的以太网、USB 3.0(5 Gbps 全双工)或者PCIe(4 Gbps每通道)解决方案,USB 2.0还是要慢得多。

FPGA 规格

PlutoSDR内的FPGA(作为Xilinx Zynq 7010的一部分)尺寸很小

属性

尺寸

逻辑单元

28

块存储器

2.1

DSP组成单元

80

使用部分FPGA的默认设计目标为:- CMOS接口实现 - I/Q转换(如果用户需要) - DDS(用于传输端的multi-tone发生器),以及 - 添加8个插值/抽取,使 PlutoSDR 的采样率比 AD9363(520.833kSPS)的最小采样率低8倍(65.104166 kSPS)

以下的利用率报告是一种比较典型的情况。如果您不需要上述的某些逻辑电路,可以将其关闭并重新利用FPGA作为自定义逻辑电路。

额外的抽取和插值滤波器使用 20 个 DSP slice(总共 40 个)。可选的 DDS 使用 20 个 DSP slice,可选的 2 x 2 矩阵乘法(有时用于 IQ 校正或相位旋转)是每个通道 2 个,DC 滤波器是每个通道 1 个。

使用不同的Zynq设备可以很轻易地克服该问题——我们在最小的引脚计数选择了一个设备,这有利于在价格较低时使布局更合理。使用更大的设备和封装,将影响大小和成本。

PlutoSDR的不足

PlutoSDR内的AD9363的可调范围由325至3800 MHz之间的LO中心频率指定。这个可调范围已经诞生了十多年,覆盖了美国,欧洲,澳大利亚,印度,日本等地的频段,但它范围没有AD9361或AD9364这类的板子大,这些板子可调范围在70至6000兆赫之间,几乎是它的两倍。因为器件的引脚几乎相同,通过将AD9363换成AD9364或AD9361,很容易克服这一缺点,但这会增加成本

PlutoSDR内部没有RF屏蔽模块,这意味着在它附近放置一个强大的发射机(如您的手机)可能会影响PlutoSDR调谐到的频率结果。通过增加RF屏蔽装置可以克服这一缺点,但会增加成本和体积。

PlutoSDR 上没有预选或输出滤波器,AD9363的输出是SMA连接器的输出,AD9363的引脚提供的输入进入设备天线。

AD9363 中的射频发射机输出 LO 频率的中度三次谐波。如果您的 LO 为 3 GHz(其中三次谐波为 9 GHz,超出 PlutoSDR 中用于差分到单端转换的balun范围),则该频率将相当低。但是, 如果 LO 为 500 MHz,则第三次谐波将为 1500 MHz,完全在范围内。如果您在 500 MHz 下传输 RF 信号,信号会以 1500 MHz 进行传播。

总结

虽然AD9363的RF性能足以满足许多RF应用,但它与可能其他高性能器件的规格不匹配,如其他商用SDR器件中的AD9361、AD9364、AD9371。

PlutoSDR性能要优于其他许多同类设备,但它不是最好的SDR。

但由于 PlutoSDR 的易用性以及较低的价格,仍然是入门软件无线电(SDR)的最好的选择。

【参考资料】

  1. https://wiki.seeedstudio.com/cn/ADALM-PLUTO-Overview/
  2. https://zhuanlan.zhihu.com/p/54190140
  3. https://www.analog.com/cn/design-center/evaluation-hardware-and-software/evaluation-boards-kits/ADALM-PLUTO.html
  4. https://wiki.analog.com/university/tools/pluto
  5. https://wiki.analog.com/university/tools/pluto/users
  6. https://wiki.analog.com/university/tools/pluto/developers
  7. https://wiki.analog.com/university/tools/pluto/hackers

0 人点赞