善用快速原型建构平台 软体定义无线电开发轻松达阵

作者:Di Pu/Andrei Cozma/Tom Hill(Di Pu是ADI系统模型建构应用工程师;Andrei Cozma是ADI工程经理;Tom Hill是Xilinx系统发生器产品经理)
随著人们对通讯方式的需求呈指数式增长,方便且具有成本效益的方式修改无线电设备也随之成为一项重要的业务。基于这样的需求,软体定义无线电技术近年来已经获得广为采用,因为它带来了弹性、成本效益,以及驱使通讯领域往前迈进的力量。

SDR系统的目的是在软体和可编程逻辑中部署尽可能多的调变/解调和资料处理演算法,如此通讯系统就可以透过更新软体与可编程逻辑而轻易的重新设定组态,并且无需更改硬体平台。

随著系统单晶片元件(像是集CPU的多功能及FPGA处理能力于一体的Xilinx Zynq All Programmable SoC)的出现,设计人员终于能够将SDR系统的资料处理功能和其他处理任务纳入单个元件中。资料调变/解调演算法等处理密集型任务分流至元件的可编程逻辑,而资料解码和渲染、系统监控和诊断以及使用者介面等任务延缓至处理单元进行。

同时,无线系统的原型制作数十年来一直是个争论不休的话题,而最近几年才刚出现针对FPGA的完整设计流程--从模型创建到完整实现方案--这要归功于像MathWorks的MATLAB和Simulink等模型建构和模拟工具的革命。

无线系统的原型制作正在改变工程师和科学家工作的方式,它将设计任务从实验室和现场带到了桌面上。现在,工程师可以对整个无线系统(比如SDR系统)进行模型建构,从而可观察系统的表现,并在现场实际实现之前进行调节。这样做有很多好处,比如加快系统整合、减少对设备的依赖。此外,完成SDR系统的Simulink模型之后,C语言代码和HDL代码可自动生成,然后部署到Zynq SoC上,从而节省时间并避免手动编码错误。将系统模型连结到快速原型制作环境可进一步降低风险,因为后者允许SDR系统在实际条件下运作。

本文的第一部分将会探讨ADI/Xilinx SDR快速原型建构系统的能力与优点,以及其工具流程的简短描述。文中将示范ADI RF IC技术,以及参考设计硬体与软体如何能够以更少的设计技术让客户降低风险与缩短上市时间。

用于SDR的Zynq

当要执行资料处理、通讯和使用者介面等具有不同处理频宽要求和即时限制的任务组合时,须要用到高级SDR系统。为了实现这样的系统,所选的硬体平台必须强固且可扩展,同时还需为将来的系统改进和扩充创造条件。Xilinx Zynq-7000 All Programmable SoC满足这些要求,提供高性能处理系统以及可编程逻辑,如图1所示。可编程逻辑配上处理系统便具有并行处理能力、即时性能、快速运算能力及连接的多样性。

图1 Xilinx Zynq SoC方块图

Zynq SoC的处理系统包括一个双核ARM Cortex-A9处理器和一个NEON辅助处理器,以及多个用于加速软体执行的浮点扩展单元。为了完全发挥系统的能力,可以在双核ARM处理器上采用嵌入式Linux或即时操作系统。该处理器具有完全整合的特性,可在不配置可编程逻辑的情况下使用,这点对于软体发展人员来说很重要,他们可以与设计FPGA结构的硬体开发人员同时进行代码的开发工作。

在可编程逻辑方面,该元件拥有多达444,000个逻辑单元和2,200个DSP Slice,可提供巨大的处理频宽,允许Zynq设备应对各种充满挑战的讯号处理应用。5个高传输率的AMBA-4 AXI高速互连将可编程逻辑紧密地耦合到处理系统,提供相当于3,000以上引脚的有效频宽。

用于SDR的捷变宽频RF收发器

近年来,ADI公司将革命性的SDR产品推出市场,以支援不断变化的SDR要求和系统架构。在这方面,ADI最重要的产品包括AD9361/AD9364整合式RF捷变收发器。

AD9361(2×2)和AD9364(1×1)是用于SDR架构的高性能、高度整合型RF收发器IC,适合无线通讯基础设施、国防电子系统、RF测试设备和仪器,以及通用软体定义无线电平台等应用。

这些元件集RF前端与灵活的混合讯号基频部分为一体,整合频率合成器,为处理器或FPGA提供可配置数位介面,从而简化设计导入。这些晶片工作频率范围为70MHz至6GHz,涵盖大部分有授权和无授权频段,透过对AD9361和AD9364元件程式设计可改变取样速率、数位滤波器和抽取参数,使该晶片支援的通道频宽范围为低于200kHz至56MHz。图2中所示为AD9361晶片的方块图。

图2 AD9361方块图

为了协助客户缩短产品上市时间并减轻整体开发负担,ADI更进一步提供的SDR解决方案可用于具有无缝FPGA连接能力的完整生态系统中,为完整的无线电系统设计提供快速原型制作和开发环境。AD-FMCOMMSx-EBZ快速开发和原型制作板属于高速类比FMC模组,整合AD9361或AD9364捷变RF收发器IC或分离式讯号链,可无缝连接Xilinx FPGA开发平台生态系统。

这些板可完全透过软体定制,无需更改任何硬体,提供可供下载的Linux驱动程式和裸机软体驱动程式、电路图、电路板布局档和设计辅助参考材料,这些全部内容都可在ADI的Wiki知识库获取。

Zynq SDR快速原型建构平台

ADI提供了一个内含于FMCOMMSx平台的完整Vivado架构,其具有可以使用于原型建构以及部分最终量产系统的Linux与裸机软体基础架构。图3所示为用以支援FMCOMMSx电路板的基础架构。

图3 ADI HDL与软体基础架构

这个高阶图表说明了ADI参考设计在Xilinx Zynq SoC上是如何划分的。HDMI输出用在萤幕上显示Linux介面,而键盘与滑鼠则可以透过USB 2.0埠连结至系统。ARM Cortex-A9处理系统采用由ADI所提供的Ubuntu Linux。其中包括:与ADI公司FMCOMMS硬体介面所需的Linux IIO驱动程式,用于监测和控制的IIO Oscilloscope(示波器)使用者空间应用程式、支援即时资料采集和透过TCP控制系统的libiio伺服器,在远端电脑上运行的用户端,以及整合嵌入式编码器所生成C语言代码的可选用户应用程式,可用于控制器的Simulink模型。

软体基础架构

所有的ADI Linux驱动程式都是以Linux 工业I/O(IIO)次系统为基础,而这些驱动程式目前也都包含在所有主流Linux的核心当中。IIO Scope是一个由ADI所开发的开放原始码的Linux应用程式,运作于Xilinx Zynq中双工ARM Cortex-A9核心当中,能够显示连接到Xilinx Zynq平台的ADI FMC卡所撷取的即时资料。这些资料可以在时域中、频域中或以星座图的形式显示。支援不同的常见档案格式(像是逗号分隔数值或是.mat MATLAB资料档),储存所撷取到的资料以做为进一步分析之用。

IIO Scope提供图形化的使用者介面,用以修改或是读回ADI FMC卡的组态设定。Libiio伺服器允许透过传输控制协定(TCP)与运作于远端电脑上的客户端进行即时的资料蒐集与系统控制。伺服器以Linux运作于嵌入式目标并且以TCP管理目标与远端客户端之间的即时资料交换。这个函式库将硬体的低阶细节加以提取,并且提供可以使用于先进计画案简单但是完整的编程介面。它的调变架构、经过良好设计的API以及内建的网路能力让使用者可以开发出能够在系统中-不仅是IIO装置连结处,也包括了透过网路的远端连结处-运作的应用程式。最初只是锁定于Linux,目前则已经可以在Windows当中使用以及透过远端函式库后端的使用。以C语言撰写并获得LGPL的授权,其功能包含有C#、Python、以及MATLAB。

MathWorks IIO用户端可以作为系统物件整合到MATLAB和Simulink原生应用程式中。它设计用来配合连接FPGA/SoC平台(运行ADI Linux发布版)的乙太网进行资料交换,可让MATLAB或Simulink模型执行下列功能:

.发送资料流程至目标,并从目标接收资料流程
.控制目标的设置
.监控不同的目标参数

MATLAB和Simulink均提供IIO系统物件,具体取决于使用者从MATLAB脚本中对其进行调用,还是将其整合至MATLAB系统模组中。ADI提供针对FMCOMMS平台的Linux软体和HDL基础架构,配合MathWorks和Xilinx提供的工具后,便是进行SDR应用原型制作的绝佳环境,并且它还包含可随时投入生产的元件,这些元件可以集成至SDR系统—有助于缩短从概念到生产所需的时间并降低成本。

为了说明客户快速而轻松地掌握IIO系统物件,我们提供几个基于该介面的MATLAB和Simulink范例,比如信标讯框接收器、QPSK发射器和接收器,以及LTE发送器和接收器。在这些范例中,FMCOMMSx平台由IIO系统物件配置,并用作RF前端并无线发送或接收类比讯号。这些讯号通过IIO系统物件以资料流程的形式发送至目标,或从目标接收。所有其他讯号处理均在MATLAB或Simulink中执行。图4是信标帧接收器范例的萤幕截图,该图显示了IIO系统物件和其他Simulink模组之间的典型连接。

图4 讯号框架接收器范例的萤幕撷取

MathWorks对于Zynq的支援

MathWorks支持基于Zynq的SDR,具体表现在以下四个方面:

AD9361 Simulink模型

由于AD9361是一组整合式的RF收发器晶片,因此不太易于实现讯号探测与内部作业监测。基于此原因,MathWorks与ADI合作开发了一组AD9361的SimRF模型,用以模拟该晶片的运作状况,使客户能够明确的看到其内部究竟发生了什么事情,以及该晶片是如何在不同的测试条件下执行,这点在现实世界当中是很难以复制的。

SimRF提供了元件函式库以及模拟引擎,可以应用在使用等量基频或是电路包络组件(像是放大器、混频器、以及S参数建构组件等)所设计的RF系统上。它是一套对于建构AD9361 RF收发器之模型相当有用而且适当的工具。系统等级的AD9361捷变RF收发器模型(如图5中所示)精确复制了AD9361的功能,并且已经可以提供给使用者以做为MathWorks硬体支援的套件。

图5 AD9361捷变RF接收器的MathWorks SimRF模型

SimRF模型已经在实验室中以功率光谱测量加以验证。收发器在不同频率与功率位准下之杂讯以及非线性度的特性都已经过鑑定。而该模型的设计就是为了产生出相同的特性,借以在设计的过程当中去验证这些特性。

利用AD9361收发器SimRF模型,使用者可以进行下列的工作:

.预测RF缺陷对于测试讯号的冲击
.使用参考音频与LTE讯号
.产生或是导入测试向量并评估非线性度、杂讯、增益、以及相位失衡、频谱漏洩、和其他因为RF发射器与接收器所造成之缺陷所带来的影响。
.增加干扰讯号并评估其对于时间域或是频率域所造成的结果。

通讯与DSP系统工具箱的功能

MathWorks产品一如Communications System Toolbox、Signal Processing Toolbox、DSP System Toolbox与SimRF提供了工业标准的演算法则与apps,以做为系统分析、设计、以及调节SDR系统之用。这些工具都提供了建立高保真SDR模型的方法,可在进行物理部署前用来验证通讯系统的表现与性能。

Simulink针对Zynq的工作流程

MathWorks的MATLAB与Simulink是适合多重域模拟以及以模型为基础设计的环境,很适合模拟具有通讯演算法则的SDR系统。通讯演算法则调整增益、频率偏移、时序偏移、以及其他性能变数,通常是为了要使发射器与接收器系统间取得更好的同步化。 利用模拟的方法去评估通讯演算法则,对于在进行昂贵的硬体测试前事先判定SDR设计的适合性以及减少演算法则之开发时间与成本而言是一个极为有效的方法。图6描绘的是想要有效率的设计通讯演算法则的工作流程,就必须遵循下列这些步骤:

.利用以模型为基础的设计环境所提供的函式库建构精确的SDR模型。
.模拟系统行为以便验证系统是否会如预期的运作。
.生成适合即时测试与执行的C编码与HDL。
.使用原型建构硬体测试通讯演算法则。

图6 设计通讯演算法则的工作流程

在原型制作硬体上进行模拟和测试后,如果SDR系统的性能证明是令人满意的,那么在最终生产系统上实施与部署系统也将是安全的。

Simulink平台整合至Zynq SDR套件

一但SDR系统在模拟环境中借由像是MathWorks的Embedded Coder与HDL Coder等工具获得了完整的验证之后,使用者就可以利用Embedded Coder产生C编码以及利用HDL Coder产生VHDL或是Verilog,接著将编码部署到原型建构硬体中做为测试之用,以及后续部署至最终的量产系统中。

在这点上,软体与硬体执行方案的需求是具有特定性的,例如固定点与时序行为。自动化的编码生成有助于减少从概念移转至实际系统执行方案所需要的时间,并且避免手动编码错误的发生,确保实际的SDR执行方案与模型匹配。图7中描绘出在Simulink建构SDR系统之模型,并将其转换至以Xilinx Zynq SoC为基础之最终量产系统的真实世界之步骤的程序。

图7 从模拟到量产的路径

第一步就是在Simulink中建构模型与模拟SDR系统。在此阶段,通讯演算法则会被分割至即将于软体中执行的区块组件当中,而这些区块组件则将会在可编程逻辑当中执行。一但分割与模拟完成,SDR模型就会透过Embedded Coder与HDL Coder转换成C编码与HDL。以Zynq为基础的原型建构系统被用来验证通讯演算法则的性能,并且在移转至实际的量产阶段前协助进一步的调整SDR模型,自动产生的C编码与HDL都会被整合至复杂的量产系统架构当中。

这个工作流程可以确保当通讯演算法则进入量产阶段时已经获得完整的验证与测试,并且在系统强固性方面提供了充分的可信度。Zynq针对嵌入式编码器和HDL编码器推出的硬体支援包提供整合式硬体/软体设计、模拟和验证框架,将基于模型的设计集成至工作流程中,简化了Zynq平台的程式设计,并实现了快速设计反覆运算周期,同时有助于尽早检测和纠正设计以及规格错误。

本文说明现代SDR系统的要求和趋势,以及为满足这些要求和帮助实现更高性能SDR解决方案而由MathWorks、Xilinx和ADI带给市场的工具和系统。透过将MathWorks基于模型的设计和自动生成代码工具与Xilinx Zynq SoC和ADI整合型RF收发器结合,SDR系统设计、验证、测试和实现可以比以前更有效率,进而提高无线电系统性能并缩短产品上市时间。

来源:新通迅