许多数字通讯系统,同时包含了高度整合的射频(RF),模拟/混合信号和数字讯号处理()功能,而这些功能因为含有射频载波,使得不适合采用传统的瞬态仿真。本文的目的是提供可解决以上问题的工具ADVance MS RF(简称ADMS RF)之介绍,并且使用范例来说明该工具在性能和实用性上所带来的好处。
无线通讯系统设计的新时代挑战
第2.5代和第3代蜂巢式行动电话、无线局域网络(WLAN)以及外围局域网络(PAN)的无线通讯系统,将能够从“单纯语音”转变为能提供“语音+网际网络”和“语音+多媒体”服务的无线终端机。因此为了语音和高频宽的多媒体,将要求更高的数据传输效率。为了达成此目标,无线标准正利用多样性的机制,例如多槽(multi-slots)、宽频信道分配、动态多层QAM、OFDM和M-ary PSK;而对于高数据传输率以及高容量数字的使用,将需要用改进且有效率的数字处理来补偿在射频/模拟传送接收机模块的代价和参数的要求。
对于可携式低成本、低功率传送接收机,市场竞争和不断增加的消费者需求迫使设计者规范接收器和传送机的路径架构,而此架构能方便整合所有传送接收机模块在单一硅基板上。此外,许多半导体供货商正想办法发展一般性的无线电系统,允许单一个的无线电被多个射频标准所使用。典型应用也许是一个有单一传送接收机的便携式电话,此传送接收机允许用户可使用无线和蜂窝状的通信网路。在层面上来看,这解决方案是让更高模块,如低放大器(LNA)、器和压控震荡器(VCOs)在低成本或者Bi制程上整合,而可以说整合全部模拟模块和数字化后端部分正是现在所流行的架构。
传送端和接收器
发送器负责把资料或者信息来源信号转变成一种形式,可通过一个物理信道或者媒介传播。在无线输送过程中,这种媒介或者信道通常是自由空间(free se),其它媒介还包括电缆和光纤。无论透过什么物理媒介传送信号,像是热或机械式的噪声、任意、时间轴上的色散现象以及此频道上来自其它用户的干扰,这些频道的特性使得传送的讯号恶化。通常传送端经由调制过程将信息或者消息信号对应到信道上。此调制通常藉由正弦载波的、或者频率上有系统的变化来实现,而此载波透过频道载送信息。当今的商业的通讯系统采用的载波信号在100 M到10GHz的范围内。基频信息频宽通常为几kHz到10MHz的范围内。
除调制之外,在成功的传送上,信息信号可能经历离散和连续时间类型的转换、数据压缩和信道、加密、交插换页(interleaving)、、频谱的转移和功率放大,使之能够克服信道的损坏(impairment)。除了功率放大,数字信号处理被广泛地用来执行前面所提到的功能,以改进性能、降低成本并且增加弹性。射频/中频混频器和I/Q用于调制和频谱转移,频率来源由压控震荡器和频率产生。数字模拟转换器(s)被用来将数字处理过的信息来源,转换为应用在调制、放大和传送出天线外的模拟信号。被动射频/中频表面声波()和陶瓷仍被广泛使用在传输电路上以达伪真信号的排斥和频谱的完整。
接收器的基础概念是在强大的频道外的干扰信号的情况下,放大一个弱信号而没有增加相当严重的噪声和失真。透过低噪声放大器以达到最好的噪声性能,此低噪声放大器有足够的增益去克服随后串接电路的噪声,且尽可能地接近天线端。接收器也必须提供足够的线性度和选择性,来排除不需要的信号和阻碍物。因为接收器必须工作在广阔的,所以增益控制须配合大部份使用的数字调制机制的线性要求,且被要求来防止饱和信道失真。典型接收器电路被用于数据通讯接收,包括一个天线,预先选择/影像排斥滤波器、低噪声放大器、降频混频器、合成本地震荡器、模拟基频放大器,滤波器和模拟数字转换器(ADCs)。而数字滤波,侦测,,译码等等的过程是由数字讯号处理器所完成。
仿真
相对于数字及许多模拟模块而言,由于射频电路规格极具挑战而且对制程变化、布局、封装和无源器件的容差非常敏感,无线电传送接收机里的射频/中频模块的设计需要多次反复。考虑到射频电路设法方法以及电路的要求,需要对电路噪声、交调(inter-modulation)、增益、隔离度、输入/输出匹配和非线性等进行反复的仿真。
在一些实例中,使用专属的仿真器来仿真个别模块是十分正常的,例如低噪声放大器、混频器或压控震荡器使用一个射频仿真器(如Mentor Graphs的o RF)来做一般的仿真;使用的的算法能够有效地处理多音调(multi-tone)的情况,像是在许多高频率共存而引起互调的情况。然而此类仿真器是为了层面仿真而设计的,虽然支持模拟电路的行为级模型,却没有提供对数字化的模型(VHDL或者Verilog)的支持,因此模型和仿真都必须是模拟的。
“基频”模块(模拟和数字的模块)可以采用Mentor Graphics 的ADVance MS(以下简称ADMS)的工具进行验证,这是一种支持多语言的混和讯号仿真器,支持SPICE、VHDL、Verilog、VHDL-AMS、Verilog-A甚至是C。
从理论到真实世界的电路与系统
在前面提及的讯号处理电路上,虽然理论上信号流主要是单一方向,但实际系统包含很多区域或全域式回路,在此使用数字讯号处理或控制逻辑来控制或校正一些射频的功能。比如低-中频(low-IF)接收器、LINC发送器、动态控制(透过数字化幅缘检测的偏压调制)、数字化IQ预先失真器...等等。
接收到的信号经常受到衰减(fading)的影响(在接收到的载波幅度上缓慢变化),因此使用自动增益控制来保持恒定的输出水平。一个标准的自动增益控制系统藉由可变增益放大器(VGA)来放大输入信号,其增益是控制信号的函数。信号输出包络线(envelope)被侦测、通过低通滤波,且与一个基准信号相比,利用相比后的差值来产生控制电压信号。一般来说我们常需要改变信号功率,所以在差分放大器之前使用对数放大器,在已给定的工作环境下,在发送端也会使用功率控制器以维持或调整输出水平。通常利用可变增益放大器或者直接调整的增益来达到这一目的。自动增益控制或功率控制中DSP被越来越多的采用,以改进性能且降低成本。
在真实生活中,尽管这些模块个体的本质不同,但彼此相互作用关联。宏观的来看,这些复杂相互作用的验证变得非常重要。
使用瞬时分析验证
对系统或者射频和基频的电路来说,做到有效率的仿真是一项艰难的挑战。为了达到合理的仿真速度,通常的方法是使用行为级的模型。这个层次有许多商业性解决办法存在,并建立在资料流同步或者不同步的引擎上,或者在基频建模上。没有一个解决方案能够在晶体管层面和VHDL/Verilog描述共存情况下达到一个满意的验证。
数字基频信息一般调制在2.4 GHz或5 GHz的射频讯号载波 (例如蓝芽或无线局域网络802.11a的环境)。要验证这样一个系统,如果使用瞬时分析,在取得并分析任何有意义的基频信息之前,需要执行大量的射频载波。这主要归因于射频载波频率和基带信息频率之间大的比值。
显然这就等同于需要很长的仿真时间,也会因输出档案的大小引起很多问题。处理几千兆字节的输出文件(当处理这些仿真时,通常会是这种情形)总是问题的来源。不仅浪费了磁盘空间,波形浏览器也必须能够处理巨大的档案,通常会使性能降低以致无法接受。
ADMS RF致力于那些射频组件不能从基频组件“分离”出来的电路或系统的仿真。基本上它使用ADMS cockpits(使用者界面、netlist架构、函式库管理...等等),但是它采用不同的算法,称作“调制的稳态”(modulated steady state),对于这类型电路调制稳态仿真比瞬时仿真更有效率。关键的射频模块能以SPICE(晶体管层面)或是Verilog-A描述,而数字处理模块能以VHDL或是Verilog 描述。ADMS RF使用与Eldo相同的器件模型,这意味着所有标准模型,例如Bsim3v3.x、Bsim4、MM9、M、VBIC或HICUM 都能被用来描述一个重要的且与数字讯号处理功能紧密相接的系统的射频行为。
数字自动增益控制(AGC)
在这采用的例子是一个自动增益控制系统,如(图一),采用带低频滤波的正交相差检测器,它的目标是保持输入射频信号的幅度相对稳定,以便能放宽对驱动DSP的模拟数字转换器的要求。该回路由下列部分组成?
? 差分对数射频混频器──两个独立的混频器被用于解调信号到I/Q信息。这些混频器采用晶体管级描述(使用来自UMC 0.25 射频制程),大约使用130个晶体管,器件模型为bsim3v3.2。
? 模拟处理──各式各样的模拟处理模块,例如低通滤波器,加法器等等,用来得到一个输入信号振幅的影像;并以Verilog-A描述这些模块。
? 数字控制处理──这个模块用VHDL来描述;实际上它包括模拟/数字转换器以及增益计算。此运作以数字方式执行。
《图一 自动增益控制回路摘要》
差分对数混频器
射频混频器为典型吉尔伯特(Gilbert)混频器,采用CMOS工艺,输出为。转换增益可由4位控制字编程控制,如(图二)。输出电流镜被4位所控制,他们的增益比以数学式:(1 +x)/(1-x)表示,这里x = b0.20 + b1.21 + b2.22 + b3.23 ,当x很小的时候,这数学式接近于指数式(ex)。为了验证晶体管级的混频器设计,多以Eldo RF进行大信号稳态仿真(SST),可以绘出转换增益(射频到中频)以控制字的函数。实际使用中,此混频器的可编程转换增益在G0-20dB到G0+20dB之间,G0是标称转换增益。然而,随控制字的增益的变化,仅在在+/-10dB范围内是线性的。
模拟处理
当输入的射频信号经由差分混频器解调后,系统会计算出一个信号来控制混频器的增益。这个信号正比于I/Q信息的模数(modulus)。I和Q的成分(来自混频器的输出)互不影响地被低通滤波、平方并且相加。这使得捕捉瞬时的输入信号功率不需要前后相位一致,因为Cos2θ(e)+ Sin2θ(e) = 1。对于一个GMSK输入信号,系统计算出得控制增益的信号应该是一个常数(理想而言,在处理的电路和频道中忽视所有非理想性)因为GMSK为一“常数包络线”(constant envelope)的调制机制。但其他的调制形式并不一定是这种情况。
《图二 差动对数混频器-转换增益对控制字组》
数字处理
强度信号(图一中的MAGF)被传给数字增益控制系统。此信号先由模拟转变到数字,然后与一内部参考基准(内部电流增益水平)相比较。数字控制模块工作原理非常简单。如果强度信号太低,此增益大小将增加一个单位。相对地,如果强度信号太高,此增益大小将降低一个单位。这比较发生在一个数字时钟内,其周期为几微秒,而在时钟周期中,增益大小保持不变。输入强度与内部的参考值(对应编码“7”,即0111为此例)做比较。
所有处理过程都以VHDL 描述。在VHDL语言里,很方便的描述输入信号为“real”数据类型。这使模拟对数字的转换是可行的。VDHL语言结构完全独立于仿真器和算法,任何VHDL模块都能被ADMS RF使用,当然对Verilog也是一样。4位总线输出信号驱动对数混频器。请注意,ADMS RF会自动嵌入适当的信号转换器(对于输入信号由电特性信号转到实数;对于输出由bit转换为电特性信号)。虽然算法很复杂,但自动转换器的嵌入使得非常容易去进行这种类型的仿真。在VHDL、Verilog 和SPICE/Verilog-A信号之间,不同类型信号的连结是允许的,正如ADMS一样
以ADMS RF仿真
ADMS RF的使用方法跟 ADMS一样。在命令?中,.TRAN 语法是被一个 .MODSST 语法所取代。使用调制稳态算法来取替瞬时算法?
param Tsymbol = 3.7u
sst fund1 = 1 G nharm1 = 5
modsst 0 100 * Tsymbol
调制稳态分析算法是一个混合时域和频域的算法。在调制稳态分析时,(模拟)信号以有限阶数的傅立叶级数表示,且带有时变系数。在每一个时间点,仿真器求出这些系数。但是,仿真器挑选时间点的间隔是根据频谱(比如基频信号)变化的比率,而不像瞬时分析取决于射频载波上的变化率。
使用简化的表达式,并且假设在频率“fund1”有一单一基频(载波),信号表示为?
S(t) = vr(out).h(0)
+ vr(out).h(1).cos(w.t) - vi(out).h(1).sin(w.t)
+ vr(out).h(2)cos(.w.t)- vi(out).h(2).sin(2.w.t)
+ vr(out).h(3).cos(3.w.t) - vi(out).h(3).sin(3.w.t)
+ ...
with w == 2.pi.fund1
与单纯的瞬时仿真相比,结果的显示是有点复杂。直流成分能以下指令显示?
.plot odsst vr(node).h (0)
在任何已知谐波(i)附近的时变频谱,可藉由以下指令显示?
.plot fmodsst vr(node).h(i) vi(node) .h(i)
例如,使用?
.plot fmodsst vr(node).h(1) vi(node) .h(1)
显示一数字调制信号的I(t)和Q(t)信息。
在调制稳态分析过程中,傅立叶展开式的系数全部为复数,这就是为什么它们须经由vr()、vi()、vm(),vp()或者vdb()函数取得。除 .modsst 和 .plot指令,其余netlist为标准ADMS 网表。在这篇例子中,顶层是一个SPICE网表,含有SPICE、Verilog-A和VHDL的子电路。
ADMS RF使用者界面
如(图三)所示,ADMS RF用户界面(UI)与ADMS用户界面相同,而ADMS本身也相似于ModelSim界面。上述是设计刚刚加载时的界面,架构(Structure)窗口(左边)显示电路的设计层次,并以不同的颜色对应其指出描述方式(红色:SPICE;绿色:VHDL;蓝色:Verilog -A)。在仿真之前,波形(Waveform)窗口是空的,使用者能从Net窗口里拖曳所想要的信号到波形窗口。
仿真执行370us,这代表100个GMSK信号的符元周期。对应于1GHz载波,这被翻译为37万个载波周期数。在瞬时仿真时,每个周期至少需要10个点来仿真以保持在合理的精度内,也就是说需要370万点,对用户来说浙江是一个梦魇。幸好ADMS RF提供另一种选择。
《图三 ADMS RF使用者界面》
仿真结果为了有效验证自动增益控制回路,输入信号(1GHz GMSK信号伴随一个随机bit流)藉由V(ATT)信号以人为方式衰减或者放大:衰减信号显示在(图四)中由上往下数的第3张图之仿真结果窗口里。当输入信号的幅度改变时,其变化由模拟处理模块检测,然后数字控制部分计算新的增益以补偿振幅的变化。显然,因为增益只能给予离散的值(在VHDL,数字控制模块输出4位控制字),所以补偿不会非常精确。
在图四中的第2和第5张图,显示了输入和输出I/Q信息。在第4张图,数字信号(B0、B1、B2、B3)显示为数字化(VHDL 标准逻辑)信号。在110us和260us,输入振幅改变了两次,每次变化之后,输出幅度先跟随输入,然后在很短的瞬时内响应后返回到它的额定大小,或者接近于该值。在该期间内,控制模块调整数字增益,使其这是自动增益控制回路所要求的工作模式。在(图五)中输入和输出的波形重叠的地方更清楚地显示出来。
《图四 仿真结果》
《图五 重叠的输入和输出波形》
由于混频器的电流镜上CMOS开关的突然开启或关闭,在输出波形上可以看到有glitch。设定bit到电特性信号转换器的参数,使控制信号(B0?B3)的过渡期发生在10纳秒内。的交叠引发了glitch。ADMS RF并不是一个纯行为级建模解决方案,在这个例子里,射频混频器是使用0.25射频CMOS工艺的晶体管级描述,所以能抓到每一个glitch。
与瞬时仿真比较
在SUN Ultra-5-10上,用ADMS RF验证此系统大约花5分钟。在相同的机器、相同的仿真下,如果使用瞬时分析,大约需要33个小时。因此仿真速度大约加快400倍,即有2到3个级数程度的提高。输出文件小于70 k,只计算大约700个时间点(瞬时分析则需要370万个点)。即使在每个时间点上工作量明显更重要时,总的速度提升也是非常显著。
这种回路需要非常多的仿真,以找到在数字模块里数字时钟周期与低通滤波器的数量,以及增益误差的容忍度...等等,之间最好的折衷点。所有这些参数直接影响了回路的速度和稳定度。由于每次仿真仅需5分钟,设计者可以尝试和验证多种组合达成最优化设计。得到优化的参数后,设计者还可以继续进行多种验证仿真,改变电压和温度、在混频器差分结构里引入一些不匹配、在输入的信号里引入增益的不平衡...等等,换句话说我们能在投片之前电路设计进行彻底验证。
结论
这篇论文介绍了ADMS RF在数字自动增益控制回路仿真验证中的使用。AGC系统高是一个射频电路和DSP模块高度整合的例子。对于这类电路验证仿真中遇到的问题,ADMS RF提供一个快速、有效且精简的解决方案。对于这个例子来说,采用ADMS RF仿真比标准(瞬态分析)仿真相比,速度能够加快400倍。(作者任职于Mentor Graphics)