你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

【赛灵思中国通讯56期】RF-DAC多频带发射器线性评估

发布者:jackzhang 时间:2015-07-02 16:38:32

  贝尔实验室的研究人员展示了如何采用赛灵思FPGA、内核和MATLAB为RF DAC的快速评估创建一个灵活平台

无线通信行业已经进入了一个全新的一体化时代;每个网络运营商都在寻求更紧凑、多频带基础架构解决方案。新兴射频类数据转换器——RF DAC和RF ADC——在架构上使创建紧凑的多频带收发器成为可能。但这些新行器件固有的非线性将成为这一发展趋势的绊脚石。
例如,频域中射频器件的非线性包括带内和带外两种情况。带内非线性是指TX频带内不需要的频率成分(frequency term),而带外非线性则是指TX频带外不需要的频率成分。
对于正在使用RF DAC对多频带发射器进行原型设计的系统工程师而言,确保关键组件符合标准线性要求是非常重要的。因此,在早期原型设计阶段,从根本上需要一个灵活的测试平台,以正确评估AR DAC在多频带应用中的非线性性能。
在爱尔兰贝尔实验室,我们已经创建了一个灵活的软硬件平台,可用于快速评估下一代无线系统潜在备选设备RF DAC。这个研发项目的三个关键因素分别是:赛灵思高性能FPGA、赛灵思IP 和 MATLAB?。
在开始这段工程设计传奇故事之前,我们还要强调几点。在设计中,我们试图尽量减少FPGA资源的占用,同时尽可能保持系统灵活,所以我们只需要集中精力实现必要的功能。为建立完整的测试系统,我们选用Analog Devices公司的最新RF-DAC评估板(AD9129和AD9739a)和赛灵思ML605评估板。ML605评估板配套提供Virtex?-6 XC6VLX240T-1FFG1156 FPGA器件,其包括快速切换I/O (频率高达710 MHz)和SERDES单元 (频率高达5 Gbps),用于连接RF DAC。
现在,让我们仔细看看如何使用赛灵思FPGA、IP和MATLAB创建这个简单而又功能强大的测试平台。

系统级要求与设计
该评估平台的主要目的是通过各种用户自定义的测试数据序列来激励RF DAC。
为此,我们设计了两个测试策略:连续波(CW)信号测试(xDDS)和宽频带信号测试(xRAM)。
多频音连续波(CW)测试一直是RF工程师对RF元件非线性进行特性描述的首选。遵循相同的测试理念,我们创建了一个基于直接数字综合器(DDS)的可调四音逻辑内核,实际上是采用一对双音信号在两个独立频带上激励RF DAC。通过独立调谐四音,我们可以评估RF DAC的线性性能 - 即频域内的互调位置与功率。
连续波(CW)信号测试是一种固有窄带操作。为进一步评估RF DAC的宽频带性能,我们需要通过并发多频、多模信号(如分别为2.1 GHz和2.6 GHz的双模UMTS和LTE信号)对其进行激发。为此,我们创建了一个基于片上BRAM阵列的数据存储内核;该内核有两个子组,可以为重复测试存储各自的双频用户数据。
图1显示了简化的系统级平台设计图。可以看到,我们采用简单直观的设计策略,构建尽量简单的平台并通过升级功能对其进行模块化。


图1 - 简化的系统级平台方框图
 


硬件设计:赛灵思 FPGA内核
图1中的FPGA部分列出了系统基本需要实现的逻辑单元。包括时钟分布单元、基于状态机的系统控制单元和基于DDS 内核的多音生成单元,以及嵌入在RAM周围的两个单元:基于BRAM的小型控制消息存储单元 (cRAM内核) 和基于BRAM阵列的用户数据存储单元 (dRAM内核)。还包括连接PC的UART串行接口和连接RF DAC的高速数据接口。
系统中基本上有两种类型的数据帧。带报头“FF01”的数据帧(cRAM帧)用来为DDSes和系统控制消息传输相位增量值。带报头“FF10”或“FF11” 的其他数据帧(dRAM帧)用来传输用户自定义的数据。状态帧“S1x”只处理带报头“FF01”的数据,用以更新相位增量值和执行控制指令。状态帧“S2x”和“S3x”分别为两个频带接收并存储用户自定义数据。
通过混频器,我们将多个频音组合在一起,并通过管道将这些频音输送至下一级。由于DDS内核输出是二进制补码格式,如果RF DAC需要另一种数据格式,如偏移二进制码,则需要格式转换单元。
一般来说,高性能片上BRAM通常是创建中小型用户存储系统的首选。例如,在这个平台上,我们利用赛灵思 模块存储生成器(Block Memory Generator)内核为两个频带创建两个独立的数据存储RAM。每个RAM的宽度为16位,深度为192k。
对于PC与FPGA之间的通信,我们创建了一个UART串行接口单元并将其设置为相对较低的速度,即921.6 kbps(相当于115.2字节/秒)。传输cRAM数据帧(18字节)和dRAM数据帧(约384k字节)分别需要约0.16毫秒和3.33秒时间。


图2 - 关键状态机详细设计图
 
器件厂商通常会以VHDL或Verilog格式提供芯片高速数据接口的实例设计。对于经验丰富的FPGA工程师而言,重利或定制参考设计并不是很难。例如,就我们系统的AD9739a和AD9129 RF DAC而言,Analog Devices公司会提供并行LVDS接口的参考设计。顺便提一下,如果无法从芯片厂商处获得实例设计,赛灵思有几款简单易用的高速接口芯片,如CPRI和JESD204B。
时钟是FPGA的生命脉搏。为确保多款时钟在FPGA Bank上正确分配,我们选用赛灵思时钟管理内核,为时钟的定义和指定提供一种简单的交互方式。
嵌入状态机周围的小型指令内核用作系统控制单元。如图2所示,在初始状态(S0)下,报头检测器单元工作,负责监测并过滤来自UART接收器的输入数据字节。数据字节被生成并封装在MATLAB数据帧内(如图3所示)。
占线信号用来连续锁存数据,直至看到数据序列末尾的最后停止位。控制消息——例如调用单个/多个DDS或用户数据序列——存储在cRAM数据帧的最后两个字节内。它们将在cRAM_rd_done信号上升沿处执行。
然后,我们举例说明四个采用赛灵思DDS内核的独立的频音生成单元,并将其配置为相位增量模式。特定频率的相位增量值在MATLAB上生成并通过cRAM数据帧下载到FPGA。
 
软件设计:MATLAB DSP功能与图像用户界面(GUI)
我们选择MATLAB作为软件主机,只是因为它在数字信号处理(DSP)性能方面具备诸多优势。另外,MATLAB还为图形用户界面(GUI)的布局提供一种称为GUIDE的简便易用的工具 。所以现在,对于这个项目,我们需要从MATLAB获得什么?
事实上,我们需要与低级DSP功能和数据流控制功能相关的用户界面。

图3 - 数据帧封装例解
 
在xRAM模式下,我们生成基带数据序列,将其标准化为满刻度(带符号的16位)并将其上变频为在MATLAB下所需的频率。通过UART将处理过的数据下载到dRAM之后,按下启动按钮,我们就可以调用宽频带信号测试。切记,要用FPGA侧所用相同协议参数在MATLAB配置UART串行接口。
最后,我们采用信号发生器——R&S SMU200A——来提供采样时钟,从而从逻辑上“开启”RF DAC。我们还将RF DAC输出连接至频谱分析仪,来评估频域内RF DAC的线性性能。
所需DSP功能为相位增量值计算器、基带数据序列发生器和数字上变频器。控制功能为数据帧封装器、UART接口控制器和系统状态指示器。

图4显示了我们为该平台创建的图像用户界面(GUI)。应首先定义RF DAC关键参数——采样率,然后才能选择xDDS模式或xRAM模式激励器件。然后,在各个子面板上,我们可以自定义参数,以调用相应MATLAB信号处理功能。在xDDS模式下,
可以通过简单方程式,phase_incr = fc*2nbits/fs,计算频音fc与采样率fs的相位增量值。其中,nbits表示DDS用来综合频率的二进制位数量。按下“启动”按钮,生成的相位增量值会转化成定点格式并封装在带不同报头和控制消息的2字节数据帧内(如图3所示),然后通过UART发动至cRAM单元并在FPGA内执行。
 


快速评估
在原型设计的早期阶段,关键RF组件的线性性能评估是一个关键问题,但通过我们的软硬件平台,在不影响性能的条件下可以快速进行这项评估。然后,可以添加RF功率放大器并使用所建议的平台来评估级联系统的线性。在确定非线性之后,可以执行一些数字预失真算法来消除级联系统不必要的非线性。
在FPGA设计中合理使用赛灵思 IP核可以大大缩短开发周期并提升数字系统的稳健性。展望未来,我们预计会将平台上的数据接口模块升级至JESD204B标准,以支持更高数据传输速率,从而满足多个同步RF DAC需求。同时,我们正在将FPGA主机从赛灵思 ML605迁移至Zynq?-7000全可编程SoC ZC706评估套件。Zynq SoC设计是在单台PC上创建无需任何外部DSP和控制功能的独立解决方案的一个很好的选择。
 

图4 - 图形用户界面截图
 
如需了解有关平台和数字预失真的更多信息,敬请发电子邮件至lei.guan@alcatel-lucent.com,与作者取得联系。 

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了