APP下载

DVB-S射频调制的FPGA实现

2010-08-13韩庆喜刘志军张淑慧王小群

电子技术应用 2010年6期
关键词:寄存器插值时钟

韩庆喜,刘志军,张淑慧,王小群

(山东大学 信息科学与工程学院,山东 济南250100)

DVB-S标准只是规定了信道编码及调制方式,没有提供具体的射频调制方案,DVB-S标准要求载波的频率范围为950 MHz-2150 MHz,由于受到FPGA内部资源运算速度的限制,一般只能实现中频调制[1]。传统的射频调制是在中频调制后加模拟上变频,如中频调制之后采用AD8346[2]进行射频调制,但这样就增加了设计的复杂度及成本。本文采用ADI公司最新推出的AD9789与FPGA相结合的方法实现了全数字DVB-S标准射频调制。

1 系统构架

AD9789[3]14 bit TxDAC芯片内部集成了QAM编码器、内插器和数字上变频器,可为有线基础设施实现2.4 GHz的采样率。AD9789 TxDAC支持DOCSIS-III、DVB_C 2个标准,并不支持DVB-S标准。配置选项可以设置数据路径来为QAM编码器和SRRC滤波器设置旁路,从而使DAC能够用于诸如无线基础设施等多种应用中。本文就是利用这一点实现了DVB_S的射频调制,在FPGA内部实现DVB-S信道编码[3](随机化、RS编码、卷积交织、卷积压缩编码)、星图映射、SRRC滤波器(滚降系数为 0.35),经ODDR模块给AD9789提供复数数据。其射频调制方案如图1所示。

2 可变符号率的设计

DVB-S调制器符号率一般支持1 MS/s~45 MS/s可调,这就需要对TS流进行速率调整。整个DVB_S信道编码有2次速率的变化:(1)RS编码,它将188的包结构变成204的包结构,数据输出的速率为输入的204/188倍。(2)卷积压缩编码,由于卷积压缩编码采用不同的编码比率,如1/2、2/3、3/4、5/6、7/8,对应的输出数据速率就变成输入数据速率的 1、3/4、2/3、3/5、4/7 倍, 针对符号率的设计,本文提出了符号率的设计公式:FBAND=A×204/188×8×1/2×(N/N-1), 其中 A 为 TS 流的输入数据速率,N 的取值为 2、3、4、6、7,之所以乘以 8是因为在卷积编码时要进行数据的并串转换。

本文采用插空包的方式实现RS编码速率调整,其设计思路是在信道编码之前对TS流进行一次速率调整,将188的数据包变成204的数据包,这样大大简化了后端的设计,具体的操作就是通过FIFO实现,由于TS流速率慢,所以先写FIFO,等到写满一半,开始读,读的时候每次只读188个数据,然后再在其后添加16 B数据,添加0即可,这样就变成了204个字节的包结构。由于读的速率很快,有可能读空,所以要判断FIFO内部所剩下的数据,当不满188 B时,就插入204 B的空包,这样可以保证速率调整之后的数据是连续的。符号率的设计公式变成:FBAND=B×8×1/2×(N/N-1),

只需要改变B及N的值就可以实现符号率的可变。

针对卷积压缩编码速率调整,本文采用重配置DCM[4]与FIFO结合的方式实现,由于调制采用不同的编码率,导致输出的数据速率是可变的,这就使得数据的输出时钟是输入时钟的非整数倍,很难做到小数分频,所以提出了用重配置DCM的方式提供可靠的时钟对应关系。经卷积压缩编码后的数据输出是不连续的,为了便于后续数据升采样的处理,通过一个FIFO将数据打成匀速的。

3 AD9789基本结构[5]

AD9789包含一个用于器件配置和状态寄存器回读的 SPI(串行外设接口)端口。灵活的数字接口可以适应4 bit~32 bit的数据总线宽度,并且可以接收实数或复数数据,最多可接收4路输入信号。每一路信号最大能经过5级半带插值滤波,插值之后的数据与NCO生成的正余弦信号相乘,再经过通道增益变化,4路信号相加后再通过总增益调整、16倍插值和带通滤波器实现数字上变频,最后经数模转换输出,其原理如图2所示。4个通道的基带处理模块内部结构相同,如图3所示。在本设计中,旁路掉QAM编码器和SRRC滤波器,经过5级半带插值后,通过调节P/Q值,可实现不同符号率的调整。

4 AD9789上变频原理及配置流程[5]

基带信号经过插值后与NCO生成的正余弦信号相乘,从而把基带信号频谱调制到0~f /16之间完成基带调制,即实现图4(a)~图(b)的转换。经过16倍插值滤波器后,形成16个奈奎斯特区,后15个区内的频谱为第1奈奎斯特区基带调制信号的镜像频谱,通过配置带通滤波器的中心频率,可滤除不需要的15个镜像,得到要想的调制信号,如图4(c)所示。AD9789的这种特殊架构,使得输出的调制信号频率范围为 0~fDAC,而fDAC最高可达2.4 GHz,完全可以满足DVB-S标准L波段输出的要求。

AD9789通过SPI接口进行参数配置,配置时钟SCLK不能超过25 MHz。写操作时,在SCLK上升沿有效。读操作时,数据在SCLK下降沿有效。AD9789的配置指令由指令控制字和操作数2部分组成。指令控制字包括3部分:读写操作指示位、一次读写的字节个数和起始寄存器的地址。如果执行写操作,操作数就是要写入寄存器的值。如果执行读操作,则操作数就是从相应寄存器中读到的值。缺省情况下,SDIO是输入,SDO是输出,读写数据高位在前。

配置AD9789时需要注意,大部分寄存器都是立即更新,但 0x16~0x1D,0x22~0x23 除外。只有在 0x1E[7]为1后,0x16~0x1D寄存器数据才更新。只有当 0x24[7]位由 0变为 1后,0x22~0x23才更新。0x1E[7]会自动清零,但0x24[7]不会。为了保证来自FPGA的数据与AD9789的采样时钟相位一致,AD9789内部集成可编程重定时器,使用三级寄存器来实现重定时功能,具体由内部寄存器 0x21[2:0]、0x23[7:0]控制。配置 AD9789的流程如表1所示。

表1 配置AD9789的流程

AD9789的主要参数计算如下,速率调整参数P/Q值可由公式(1)求得:

其中,fDAC是 DAC工作时钟,I为插值滤波器的插值倍数,fBAUD是输入码流的符号率。另外,P/Q值的选取要满足且Q值选定后,要经过变化转变成24 bit的二进制表示,且最高位为1,P值也做同样的调整。通道的NCO频率参数FTW由公式 (2)、(3)联合决定,其中,fCENTER是本通道的NCO频率,FOUT为用户想要输出的频点,N为整数,带通滤波器中心频率参数BPF_Center_Freq由公式(4)决定,fCENTER指的是 4路输出频点值相加之后的中心频率。

下面就以输出频点1000 M,符号率为8.75 MS/s为例说明具体的设计过程,ADF4350提供2240 MHz的时钟,设置 0x22[5:4]=2’b01,内部进行 16倍分频,生成 DCO的时钟为140 MHz。公式(1)中 I=32,fBAND=8.75 MS/s,P/Q=16/32,转换后的 P=24’h400000,Q=24’h800000,FTW1=24’h249249,BPF_Center_Freq=16’h7248,任意开通一个通道即可。

5 FPGA与AD9789的接口设计

AD9789的工作时钟由ADF4350与ADCLK914联合提供。ADF4350[6]是ADI公司推出的业界首款全集成的频率合成器,内置片上VCO(压控振荡器)与 PLL(锁相环),支持 137.5 MHz~4.4 GHz范围内的连续调谐,且支持整数小数分频,具有出色的相位噪声性能,完全可以满足本系统的要求。

ADCLK914[7]是一款采用ADI公司专利的互补双极性(XFCB-3)硅锗(SiGe)工艺技术制造的超快型时钟/数据缓冲器。ADCLK914具备高压差分信号(HVDS)输出,适合用于驱动 ADI最新的高速数模转换器(AD9789、AD9739)。

本系统中,在FPGA内部完成信道编码、星座映射及基带成形。AD9789数据接口总线采用32 bit,LVDS模式,只使用一个通道。所以输入为一路复数数据信号,数据为16 bit的差分信号。根据所选的接口模式,在采样时钟上升沿,采样得到的16 bit数据为I,在采样时钟下降沿,采样得到的16位数据为Q,调用一个ODDR模块,将基带成形后的I路数据和Q路数据合二为一,以LVDS模式输出,分别与AD9789的DP[15:0]和 DN[15:0]相连。ODDR的工作时钟直接来自DCO,DCO是AD9789数据的采样时钟输出,由 FDAC分频产生,具体由内部寄存器 0x22[5:4]决定,确保 FPGA输出数据和AD9789的数据采样时钟速率相等。

本文详细介绍了DVB_S可变符号率的设计,利用新器件AD9789能实现数字上变频的特性,结合FPGA,提出了一套解决全数字DVB-S射频调制的方案,并给出了配置AD9789的详细流程。结合具体实例,给出了重要参数的设置方法,与传统的射频调制相比,免去对片外混频器和低通滤波器的需求,具有更佳的性能、更低的成本和更好的灵活性,可广泛用于电缆调制解调器系统。

[1]陈守金,于鸿洋,葛锦环.新型 DVB_C信道编码、中频调制的全数字实现[J].电子技术应用,2006(5).

[2]葛锦环.基于FPGA的DVB-S QPSK调制器的设计与仿真[D].电子科技大学硕士学位论文,2006.

[3]ETSI.EN300 421.DigitalVideoBroaeasting(DVB).Framingstructure,channel coding and modulation for 11/12 GHz satellite serviees,1997.

[4]ug191,Virtex-5 Configuration User Guide,Xilinx Corporation,2007.

[5]AD9789 Datasheet.Analog Devices,2009.

[6]ADCLK914 Datasheet.Analog Devices,2008.

[7]ADF4350 Datasheet.Analog Devices,2008.

猜你喜欢

寄存器插值时钟
STM32和51单片机寄存器映射原理异同分析
别样的“时钟”
古代的时钟
Lite寄存器模型的设计与实现
基于Sinc插值与相关谱的纵横波速度比扫描方法
有趣的时钟
时钟会开“花”
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
Blackman-Harris窗的插值FFT谐波分析与应用