基于FPGA的全数字上变频系统设计
2009-06-23
作者:于 帅,刘志军,孔德超
摘 要: 介绍一种利用新器件特性实现全数字上变频的方法,包括射频频率范围内从基带信号的插值滤波器的设计、载波信号的产生,到针对射频信号高采样率的并行处理方法以及与数模转换器件的接口设计。与传统模拟方案相比,本设计具有更佳的性能、更低的成本和更好的灵活性,可广泛用于电缆调制解调器系统。
关键词: 多相滤波;直接数字频率合成;输出并串转换器
传统的调制方式包括模拟调制和数字调制,模拟调制中的基带信号和载波都是模拟信号。随着软件无线电技术理论的发展以及大规模集成电路的广泛应用,原来的模拟通信系统的基带处理部分采用数字电路逐渐数字化、软件化,这样就可通过可编程器件的可编程性对工作频率、系统带宽、调制方式、信源编码等进行编程控制,实现不同的通信功能系统,灵活性大为增强[1]。然而,根据奈奎斯特抽样理论,要对通信系统的射频部分进行数字化处理,要求数字信号的采样频率至少是模拟射频信号最高频率的2倍以上,由于以往数字处理器件以及DA转换器件的处理速度的限制,传统通信系统的基带信号为数字信号,载波仍然是模拟载波。
近期,Xilinx公司发布了Virtex5系列FPGA,借助于该FPGA拥有的用于实现高性能DSP的550 MHz DSP48E slice以及实现终级并行连接功能的1.25 Gb/s SelectIO 技术,可以直接实现数字射频信号的调制,Maxim公司也发布了采样率高达4.3 GS/s的DA转换器MAX5881,可以从50 MHz~1 000 MHz直接进行模拟射频信号合成。本文介绍了如何使用Virtex5系列FPGA进行数字射频信号调制以及通过MAX5881输出模拟射频信号的“全数字”上变频技术。之所以称为“全数字”,是因为其基带信号和载波全部都是时间离散的信号,完成调制的器件也是数字器件。
1 系统总体结构设计
按照通信调制基本理论,上变频需要将调制好的信号从基带频率搬移到射频频率,对于基带信号,其带宽一般较窄,因此在很多应用场合中都是根据Nyquist采样定理,再结合工程实际,采用2.5~4倍的基带信号最高频率进行采样。而作为载波的DDS输出波形,其频率相对较高。如果用基带信号对载波进行正交调制,即是数字信号的相乘,要求基带和载波具有相同的数据速率。所以,在进行正交调制之前必须对基带数字信号进行插值滤波,提高其数据速率。提高基带信号的数据速率有两种途径:一种是简单的数据保持方法;另一种是严格的插值滤波法。简单的数据保持法是将序列的每一个采样点做简单的保持(或重复采样)直到下一个采样点到来。这种近似的处理办法相当简单,但效果不佳,只适合于数字调制方式或基带信号带宽很窄、对信号精度要求不高的场合。本设计采用严格的插值滤波,先经过零值内插,然后再滤波得到。信号从基带频率插值到4 GHz,插值倍数比较大,故采用多相滤波结构的FIR滤波器实现。
经过插值后的数据与DDS产生的载波频率相乘,乘法器使用Virtex5系列FPGA内的高性能DSP模块实现,该模块是FPGA内部的硬件模块,可运行在550 MHz。为了保证信号的精度同时减少资源的使用,基带信号用12位有符号数表示,载波信号用10位无符号数表示,二者相乘后为22位有符号数。由于MAX5881为12位输入精度,截取22位有符号数的高12位作为FPGA的输出。
2 FPGA与MAX5881的接口设计
MAX5881是Maxim推出的首款12位、4.3 GS/s数模转换器,器件提供出色的杂散、噪声和邻道性能。MAX5881的输出刷新速率高达4.3GS/s,其数据接口的输入速率也需要比传统数模转换器件高。针对这种高带宽的数据接口,设计了如图1所示的FPGA与DAC的数据接口[2]。
MAX5881在DDR模式下工作时钟速率高达2.15 GHz,有独立的模拟和数字时钟,数据接口的时钟由MAX5881输出,用于简化和FPGA的接口。MAX5881输出的数据时钟DATACLKP/DATACLKN是由CLKP/CLKN引脚上的高精度模拟时钟源分频产生的,因而时钟周期的抖动非常小,适合作为FPGA的工作时钟。
为了保证FPGA生成的数据传输到MAX5881接口端与CLKP/CLKN的相位对齐关系,采用了“系统同步化”设计。这一设计的过程是将时钟管理单元(DCM)的CLK0从芯片内部经过一个OSERDES输出到电路板,然后再将时钟作为反馈时钟送回DCM。PCB板上的时钟反馈路径长度等于从FPGA到MAX5881的数据路径长度减去DATACLK路径的长度,这就保证了时钟反馈路径产生的延时等于FPGA到MAX5881的数据传输路径延时减去MAX5881的DATACLK输出到FPGA的延时,因而由DCM提供的延时恰好补偿FPGA的数据与时钟路径延时。此时到达MAX5881的数据变化发生在DATACLK的上升沿与下降沿。为了保证MAX5881的建立与保持时间要求,还要对数据与DATACLK之间的相位关系进行微调。这个附加的延时可以通过增长反馈路径的长度或者在反馈路径上加入一个FPGA ODELAY模块来实现。
MAX5881包括四个12位复用低压差分信号(LVDS)输入端口,每个端口以双倍数据速率(DDR)或四倍数据速率(QDR)模式工作在1 075 MHz。该器件接受1/2 DAC刷新速率的时钟,在时钟上升沿和下降沿均触发转换。输入数据速率为1/4 DAC刷新速率或1/2时钟速率。将MAX5881的CLKDIV引脚置为低电平并将FPGA的OSERDES配置为DDR模式,此时,MAX5881输出DATACLKP/DATACLKN的频率等于其输入引脚CLKP/CLKN频率的1/4。对应MAX5881的采样频率,CLKP/CLKN的频率为2 GHz,DATACLKP/DATACLKN的频率为500 MHz。这个500 MHz的时钟信号驱动FPGA的OSERDES模块。由于OSERDES模块工作在DDR模式,在DATACLKP/DATACLKN的上升沿与下降沿都有数据输出,因此FPGA输出的数据速率为1 GHz。由于FPGA内部逻辑仍然不能直接产生1 GHz的数据,因此FPGA使用了并行处理方式,首先生成4路250 MHz的数据,然后通过OSERDES模块串行输出1 GHz的数据。采用这种方式降低了FPGA的时序要求,系统运行更加稳定。
3 数字射频信号上变频
3.1 多相滤波器结构
本设计中,假定被调制信号的采样频率为250 MHz,需要进行16倍插值才能达到4 GHz的采样率。考虑到速度与资源的要求,采用了两级4倍插值滤波器级联的方式,每一级都采用了多相滤波的方式来实现。
传统的4倍插值滤波方式是将每两个原始数据中间插入3个0,设原始数据序列为[a,b,c,d…],则4倍插值后的序列[x1,x2,x3,x4…]=[a,0,0,0,b,0,0,0,c,0,0,0,d,0,0,0…]。本设计中250 MHz的数据经过插入3个0值后,数据速率已经达到1 GHz,用x序列表示输入信号,c序列表示抽头系数, y表示输出信号。则可以直观地发现,输入序列x中有3/4的数据是0,这些数据对FIR滤波器的乘法器毫无意义,因此将滤波器的抽头系数分为4组。图2给出了第一个子滤波器的抽头系数的计算流程。从图中可以看出,该组抽头系数如同一把梳子,计算得到输出yn,而yn+1,yn+2,yn+3则由其他三组抽头系数计算得到。第一个子滤波器从第一个输入开始计算,第二个子滤波器从第二个输入开始计算,依此类推。当第一个子滤波器的四组抽头系数都计算完一遍后,各组抽头系数向右移一个单元格,计算得到输出yn+4,yn+5,yn+6,yn+7,依此类推。每一组子滤波器独立工作在250 MHz,四组子滤波器输出数据组合成1 GHz,降低了每个子滤波器的工作频率。
3.2 滤波器参数计算
多相滤波器尽管结构不同于普通FIR插值滤波器,但原理与普通的FIR滤波器等效,可以按照传统的滤波器参数设计方法计算多相滤波器的参数。对于4倍插值的多相滤波器,由于滤波器的抽头系数必须分配到4组子滤波器中,因此滤波器的抽头系数必须是4的整数倍。设计了归一化通带截止频率0.2、阻带起始频率0.4的40阶FIR滤波器,使用FDATool计算了抽头系数,幅频特性如图3所示,并对该滤波器系数使用Matlab进行了仿真,仿真图形如图4所示。
3.3 直接频率合成正弦载波技术
直接数字频率合成技术(DDS)具有较高的频率分辨率,可实现快速的频率切换且在频率改变时能够保持相位的连续,通过FPGA很容易实现频率、相位和幅度的控制。因此,DDS的应用越来越广泛,在数字化的调制解调模块中,DDS取代了VCO(模拟的压控振荡器)而被大量采用。
DDS的基本原理是通过一个可控的相位累加器的输出作为一个ROM查找表的地址输入,根据ROM查找表存储的数据输出数字正弦波形。相位累加器的频率控制字k根据输出模拟频率来计算[3]。本设计中MAX5881的刷新速率为4.0 GS/s,为了保证输出正弦波的质量,一个周期内最少应该有2.5个取样点,据此设定DDS输出正弦波频率最大1.6 GHz,MAX5881最小输出频率为50 MHz,因此可输出射频信号频率范围为50 MHz~1.6 GHz。
本设计中,调制信号是16路250 MHz的数据,正弦载波信号相应地为16路250 MHz数据,根据设计要求综合考虑后,为了获得优秀的波形和尽可能大的频率范围,对幅度为1 024的正弦波的一个周期进行4 096采样,对应12位地址信号,用Matlab软件计算得到每一点对应的幅度值,为避免波形数据出现负值,对幅度值平移处理后量化成10位二进制数据存放在ROM中。在250 MHz时钟的每个周期,需要从ROM查找表中连续读出16个相位连续的值,每次相位累加的值,Fout为输出频率,Fclk是基准周期的16倍4 GHz,N为ROM表的深度,输出波形的频率分辨率。
3.4 输出并串转换技术
经过多相插值滤波后的调制频率与DDS输出的正弦载波相乘后,基带信号频率搬移到相应的射频频段,这时的信号是16路并行信号,需要经过FPGA的输出并串转换器(OSERDES)串行化后输出4路信号,最后按照MAX5881的时序要求从FPGA的I/O口输出。
Virtex-5 OSERDES 是专用的并串转换器,具有专门用来帮助实现高速源同步接口的特定时钟控制和逻辑资源。OSERDES 使用CLK和CLKDIV两个时钟进行数据速率转换。CLK是高速串行时钟,CLKDIV是分频并行时钟。CLK和CLKDIV由DCM保证相位对齐。一个 OSERDES 模块中的数据并串转换器接收来自内部资源的四位并行数据,将数据串行化,然后通过 OQ 输出将数据送至IOB。并行数据串行化是按照从数据输入引脚的最低位到最高的顺序进行的(即D1输入引脚上的数据传输到OQ引脚的首位)。本设计是在双倍数据速率 DDR模式下使用数据并串转换器,CLK频率为500 MHz,CLKDIV频率为250 MHz,输出串行数据速率为1GHz[4]。
本设计主要应用了Virtex5系列FPGA新的高性能DSP模块、高速SelectIO资源,结合MAX5881高达4.3 GS/s的数据分辨率,实现了由基带信号到50 MHz~1.6 GHz频率范围内射频信号的上变频,解决了传统调制方法的上变频部分无法采用数字方式实现的难题。本设计极大地简化了RF模块的设计,省去了传统模拟方案中很多必需的器件,如:上变频调制器或混频器、下变频混频器、 固定和可变频率合成器、放大器和滤波器等,因此单通道成本低于模拟方案。相对于传统的数模混合调制系统,本设计系统灵活,便于仿真验证,充分发挥了全数字系统的优点,有一定使用和推广的价值。
参考文献
[1] 王炜,赵可萍,郑易.基于FPGA的调制信号电路设计[J].微计算机信息,2007,23(2-2).
[2] Interfacing the MAX5881 Direct RF Synthesis DAC to FPGAs[EB/OL].http://www.maxim-ic.com.cn.
[3] 李晓杰,王秀琴.直接数字频率合成器的设计[J].煤矿机械,2008,29(7).
[4] ug190:Virtex-5 FPGA Data Sheet[EB/OL].http://www.xilinx.com.