LimeSDR 中文教程 (三)

本文是关于LimeSDR的实践教程第三篇,重点介绍了如何通过实际操作深入理解LimeSuite程序设置,包括配置寄存器、调整增益、滤波器设置等关键步骤。

这是这个系列教程的第三篇。我们会以之前的教程为基础,如果你没看可以点这里。

 

上一次我们详细看了RX部分,这样就能更好理解LimeSuite程序里的设置选项。上一篇文章理论比较多,这一篇文章理论会少一些,我们会做更多实际操作。

 

开始

我们会使用“self test”例子作为本文的基础。原因是只要你有LimeSDR,你不需要额外的硬件(比如RF口上不需要接东西)就能使用。如果你想看一下步骤,可以点击这个链接并观察例子3.7。(self test中的例子)

 

这个例子中使用的频率是2100MHz,在英国是3G蜂窝网络的频段,你大多数情况下都没有在这个频段发射的许可。我们使用了内部环路,这样就不会真正发射出信号,但是任然会有一小部分射频能量从我们接着天线的口上漏出来。因此做这个测试时最好移除天线(或者你也可以换到你有权使用的频段上去),这样你就不会不小心地在这个频段发射出信号了。我们的内部环路加在高频率的通道上,因此你选择的频段也必须在这个范围内。

 

 

当你根据步骤到达3.7并得到上面的FFT图像后,我们可以具体理解一下这个例子到底做了些什么。

 

加载”self_test.ini”

在LMS7002M芯片内部有上千个寄存器,因此要手动设置会非常麻烦。我们使用ini文件来解决这个问题,它里面包含了LMS7002M的寄存器设置,可以自动设置它们,我们不需要关心。如果你对这个感兴趣,可以看看这个文档。

 

下面是self_test.ini中的一部分,我们提取出来作为例子。

 

 

[file_info]

type=lms7002m_minimal_config

version=1

[lms7002_registers_a]

0x0020=0xFFFD < Reset and PWR settings

0x0021=0x0E9F < SPI/I2C control

0x0022=0x07DF < Pad Drive control settings

 

 

 

 

SXT/SXR

SXT是用来控制TX PLL(发射部分的锁相环)和时钟发生器的,它和SXR非常类似,所以我们可以同时观察。我们暂时不需要调整参数,只需要点击calculate和tune按钮,但是最好还是理解一下到底是怎么回事。

 

接下来要说的东西需要更多的知识:

之前的文章我们讲过RX PLL(锁相环),以及如何合成一个时钟。实际上PLL只是把时钟的相位与另一个时钟源做了同步。我们说的另一个时钟源是由参考时钟和乘法器、除法器一起生成的。PLL保证了所有这些合成的时钟都是同步的,这样我们可以减少相位差和相位噪声。

 

我们可以看一下下面的PLL结构图,可以发现PLL由3部分组成:

 

  • Inputs (Nint,Nfract & PLLCLK(ref)) 输入参数
  • A feedback loop 负反馈环路
  • A VCO  压控振荡器

 

 

 

 

回到self test例子中,我们可以看到当按下calculate按钮后,这个选项卡中的许多参数都自动调整了。你可以试试改变频率,然后看看那几个参数会对应变化(记得看完了要改回来,然后按一下calculate)。

 

CLKGEN

这个时钟发生器部分和前面说的有点相似,它用来控制LMS7002M的数字部分,因此有些参数需要优化一下。我们的主要目标是在发射部分的DAC(数模转换)中做过采样,以此提升SNR(信噪比),更高的时钟一般来说效果都会更好。

 

内部环路

这个顾名思义就能知道是什么,它控制了SKY13323射频芯片,把它选为了环路模式。

 

加载WCDMA波形

FPGA的一部分功能是波形回放功能,它能够按照正确的格式给LMS7002M提供已知的波形数据。

 

 

 

 

当我们加载波形后,还需要勾选MIMO,这样波形就会在两条发射通道上同时播放。如果你没有把相应的波形文件放到LimeSuite要求的文件夹下时,WCDMA按钮是无效的。如果你碰到这个问题,可以点击Custom按钮来加载你那里的WCDMA波形。

 

改变参数

我们终于可以来调节信号了。我们可以只对A通道做更改,而不更改B通道,这样就能看出效果。你先要保证你能做到self test中的两个波形看上去差不多的样子。波形的IQ图像应该和我们的截图一致。现在两个通道的图形应该是一样的,但是我们马上会做一些更改。

 

在开始之前,我们需要知道选项卡中的某些选项是对两个通道同时有效的,比如SXT中的asan。我们之前看过LMS7002M的结构了,从中我们可以看到这些细枝末节。在我们前面看到的资料里,可以发现PLL模块是被两个通道共享的,因此改变这个参数对两个通道同时起作用。这就是为什么我让你们先了解了背景知识,这样你在这里才会理解。

 

我们暂时不更改发射参数,先更改接收部分的参数,改一下上一篇文章提到过的参数。我们现在看到的I/Q图像,可以注意到这个形状是一大块点(理论上应该填满这一块)。如果我们用的是别的信号,比如QAM64,那么这种形状就是不对的,因为那种调制对应的应该是离散的点。看懂星座图很有用,它能帮助你更改参数,你可以先随意调整一下,最终再做优化。

 

更改增益

我们知道LMS7002M的最前面一级是LNA,那么我们先来调整它,它现在的设置应该是GMAX,也就是达标了最大值。我们把它降低为GMAX-12,可以发现星座图看起来更紧密了,这意味着我们开始丢失信息了。

 

 

 

所以我们减少接收端的输入会造成这个现象。那么我们如果减少发射端的输出会得到相同结果吗?我们试试。先把RX的LNA改回GMAX,然后到TX PAD gain control处改为16,它是TX LNA的一部分(在TRF选项卡里)。

 

 

你可以看到,结果和之前的类似。另外,TBB选项卡里还有一个frontend gain,它调整的是基带增益。我们现在调整一组参数,先把TXPAD调整为12(TRF选项卡),然后再把frontend gain调整为60(TBB选项卡),这样还原到原来的增益。

 

 

我们看到增益确实增加了,但是信号出现了失真。不止是星座图变成了很大的一个点,而且对临近频段也造成了干扰。这是为什么?

 

这是因为我们对滤波器过载了,你可以看到IQ星座图里的严重失真(变成方的了)。在相邻频段还出现了毛刺。显然这个设置是不对的,这可以作为错误的设置的例子。一般来说,在调整完大多数设置后,我们只要调整TXPAD。大多数设置已经在self_test.ini里设置好了,所以我们可以直接按照那个文件里的参数为基础。对于RX增益也是如此,我们还没改过TIA和PGA增益,但是大多数应用中最好别改。

 

滤波器

回到self_test.ini(重新加载文件,并在TX和CLK中点击Calculate和Tune按钮)。我们知道TX和RX中的第二级都是滤波器,改变它们会有什么影响?

 

TBB(发射部分滤波器设置)

我们现在把TX滤波器设置为52MHz,我们可以更改这个滤波器参数,这么修改会造成更差的结果。幸运的是,下面还有一个Tune按钮会自动计算滤波器系数。输入100MHz,然后点击Tune按钮,你会得到一个稍微小一点的IQ图,因为我们发出了更多的噪声(这里不理解?噪声多了不是应该更大么)。注意我们在这里使用的是TXLPFL滤波器。

 

 

 

我们还可以去掉LPFLAD_TBB和LPFS5_TBB的勾选,绕过这些滤波器。这样我们会看到最大的星座图。我们对临近频率造成了很大的干扰,因为我们没有滤波器了,无法过滤高阶谐波。你最好不要发射这种信号,因为它会干扰其它频段,无委会会来找你。最后记得重新把滤波器加入,并且把滤波器调整为52MHz。

 

RBB(接收部分滤波器设置)

这个部分对许多要接收信号的人来说很有用,因为要提高接收质量就要做滤波。问题在于我们的WCDMA波形是很干净的。比如,我们选择LPF_Bypass,即去掉10MHz的输入滤波器后可能看不到什么区别。

 

 

 

手动调整输入滤波器参数可能会比较容易理解,这些滤波器是RC滤波器。再次选上LPFL,并把电容值增加到1200,我们可以看到,波形严重失真了,因为我们把高频率的信息过滤掉了。虽然我们可以手动调整滤波器,但是我还是推荐你自动选择这些值,这就和TX里面一样。点击Tune按钮会还原原本的设置。

 

最后

现在我们已经对上一篇文章里说到的大多数模块都做过设置了。尽管还有许多地方我们没有说到,比如Bias设置,ADC/DAC模块,以及LMS7002M的数字部分。但是这些设置对于新用户来说不太重要,我们以后再说。

 

大多数情况下,我们的修改都把信号越改越差,但是知道原理后可以帮助我们以后改得更好。

 

下一篇文章我们会看一些应用例子,做一些优化,这样你以后在使用LimeSDR时会更有信心。

特性 • 4端口USB智能集线器具有: - 支持原生USB Type-C™的上行端口 - 支持原生USB Type-C的下行端口1和2 - 两个标准USB 2.0下行端口 - 内部集线器功能控制器,可实现: - USB转I2C/SPI/UART/I2S/GPIO桥接器端点支持 - USB转内部集线器寄存器的读写 • 经USB-IF认证——TID 1212。测试包括: - 支持BC1.2的USB3.1 Gen1集线器 - 使用UPD350 PD收发器的PD 2.0(TID 330000077) - 支持备用模式协商状态的布告栏端点器件 - 高级多端口系统策略管理 • 支持USB链路电源管理(Link Power Management, LPM) • 下行端口(DCP、 CDP和SDP)支持USB-IF电池 充电版本1.2 • 可通过OTP或SPI ROM获得增强型OEM配置选项 • 商业级和工业级温度支持 • 通过汽车AEC-Q100标准认证 目标应用 • 独立USB集线器 • 笔记本电脑扩展坞 • PC主板 • PC显示器扩展坞 • 多功能USB 3.1 Gen 1外设 • 车载集成主机和接线盒 主要优势 • 符合USB 3.1 Gen 1标准的5 Gbps、 480 Mbps、 12 Mbps和1.5 Mbps工作模式 - 5V耐压USB 2.0引脚 - 1.32V耐压USB 3.1 Gen 1引脚 - 集成端接电阻和上拉/下拉电阻 • 原生USB Type-C支持 - 集成Rp和Rd的Type-C CC引脚 - 在使能USB Type-C的端口上集成多路开关。在检测 到有效的Type-C连接前, USB 3.1 Gen 1 PHY一直 保持禁止状态,从而降低空闲功耗。 - 外部VCONN电源控制 • 所有端口均支持为最常见的电池供电设备充电 - 支持USB-IF电池充电版本1.2(DCP、 CDP和SDP) - Apple®便携式产品充电器仿真 - 中国YD/T 1591-2006充电器仿真 - 中国YD/T 1591-2009充电器仿真 - 欧盟通用移动充电器支持 - 支持其他便携式设备 • 片上单片机 - 管理I/O、 VBUS和其他信号 • 64 KB RAM, 256 KB ROM • 8 KB可一次性编程(One-Time-Programmable, OTP) ROM - 包括片上电荷泵 • 通过OTP ROM、 SPI ROM或SMBus编程配置 • FlexConnect - 可发送命令使上行端口和任何下行端口的角色反转 • 多主机端点反射器 - 通过CDC/NCM设备类实现的集成主机控制器端点反 射器,适合汽车应用 • USB桥接 - USB转I2C、 SPI、 UART、 I2S和GPIO • PortSwap - 可配置USB 2.0差分对信号交换 • PHYBoost - 用于恢复信号完整性的可编程USB 2.0收发器驱动 强度 • VariSense - 可编程USB 2.0接收器灵敏度 • 与Microsoft Windows® 10、 8、 7、 XP、 Apple OS X® 10.4+和Linux®集线器驱动程序兼容 • 专为低功耗运行和低散热而优化 • 封装:符合RoHS标准的100引脚VQFN(12 mm x 12 mm) * USB Type-C™和USB-C™是USB Implementers Forum的 商标。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值