首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

RF-DAC多频带发射器线性评估-1

RF-DAC多频带发射器线性评估-1

无线通信行业已经进入了一个全新的一体化时代;每个网络运营商都在寻求更紧凑、多频带基础架构解决方案。新兴射频类数据转换器——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的高速数据接口。
  时钟是FPGA的生命脉搏。为确保多款时钟在FPGA Bank上正确分配,我们选用赛灵思时钟管理内核,为时钟的定义和指定提供一种简单的交互方式。
  嵌入状态机周围的小型指令内核用作系统控制单元。如图2所示,在初始状态(S0)下,报头检测器单元工作,负责监测并过滤来自UART接收器的输入数据字节。数据字节被生成并封装在MATLAB数据帧内(如图3所示)。

  图2 - 关键状态机详细设计图

  图3 - 数据帧封装例解
  然后,我们举例说明四个采用赛灵思DDS内核的独立的频音生成单元,并将其配置为相位增量模式。特定频率的相位增量值在MATLAB上生成并通过cRAM数据帧下载到FPGA。

  系统中基本上有两种类型的数据帧。带报头“FF01”的数据帧(cRAM帧)用来为DDSes和系统控制消息传输相位增量值。带报头“FF10”或“FF11” 的其他数据帧(dRAM帧)用来传输用户自定义的数据。状态帧“S1x”只处理带报头“FF01”的数据,用以更新相位增量值和执行控制指令。状态帧“S2x”和“S3x”分别为两个频带接收并存储用户自定义数据。占线信号用来连续锁存数据,直至看到数据序列末尾的最后停止位。控制消息——例如调用单个/多个DDS或用户数据序列——存储在cRAM数据帧的最后两个字节内。它们将在cRAM_rd_done信号上升沿处执行。
返回列表