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

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

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

一、设计方案背景

信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器的实现方法通常是采用分立元件或单片专用集成芯片,但其频率不高,稳定性较差,且不易调试,开发和使用上都受到较大限制。随着可编程逻辑器件(FPGA)的不断发展,直接频率合成(DDS)技术应用的愈加成熟,利用DDS原理在FPGA平台上开发高性能的多种波形信号发生器与基于DDS芯片的信号发生器相比,成本更低,操作更加灵活,而且还能根据要求在线更新配置,系统开发趋于软件化、自定义化。本设计用大赛要求的赛灵思芯片,研究基于FPGA的DDS信号发生器设计,实现了满足预定指标的多波形输出。

二、设计方案论证

2.1 总体方案论证与比较

方案一:采用模拟锁相环实现

模拟锁相环技术是一项比较成熟的技术。应用模拟锁相环,可将基准频率倍频,或分频得到所需的频率,且调节精度可以做到相当高、稳定性也比较好。但模拟锁相环模拟电路复杂,不易调节,成本较高,并且频率调节不便且调节范围小,输出波形的毛刺较多,得不到满意的效果。

方案二:采用直接数字频率合成,用单片机作为核心控制部件,能达到较高的要求,实现各种波形输出,但受限于运算位数和运算速度,产生的波形往往达不到满意效果,并且频率可调范围小,很难得到较高频率,并且单片机的引脚少,存储容量少,这就导致了外围电路复杂。

方案三:采用直接数字频率合成,用FPGA器件作为核心控制部件,精度高稳定性好,得到波形平滑,特别是由于FPGA的高速度,能实现较高频率的波形。控制上更方便,可得到较宽频率范围的波形输出,步进小,外围电路简单易实现。因此采用方案三。

2.2 DDS模块方案论证

方案一:采用高性能DDS 单片电路的解决方案

随着微电子技术的飞速发展,目前高超性能优良的DDS 产品不断推出,主要有Qualcomm 、AD、Sciteg 和Stanford 等公司单片电路(monolithic)。Qualcomm 公司推出了DDS 系列Q2220 、Q2230 、Q2334 、Q2240 、Q2368 ,其中Q2368 的时钟频率为130MHz,分辨率为0.03Hz,变频时间为0.1μs;美国AD 公司也相继推出了他们的DDS 系列:AD9850 、AD9851 、可以实现线性调频

的AD9852 、两路正交输出的AD9854 以及以DDS 为核心的QPSK 调制器AD9853 、数字上变频器AD9856 和AD9857 。AD 公司的DDS 系列产品以其较高的性能价格比,目前取得了极为广泛的应用。

方案二:采用低频正弦波DDS 单片电路的解决方案[1]

此方案的典型电路有Micro Linear 公司的电源管理事业部推出低频正弦波DDS 单片电路ML2035 以其价格低廉、使用简单得到广泛应用。ML2035 特性:(1)输出频率为直流到25kHz ,在时钟输入为12.352MHz 以外频率分辨率可达到1.5Hz(-0.75~+0.75Hz),输出正弦波信号的峰-峰值为Vcc;(2)高度集成化,无需或仅需极少的外接元件支持,自带3~ 12MHz 晶体振荡电路;(3)兼容的3 线SPI 串行输入口,带双缓冲,能方便地配合单片机使用;(4)增益误差和总谐波失真很低。ML2035 生成的频率较低(0~25kHz),一般应用于一些需产生的频率为工频和音频的场合。如用2 片ML2035 产生多频互控信号,并与AMS3104 (多频接收芯片)或ML2031/2032 (音频检波器)配合,制作通信系统中的收发电路等。可编程正弦波发生器芯片ML2035 设计巧妙,具有可编程、使用方便、价格低廉等优点,应用范围广泛。很适合需要低成本、高可靠性的低频正弦波信号的场合。

方案三:自行设计的基于CPLD/FPGA 芯片的解决方案

DDS 技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模大、在线可编程,以及有强大EDA 软件支持等特性,十分适合实现DDS 技术。目前PLD 器件(包括CPLD、FPGA )的生产厂商主要有Altera,Xilinx

图2.1 DDS工作框图

以及Lattoce 等。Altera 是著名的PLD 生产厂商,多年来一直占据着行业领先的地位。Altera 的PLD 具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的IP 核、宏功能外它还提供了功能全面的开发工具和丰富的IP 核、宏功能库等,因此Altera 的产品获得了广泛的应用。虽然有的专用DDS 芯片的功能也比较多,但控制方式却是固定的,因此不一定是

我们所需要的。而利用FPGA 则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。就合成信号质量而言,专用DDS 芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用FPGA 也能输出较高质量的信号,虽然达不到专用DDS 芯片的水平,但信号精度误差在允许范围之内。基于以上优点我们采用了FPGA芯片来实现我们设计的DDS.

2.3 数据存储方案论证

方案一:将波形数据存储在EPROM27C512中,并直接通过单片机软件扫描的方式将波形沼气传输给DAC0832产生波形输出。这种方法是硬件电路简单,用通用的单片机最小系统板和一般的D/A 转换器就可以完成。由于在此方案中单片机要完成波形扫描功能,还要负责整个系统的管理任务,并且受单片机工作速度的限制,不能很好的完成题目的要求。

方案二:使用FPGA作为数据转换桥梁,将波形存储在其内部的RAM中,通过硬件扫描将波形数据传输给DAC0832产生波形输出。由于FPGA是一种高密可编程逻辑器件,可以满足题目的要求。

综合各种因素,选择方案二。

2.4 键盘/显示方案论证

本设计的频率字和相位字输入来实现,通过外部将数据输入到FPGA中,同时控制DAC0832的数据转换。键盘采用4×3矩阵式,共12个键分别对应0~9个数字键和一个启动键两个波形控制键。常用的显示方案有以下几种。

方案一:使用液晶显示屏显示频率,幅度和相位以及波的形状。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁、可视面积大、画面效果好、分辨率高、抗干扰能力强等特点。

方案二:使用传统的数码管显示。数码管是采用BCD编码显示数字,程序编译容易,资源占用较少,但是显示的字符较少,且不能显示汉字。

根据以上的论述,采用方案一。

2.5 数模转换方案论证

现阶段市场上用于数摸转换的芯片种类很多,常用的有8位,12位,16位等。他们各有其在不同的应用领域有着各自的优势。ADV7125是一种8位的高速,高精度的数模转换芯片其优主要性能如下:

240MHz的最大样速度;

三路8位D/A转换器SFDR;

当时钟频率为50MHZ;输出为1MHZ时,–70dB;

当时钟频率为140MHZ;输出为40HMZ时,-53dB;

与RS-343A/RS-170接口输出兼容;

DA转换器的输出电流范围为:2mA到26mA;

TTL兼容输入;

单电源+5V/+3.3V工作;

低功耗(3V时最小值为30mW)。

其优点就不然而喻。

DAC0832也是一种8位的数模转换芯片,单电源供电,+5V到+15V正常工作。基准电压范围为10

±V;电流建立时间为1sμ;CMOS工艺,低功耗20mW[2]。

综上来看ADV7215是中性能比较优越的DAC芯片,但其价格较DAC0832要高,我们的设计中所需求的DAC芯片新能要求,DAC0832已经可以达到,而且DAC0832是我们用的较多的的一种DAC芯片,对于它的用法比较熟悉。因此我们选则DAC0832来作为我们的数模转换芯片。

DAC0832是采用CMOS工艺制成的单片电流输出型8位数/ 模转换器,单电源供电,从+5V~+15V均可正常工作。基准电压的范围为±10V;电流建立时间是1μS;COMS工艺,功耗20mW。图5.2是DAC0832的逻辑框图及引脚排列。

器件的核心部分采用倒T型电阻网络的8位D /A转换器,如图2.2所示。

四部分组它是由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压V

REF

成。

图2.2 DAC0832芯片引脚图

运放的输出电压为:

)222(20022110?++?+?=----D D D R

R V V n n n n n f R E F (2.1) 由上式可见,输出电压V O 与输入的数字量成正比,这就实现了从数字量到

模拟量的转换。

一个8位的D / A 转换器,它有8个输入端,每个输入端是8位二进制数的

一位,有一个模拟输出端,输入可有28 =256个不同的二进制组态,输出为256

个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。

DAC0832的引脚功能说明如下:

D 0-D 7 :数字信号输入端

ILE :输入寄存器允许,高电平有效

CS : 片选信号,低电平有效

1WR :写信号1,低电平有效 XFER :传送控制信号,低电平有效

2WR :写信号2,低电平有效

I OUT1,I OUT2:DAC 电流输出端

R fB :反馈电阻,是集成在片内的外接运放的反馈电阻

V REF :基准电压(-10~+10)V

V

:电源电压(+5~+15)V

CC

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 设计

累加器

加法器加法器D/A LPF

参考信号

fc

ROM 波形控制字w 相位控制字p 频率控制字k N位N位S(n)S(t)

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

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

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

(1)频率预置与调节电路。

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

n c K f f 2/0 (3.1)

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

(2)累加器

相位累加器由N 位加法器与N 位寄存器级联构成。每来一个时钟脉冲c f ,加法器将频率控制字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所示:

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

(6)低通滤波器

对D/A 输出的阶梯波S (t )进行频谱分析,可知S (t )中除主频0f 外,还存在分布在c f ,2c f 两边±0f 处的非谐波分量,幅值包络为辛格函数。因此,为了取出主频0f ,必须在D/A 转换器的输出端接入截止频率为c f /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),则输出的最低频率为

N

c f f 2m in = (3.8) 式中,c f 为系统时钟频率,N 为相位累加器的位数。当相位累加器位数很高时,最低输出频率可达到mHz ,甚至更低,可以认为DDS 的最低合成频率为零频。

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

M f f c = (3.9)

这是一个比较大的数值,所以,DDS 相对其它频率合成技术,其带宽得到了极大的提高。

(2)频率、幅度、相位分辨率

频率分辨率也就是频率的最小步进量,其值等于DDS 的最低合成频率。

N c f f f 2m in 0==? (3.10)

根据相位累加器位数的不同有着不同的频率分辨率。由DDS 最低合成频率接近零频知,其频率分辨率可达到零频。所以DDS 相比其它频率合成技术有精 密的频率分辨率。精细的频率分辨率使得输出频率十分逼近连续变化。幅度的分辨率决定于幅度控制的DAC 的位数:

N

ref V V 2/=? (3.11) 式中,N 为幅度控制的DAC 的位数,Vref 为幅度控制的DAC 的参考电压。 相位差的分辨率与一个周波采样点数M 成反比,

M P /360 =? (3.12)

从上可看出,DDS 技术可根据实际需要,对频率分辨率、幅度分辨率以及相位差分辨率进行灵活控制。

(3)频率转换灵活性

频率转换灵活性是指频率控制字改变后,输出波形频率跟踪频率控制字的能力。DDS 是一个开环系统,无任何反馈环节,故可认为其频率转换是实时的。DDS 的相位序列在时间上是离散的,在频率控制字K 改变后,经过一个时钟周期后即可按新的相位增量累加,可认为它的频率转换时间就是频率控制字的传输时间。而在现代数字电路,数据传输延时为ns 级的频率转换时间极为短暂。

(4)相位连续性

从DDS 原理可知,在改变DDS 的输出频率时,实际就是改变地址发生器输出地址的速率,即改变相位函数的增长率。如在t1时刻,当频率控制字改变后,只是改变了t1时刻的地址上产生下一时刻t2 地址的速率,并没有改变t1 时刻的地址,而且t2 时刻地址还是在t1 时刻地址的基础上进行累加。这样,就保持了输出波形相位的连续性,只是在改变频率的瞬间其频率发生了突变。

(5)波形灵活性

DDS 技术的核心是控制寻址的速率,对查找表寻址输出波形数据,只要改变查找表中的波形数据即可改变输出的波形。这样,可对多种波形进行采集,存入存储器,根据需要灵活控制输出波形的种类。此外,只要在DDS 内部加上相应控制如调频控制FM 、调相控制PM 和调幅控制AM ,即可以方便灵活地实现调频、

调相和调幅功能,产生FSK、PSK、ASK 和MSK 等信号。当DDS 的波形存储器分别存放正弦和余弦函数表时,即可得到正交的两路输出。DDS 还可灵活输出多相波形,只需设计同样的查找表,改变其寻址的起始位置,即可输出多相相位差可编程控制的波形。

(6)噪声及谐波

有限字长效应是数字系统不可避免的问题。在数据采集后需要对数据量化,这就产生了量化误差。如,12.7 ,由于数字系统从本质上只能认识无符号的整数,这样,根据四舍五入的方法,将12.7 量化为13,就产生了量化误差。这样,就引入了噪声以及谐波分量。此外,由于DAC 的非理想特性,包括非线性性能和所生成的阶梯波中有尖峰之类而引起的杂散输出,称为DAC 新增噪声。在DDS 中,由于采用全数字化设计,不可避免地存在上述噪声与谐波,须加滤波器加以滤除。此外,在设计电路时要注意电路的优化。

(7)其它性能

DDS 的其它性能指标有易控性、集成度、体积、功耗、稳定可靠性以及性价比。由于DDS 中几乎所有部件都属于数字电路,易于集成,功耗低、体积小、重量轻、可靠性高,且易于程控,使用相当灵活,因此性价比极高。

四、FPGA设计模块划分

整个设计有一个顶层模块,按照功能要求划分为三个功能模块,其中第二个模块是DDS核心模块,比较复杂,又划分为四个模块。如图2所示:DDS波形发生器的FPGA的电路设计主要是用FPGA设计DDS的核心部分,即相位加法器,控制字寄存器,N位累加器,信号存储器。

图2 FPGA设计模块流程图

相关主题
相关文档
最新文档