标题:
RF-DAC多频带发射器线性评估
[打印本页]
作者:
苹果也疯狂
时间:
2015-8-31 22:23
标题:
RF-DAC多频带发射器线性评估
无线通信行业已经进入了一个全新的一体化时代;每个网络运营商都在寻求更紧凑、多频带基础架构解决方案。新兴射频类数据转换器——RF DAC 和RF ADC —— 在架构上使创建紧凑的多频带收发器成为可能。但这些新兴器件固有的非线性将成为这一发展趋势的绊脚石。
例如,频域中射频器件的非线性包括带内和带外两种情况。带内非线性是指TX 频带内不需要的频率成分(frequency term),而带外非线性则是指TX 频带外不需要的频率成分。
对于正在使用RF DAC对多频带发射器进行原型设计的系统工程师而言,确保关键组件符合标准线性要求是非常重要的。因此,在早期原型设计阶段,从根本上需要一个灵活的测试平台,以正确评估AR DAC 在多频带应用中的非线性性能。
在爱尔兰贝尔实验室,我们已经创建了一个灵活的软硬件平台,可用于快速评估下一代无线系统潜在备选设备RF DAC。这个研发项目的三个关键因素分别是:赛灵思高性能FPGA、赛灵思IP 和MATLAB?。
在 开始这段工程设计传奇故事之前,我们还要强调几点。在设计中,我们试图尽量减少FPGA 资源的占用,同时尽可能保持系统灵活,所以我们只需要集中精力实现必要的功能。为建立完整的测试系统,我们选用ADI 公司的最新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的高速数据接口。
时钟是FPGA的生命脉搏。为确保多款时钟在FPGA Bank上正确分配,我们选用赛灵思时钟管理内核,为时钟的定义和指定提供一种简单的交互方式。
嵌入状态机周围的小型指令内核用作系统控制单元。如图2所示,在初始状态(S0)下,报头检测器单元工作,负责监测并过滤来自UART接收器的输入数据字节。数据字节被生成并封装在MATLAB数据帧内(如图3所示)。
图2-关键状态机详细设计图
图3-数据帧封装例解
系统中基本上有两种类型的数据帧。带报头“FF01”的数据帧(cRAM帧)用来为DDSes 和系统控制消息传输相位增量值。带报头“FF10”或“FF11” 的其他数据帧(dRAM 帧)用来传输用户自定义的数据。状态帧“S1x”只处理带报头“FF01”的数据,用以更新相位增量值和执行控制指令。状态帧“S2x”和“S3x”分别 为两个频带接收并存储用户自定义数据。占线信号用来连续锁存数据,直至看到数据序列末尾的最后停止位。控制消息—— 例如调用单个/ 多个DDS 或用户数据序列—— 存储在cRAM 数据帧的最后两个字节内。它们将在cRAM_rd_done 信号上升沿处执行。
然后,我们举例说明 四个采用赛灵思DDS 内核的独立的频音生成单元,并将其配置为相位增量模式。特定频率的相位增量值在MATLAB上生成并通过cRAM 数据帧下载到FPGA。通过混频器,我们将多个频音组合在一起,并通过管道将这些频音输送至下一级。由于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 秒时间。
器件 厂商通常会以VHDL 或Verilog 格式提供芯片高速数据接口的实例设计。对于经验丰富的FPGA工程师而言,复用或定制参考设计并不是很难。例如,就我们系统的AD9739a 和AD9129 RF DAC 而言,ADI 公司会提供并行LVDS 接口的参考设计。顺便提一下,如果无法从芯片厂商处获得实例设计,赛灵思有几款简单易用的高速接口芯片,如CPRI和JESD204B。
软件设计:MATLAB DSP
功能与图像用户界面(GUI
)
我们选择MATLAB 作为软件主机,只是因为它在数字信号处理(DSP)性能方面具备诸多优势。另外,MATLAB 还为图形用户界面(GUI)的布局提供一种称为GUIDE 的简便易用的工具 。所以现在,对于这个项目,我们需要从MATLAB 获得什么?
事实上,我们需要与低级DSP功能和数据流控制功能相关的用户界面。所需DSP 功能为相位增量值计算器、基带数据序列发生器和数字上变频器。控制功能为数据帧封装器、UART 接口控制器和系统状态指示器。
图4 - 图形用户界面截图
图 4 显示了我们为该平台创建的图像用户界面(GUI)。应首先定义RF DAC 关键参数—— 采样率,然后才能选择xDDS 模式或xRAM 模式激励器件。然后,在各个子面板上,我们可以自定义参数,以调用相应MATLAB 信号处理功能。在xDDS 模式下,可以通过简单方程式,phase_incr = fc*2nbits/fs,计算频音fc 与采样率fs 的相位增量值。其中,nbits 表示DDS 用来综合频率的二进制位数量。按下“启动”按钮,生成的相位增量值会转化成定点格式并封装在带不同报头和控制消息的2 字节数据帧内(如图3 所示),然后通过UART 发动至cRAM 单元并在FPGA 内执行。
在xRAM 模式下,我们生成基带数据序列,将其标准化为满刻度(带符号的16 位)并将其上变频为在MATLAB 下所需的频率。通过UART将处理过的数据下载到dRAM 之后,按下启动按钮,我们就可以调用宽频带信号测试。切记,要用FPGA 侧所用相同协议参数在MATLAB 配置UART 串行接口。
最后,我们采用信号发生器——R&S SMU200A —— 来提供采样时钟,从而从逻辑上“开启”RF DAC。我们还将RF DAC 输出连接至频谱分析仪,来评估频域内RF DAC的线性性能。
快速评估
在 原型设计的早期阶段,关键RF 组件的线性性能评估是一个关键问题,但通过我们的软硬件平台,在不影响性能的条件下可以快速进行这项评估。然后,可以添加RF 功率放大器并使用所建议的平台来评估级联系统的线性。在确定非线性之后,可以执行一些数字预失真算法来消除级联系统不必要的非线性。
在FPGA 设计中合理使用赛灵思IP 核可以大大缩短开发周期并提升数字系统的稳健性。展望未来,我们预计会将平台上的数据接口模块升级至JESD204B 标准,以支持更高数据传输速率,从而满足多个同步RF DAC 需求。同时,我们正在将FPGA主机从赛灵思ML605 迁移至Zynq®-7000All Programmable SoC ZC706 评估套件。Zynq SoC 设计是在单台PC上创建无需任何外部DSP 和控制功能的独立解决方案的一个很好的选择。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0