中文 英语
系统与设计
的意见

开发一个特别提款权实时系统

实现软件定义无线电通过集成工具像GNU无线电与真正的FPGA硬件和设计和验证工具。

随着电信技术的发展有一个持续的推动高性能无线电通信系统的发展。进化的一部分涉及到软件功能实现组件,传统上是在硬件中实现的。

软件定义无线电(SDR)是一个典型的例子。大量的信号处理已经交给通用处理器,为新的机遇打开一扇门高质量的信号处理系统。

这篇文章提出了一个系统实现数据传输的例子一个模拟通道与QPSK调制。Aldec EDA工具和一个Aldec他FPGA板被用来使开发的实时数字信号处理应用程序加上一个GNU无线工具包。

下面描述的项目的主要目标是在一个模拟音频通道传输数据。

为什么开发涉及额外的工具?

的最快和最容易的方法设计一个数字信号处理应用程序是使用GNU电台等专用工具。它是一个功能强大的库的系统级设计工具处理模块。所有模块可以很容易地结合使用图形方块图编辑器信号处理应用程序。

GNU电台是一个框架,开发实时信号处理应用程序特别提款权或其他类似通用CPU上运行的解决方案。听起来像我们需要的一切。为什么我们需要更多,你可能想知道吗?

实现高数据率通信系统中最重要的目标之一。然而,CPU可以斗争,因为高的数据量和计算量在数字信号处理算法。

所以我们的系统平台最适合什么?答案:FPGA。

一个FPGA提供高性能、支持大规模并行性,是一种低功率设备和可重构。这意味着您可以开发实时应用程序在一个FPGA和享受高性能。

现在你可能会想:好吧,那么我们为什么不使用FPGA呢?

设计针对FPGA不是那么简单,因为它是GNU收音机。GNU电台的明显的好处是,它有很多预定义模块实现整个应用程序所需的特别提款权。您可以构建整个系统不必知道特定的组件是如何工作的。这意味着您可以专注于顶层功能你想发展。

建立一个特别提款权在一个FPGA更具挑战性,因为每个元素需要被理解和设计使用HDL语言(通常是白手起家)。

此外,如果你有你的一个组件设计的——甚至是一个更大系统的一部分,想要测试它,然后验证需要创建一个适当的HDL仿真环境。这不是一个轻松的任务,可能需要重构仅可在许多组件工具如GNU收音机。

此外,也有特别提款权系统的组件没有关键时机要求通用处理器的最优平台。这样的组件应该保持在GNU广播应用程序,以避免耗时和昂贵的重新实现FPGA。

如何应对这一挑战?

值得庆幸的是,它相对容易接口GNU无线电与实际硬件和与其他设计和验证工具。

为了证明这一点,GNU广播是结合Aldec Riviera-PRO模拟器和Aldec他FPGA板。

集成模拟器允许我们co-simulate设计部分在HDL语言实现,而其余部分的设计仍运行在GNU收音机。现场两个工具之间建立通信通道,和他们能够即时交换数据。与他类似的集成做了FPGA板。

他的董事会是一个HES-XCVU9P-ZU7EV。它他Proto-AXI接口与其他应用程序的集成,由C / c++ API集成与软件应用程序和一个AXI界面与硬件组件的集成。Aldec他板很容易结合GNU广播以及各种USRPs(通用软件无线电外设)经常使用GNU收音机。

总之,他Proto-AXI使GNU电台之间的集成框架和他FPGA板或高密度脂蛋白模拟器,为设计原型创造了完美的环境。


图1:Aldec环境为设计原型,将高密度脂蛋白模拟器,特别提款权工具包和FPGA板。

如何开发我的特别提款权系统最有效?

正如前面提到的,最好的办法就是分配任务到CPU处理器和FPGA。这样一个系统的结构如图1所示。运行在主机上的应用程序的系统由工作站。这样的应用程序开发与GNU广播软件开发工具包。所有的时间关键模块在FPGA中实现。

FPGA与adc和dac接口模拟广播频道。音频通道(即不是RF)被选为我们的项目,以免造成干扰与当地无线电通信系统。

的所有元素在图2中的浅蓝色块代表USRP硬件组件创建。


图2:USRP特别提款权系统。

但是我们如何设计并验证这样一个复杂的系统软件和硬件之间的分区?

这就是Aldec与集成的解决方案是在- HDL的模拟器,FPGA董事会和GNU收音机。工具提供了一个高效、健壮的环境为设计原型,以及其他功能,使FPGA和GNU电台之间的通信软件开发工具包。

特别提款权的应用程序

我们开始创建我们的特别提款权系统,项目的主要目标在模拟音频传输通道与QPSK调制。

项目中使用的工具是:

系统的框图如图3所示。DAC的输出被反馈到ADC的输入,使验证,即闭环测试传输和接收的数据应该匹配。

您还可以看到在图3中特别提款权系统的功能是如何分区的软件和FPGA硬件之间。


图3:项目的简化框图。

QPSK调制器和解调器科斯塔斯锁相环和DAC / ADC驱动程序放置在FPGA。

同时,GNU广播应用程序准备的数据传输开始读取数据文件,框架的数据和执行星座调制。数据被送到他ProtoAXI FPGA执行QPSK调制的地方。

FPGA驱动DAC转换并发送模拟信号传输通道。FPGA接收来自ADC样品相同。

科斯塔斯锁相回路生成一个载波频率同步与原始载波调制期间使用。载波恢复的质量和正确性的相位解调接收信号至关重要。

收到的QPSK解调数据进一步处理的软件应用程序。GNU广播应用程序执行符号同步,信道均衡,正交相移编码解码、星座和deframing以及接收到的数据写入一个文件。

使容易GNU广播和Aldec的软件和硬件之间的通信,自定义组件被添加到GNU电台库。要做到这一点,你只需要拖拽的组件在GNU广播,使沟通Aldec Riviera-PRO模拟器或Aldec他FPGA板。

组件需要一些参数配置,有点为FPGA配置文件或路径模拟器正常工作。同样,在硬件的接口被包裹,从阿喜AXI流转换。AXI流接口更容易使用,更适合的样品。

应用程序的性能

运行程序,我们只有GNU广播,指定文件的位置转移,并按execute按钮。至于结果?的主要目标是实现。我们特别提款权通过音频通道传输文件,没有一点错误。

波形如图4和5所示,这里值得萎靡不振的,这是使用GNU软件无线电的另一个优点;实时信号的可视化。


图4:QPSK信号波形的示波器。


图5:GNU无线电信号实时可视化。

规格:

  • QPSK调制
  • 16赫兹的载体
  • 128千赫采样率
  • 每个符号32个样本

注意:频率参数受限于音频信道带宽。

未来的工作

我的特别提款权项目正在进行。我只是想分享,通过这个博客,伟大的结果。

接下来,我想大大提高数据传输的性能。这将通过取代QAM QPSK的调制方法,在FPGA实现连续元素从GNU电台(符号同步、信道均衡等),并使更多的使用adc和dac他子板。



留下一个回复


(注意:这个名字会显示公开)

Baidu