基于FPGA的简易DDS信号源设计

VCC :电源电压(+5~+15)V AGND:模拟地 NGND:数字地

2.6 滤波方案论证

方案一:采用二阶巴特沃兹低通滤波器。巴特沃兹滤波器的幅度函数是单调下降的,由于n 阶低通巴特沃斯滤波器的前(2n-1)阶导数在ω=0处为零,所以巴特沃斯滤波器也称为最大平坦幅度滤波器,该方案滤波性能较好,但构造和参数设置比较复杂。

方案二:采用RC低通滤波器。能很好的滤除高频信号,由于不须运算发大器,参数计算容易,对系统要求不高。

基于上述理论分析,拟订方案一。

2.7 总体设计方框图

本系统分为五大部分:FPGA主控电路,液晶显示,键盘控制,数模转换,低通滤波电路。框图如图2.3所示:

图2.3系统总设计流程图

三、工作原理

本设计以FPGA为核心,由外部来实现频率、相位的预置和步进,并完成信号的频率和相位差显示。如图3.1系统框图。采用直接频率合成(DDS)技术,用FPGA来产生一路信号波行。将量化的波形数据存到存储器中,在经地址计数器寻址读出波形数据,控制地址计数器的时钟频率即可控制采样点数,这样就控

图3.1 工作原理框图

制了输出波形的频率。由于这些数据为数字量,故再经D/A转换电路将其转换为模拟量,通过低通滤波器滤除阶梯即可输出满足要求的波形。由于本设计采用直接数字频率合成技术(DDS),运用一片EPROM,存储波形数据,分别由设定数据差值的地址数据寻址即可输出有设定波形,有效地扩展了输出波形的频率范围并实现了输出高精度相位的波行信号,系统稳定可靠。

3.1 FPGA设计

N位N位S(n)S(t)累加器频率控制字k加法器相位控制字p加法器波形控制字wROMD/ALPF参考信号fc图3.2 DDS的原理框图

本设计采用本次大赛要求的赛灵思器件。开发语言用Verilog HDL。设计一相位累加器,同时输出两路寻址信号(基准信号的寻址信号以及输出信号的寻址信号),对ROM表进行寻址输出波形。设计框图如上图3.2:

直接数字频率合成器,(Direct Digital Synthesizer)是从相位概念出发

直接合成所需波形的一种频率合成技术。一个直接数字频率合成器由相位累加器、加法器、波形存储ROM、D/A转换器构成。其中K为频率控制字、P为相位控制字、W为波形控制字、fc为参考时钟频率,N为相位累加器的字长,D为ROM的数据位及D/A转换器的字长。相位累加器在时钟fc的控制下以步长K作累加,输出的N位二进制码与相位控制字P、波形控制字W相加后作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出D位的幅度码S(n)经D/A转换器变成阶梯波S(t),再经过低通滤波器平滑后就可以得到合成的信号波形。全盛的信号波形取决于波形ROM中存放的幅度码,因此用DDS可以产生任意波形[3]。 (1)频率预置与调节电路。

K被称为频率控制字,也叫相位增量。DDS方程为:

f0?fcK/2n (3.1)

f0为输出频率,fc为时钟频率。当K=1时,DDS输出最低频率(也即频率分

辨率)为fc/2N,而DDS的最输出频率由Nyquist采样定理决定,即fc/2,也就是说K 的最大值为2N-1。因此,只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字K即可。 (2)累加器

相位累加器由N位加法器与N位寄存器级联构成。每来一个时钟脉冲fc,加法器将频率控制字K与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。寄存器将加法器在上一个时钟作用后所产生的相位数据反馈到加法器的输入端;以使加法器在下一个时钟作用下继续与频率控制字进行相加。这样,相位累加器在时钟的作用下,进行相位累加。当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。 (3)控制相位的加法器

通过改变相位控制字P可以控制输出信号的相位参数。令相位加法器的字长为N,当相位控制字由0跃变到P(P≠0)时,波形存储器的输入为相位累加器的输出与相位控制字P之和,因而其输出技术的幅度编码相位会增加P/2N,从而使最输出技术的信号产生相称。 (4)控制波形的加法器

通过改变小型控制字W可以控制输出信号的波形。由于波形存储器中的不同波形是分块存储的,所以当小型控制字改变时,波形存储器的输入为改变相位后的地址与波形控制字W(波形地址)之和,从而使最后输出技术的信号产生相移。 (5)波形存储器

用相位累加器输出的数据作为波形存储器的取样地址,进行波形的相位—幅值转换,即可在给定的时间上确定输出的波形的抽样幅值。N位的寻址ROM相当

于把0O~360O的正弦信号离散成具有2N个样值的序列,若波形ROM有D位数据位,则2N个样值的幅值以D位二进制数固化在ROM中,按照地址的不同可心输出相应本相位的正弦信号的幅值。

相位—幅值变换原理图如下图3.3所示:

相位量化序列地址ROM(波形存储器)图3.3 变换原理图

波形幅度量化序列数据

D/A转换器的作用是把合成的正弦波数字量转换成模拟量。正弦幅度量化序列S(n)经D/A转换后变成了包络为正弦波的阶梯波S(t)。需要注意的是,频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的正弦波S(t)台阶数就越多,输出的波形的精度也就越高。 (6)低通滤波器

对D/A输出的阶梯波S(t)进行频谱分析,可知S(t)中除主频f0外,还存在分布在fc,2fc两边±f0处的非谐波分量,幅值包络为辛格函数。因此,为了取出主频f0,必须在D/A转换器的输出端接入截止频率为fc/2的低通滤波器。

二、技术指标

本次设计要求利用FPGA设计DDS信号发生器,利用Quartus II软件对信号发生器进行电路设计功能仿真,并对仿真结果进行分析。量化的技术指标: (1)能够输出典型的方波,三角波,正弦波。 (2)输出量化位数:8位 (3) 输出频率≤2MHz

三、 DDS基本原理

DDS 的工作原理如图 1 所示,在 FPGA 内部实现高速的多位数相位累加器,输出地址 信号,控制读出波形存储器中存放的正弦波幅度数字信号。通过改变相位累加器的相位增量

M,即地址间隔的改变,控制读出波形存储器一个周期正弦波幅值的数目,达到输出频率的

控制。其输出的频率为,其中 fclk 为

系统时钟频率,N 为相位累

加器的位数,M 为相位增量——频率控制字,由公式可知 fout 与 M 成正比,

控制 M 就可以控制输出的频率。如要频率步进为 10Hz,则要求。保证在输出最高频率输出时有 32 个点的波表数据输出,则要求时钟为 3.2MHz。将 50MHz 的时钟 10 分频,得到 5MHz 的信号作为累加器的计数信号。则 fclk=5MHz,2N=500000,因此,N 可取 20,2N=1048576。则 fout=4.77M,M=0.21fout 如图 1 所示,利用计算机输入要输出的频率,发送到单片机,单片机将对接收到的数据进行预算处理后发送给 FPGA。

3.3 DDS主要性能指标及优点

DDS 采用全数字技术实现频率合成,使其与一般的频率合成相比,有一些很突出的优点及独特的性能。DDS 在相对带宽、频率转换时间、频率分辨率、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能[5]。概括来说主要有以下性能指标及优点: (1)输出带宽

当频率控制字K=1 时(即:向相位累加器中送入的累加步长为1),则输出的最低频率为

fmin?fc2 (3.8)

N式中,fc为系统时钟频率,N 为相位累加器的位数。当相位累加器位数很高时,最低输出频率可达到mHz ,甚至更低,可以认为DDS 的最低合成频率为零频。

DDS 最高输出频率受限于系统时钟频率和一个周波波形系列点数,在时钟频率为fc、采样点数为M(存储深度)下,最高输出频率为:

f?fcM (3.9)

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4