当前位置:智城范文网>范文大全 > 征文 > 基于FPGA的DDS设计及实现

基于FPGA的DDS设计及实现

时间:2022-05-10 09:55:02 来源:网友投稿

摘要:DDS具有稳定度高、转换时间短,且分辨率较高等优点,本文提出了基于FPGA芯片设计DDS系统的方案。该方案利用Altera公司的QuartusⅡ开发软件,结合DDS的结构和原理,给出系统设计方法,并推导得到参考频率与输出频率间的关系。

关键词:FPGA;DDS;QuartusⅡ开发软件;设计;实现

中图分类号:TP393.02文献标识码:A文章编号:1007-9599 (2010) 10-0000-01

The DDS Design&Implementation Based on FPGA

Yang Lei

(Institute of Electrical Engineering,Northwest University for Nationalities,Lanzhou730124,China)

Abstract:One design scheme of DDS system base on FPGA is introduced for the merits of fast frequency,conversion time and high resolution.This paper proposed DDS system based on FPGA chip design program.With the Altera"s Quartus Ⅱ development software,We derived reference frequency and output frequency relationships.

Keywords:FPGA;DDS;QuartusⅡdevelopment software;Design;Achieve

直接数字频率合成(Direct Digital Synthesis,DDS)是一种通过D/A转换器,将数字信号转换成模拟量信号合成技术。与传统的频率合成器相比,DDS不仅捷变速度非常高、频率分辨率非常细、输出相位连续,其还可产生宽带正交信号,以及产生其他多种调制信号,为此,DDS被广泛应用于电信与电子仪器领域。

一、DDS结构

(一)相位累加器

DDS系统的核心部分为相位累加器,其主要负责DDS实现原理中的相位累加功能的完成。如果累加器的位数大,这样才能使DDS的优越性充分发挥出来,通常DDS的输出频率可由频率字控制,其设定可根据需要进行。

(二)波形查询表

查找表是该电路的核心,查找表主要负责相位序列(相位码)向幅度序列(幅度码)的转换。在本次设计中,查找表可以通过用ROM来构造。如果ROM的地址为相位码,就只要将相应的正弦幅度码存储在该地址中以作为数据,ROM就可以通过相位码进行寻址。

(三)D/A转换器与低通滤波器

将幅度码转变成模拟信号是D/A转换器和低通滤波器最主要作用。由于D/A转换器输出是一种阶梯波,它需通过低通滤波器的作用,才能将其低频成分取出。

图1 DDS的原理框图

其中:fword为频率控制字;N为相位累加器的位数,相位累加器由N位加法器与N位累加寄存器级联构成,以步长fword进行累加,数据根据其产生所需的频率进行控制,然后将得到的频率控制数据作为地址,对波形存储器(ROM)进行寻址。在理想情况下,当累加器的N位全部用于寻址时,DDS的合成频率为:

该式中:fword代表频率控制字;N代表相位累加器位数;fclk代表输入时钟。当频率控制字fword为1时,DDS分辨率最小。合成的频率的频偏可以根据频率控制字fword改变而改变。

二、DDS频率分析

在基准时钟的作用下,相位累加器进行线性相位累加,在加满相位累加器加时,就会出现一次溢出,这就为DDS信号的一个频率周期。

DDS输出信号的频率为:

fo=fc(k/2N) (2)

设定基准时钟为50MHz,累加器位数N=16位,则

2N=216=65536 (3)

如果f=50MHz,再假定K=4 096,则

fo=(4 096/65 536)×50=3.125MHZ (3)

由(1)(2)(3)式可见,通过对相位累加器位数、频率控制字和基准时钟的值的设定,就能有任意频率的输出的产生。将DDS的频率分辨率定义为:

△fmin= fc /2N。

因基准时钟值通常是固定的,所以频率分辨率由相位累加器的位数所决定。如果相位累加器为32位,则频率分辨率也可看作为是32位。分频率随着位数的越多而越高。只要相位累加器的位数N足够大,则相应的累加器就会有足够的长度,所需的频率分辨率也总能得到。频率控制字K决定输出频率fo,即fo=fc(k/2N)。以奈奎斯特采样定理为依据,fc/2大于DDS的最大输出频率foMax,在实际中,foMax通常只能为fc的40%。

三、DDS在FPGA中的实现

Altera公司的Quartus II和Nios II IDE为本设计的软件开发环境。通过对QuartusⅡ中模块化库LPM的调用来设计累加控制模块。即累加控制模块由加法器lpm_add_sub、乘法器lpm_mult和累加器altaccumulate模块所组成。相位累加器的位数N随DDS系统精度要求越高而越大。如今多数专用的DDS芯片的位数范围为24-32位,在这里取相位累加器的位数N=32。累加控制模块如图2所示。

图2累加控制模块

ADC转换芯片中的8位数字信号经处理后的,为了加大DDS合成的频率,需要在末尾补上4个0,用于作为参数化模块lpm_add_sub的12位输入datai,由于8位二进制偏移码为ADC信号输出形式,它不同于计算机处理的二进制补码形式,因此,需要用二进制补码替代二进制偏移码,并与另一路输入信号常数2048相减,输出12位有符号数。累加器累加相位的速度直接受乘法器的输出的影响,即频率变化加快是因为乘以一个比较大的数而得。将乘法器的输出24位在末尾补0,使其成为32位数datab,并送到累加模块altaccumu-late中,这样就能增大合成频率。取altaccumulate输出的高10位,来作为ROM查找表的地址信号,这样就可以节省ROM的容量。

参考文献:

[1]褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002

[2]潘志浪.基于FPGA的DDS信号源的设计[D].武汉:武汉理工大学,2007

[3]陈远辉.基于FPGA的直接数字频率合成器设计[D].长沙:国防科学技术大学,2006

[4]李俊.基于DDS+PLL的高性能VHF段频率合成器研究与实现[D].湘潭:湘潭大学,2007

作者简介:杨磊(1981-)男,蒙古族,内蒙古通辽市人。西北民族大学电气工程学院通信工程专业07级2班。

推荐访问: 设计 FPGA DDS

版权所有:智城范文网 2010-2025 未经授权禁止复制或建立镜像[智城范文网]所有资源完全免费共享

Powered by 智城范文网 © All Rights Reserved.。粤ICP备20058421号