基于FPGA的DDS信号发生器的设计.docx
- 文档编号:10529019
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:38
- 大小:139.80KB
基于FPGA的DDS信号发生器的设计.docx
《基于FPGA的DDS信号发生器的设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的DDS信号发生器的设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于FPGA的DDS信号发生器的设计
中文摘要
摘要:
信号源作为现代电子产品中的重要一员,必须满足高精度、高速度、高分辨率等要求。
正是基于这几点,本文研究了基于DDS技术的智能信号源。
采用DDS方案有很多突出的优点:
高频率分辨率;高频率切换速度;切换时相位能保持连续;超宽的频率范围;能实现各种调制波和任意波形的产生;易于实现全数字化的设计。
本文主要研究以DDS方式实现基于FPGA的信号发生器,操作界面友好,可产生普通波形(正弦波、方波等)、各种调制波、脉冲串,以及多次谐波的叠加,可产生两路相互独立的不同波形,或产生两路有一定相位差的同种波形,且信号源产生的波形各项指标都比较高,优于其他传统方式实现的信号源。
由于此种信号源是基于FPGA,所以可以在不修改硬件结构的情况下,实现信号源功能的扩充,从而节省了成本。
关键字:
直接数字频率合成;DDS;FPGA;线性调频;信号发生器;
EnglishAbstract
Abstract:
Thesignalsourcehavetosatisfyhighaccuracy,highspeed&highresolutionetcasoneimportantmemberinthemodernelectronicsproduct.accordingtothis,thisdiscoursestudiedaintelligencesignalsourcebasedontheDDS.TheprojectAdoptingtheDDShasalotofoutstandingadvantages:
Highfrequencyresolution;highfrequencyswitchingspeed;phasecankeepconsecutiononswitching;Extraordinarywidefrequencyscope;ItCancarryoutvariousrandomwave;Beeasytocarryoutthecompletelydigitaldesign.ThisdiscoursemainlystudiesthesignaloccurrencedevicewiththeDDSrealizationandbasedontheFPGA,theoperationinterfaceamity,cancarryoutcommonwave(sinewave、squarewave...etc.)、variousmakingwave、thepulsestring,andwaveaddedmulti-plyharmonic,Itcancarryouttwoindependentdifferentwave,ortwowavecontainaphasegap,andthevariouswaveindexisallhigherthanthesignalsourceachievedothertraditionalways.BecausethiskindsignalsourceisbasedonFPGA,sowecanachievethesignalsourcefunctiontoexpandunderthesituationthatwedon’tmodifythehardwarestructure.Thuswesavedcost.
Keywords:
DirectDigitalSynthesizer;DDS;FPGA;linearityFrequencyModulation;signaloccurrencedevice.
1引言
直接数字频率合成技术(Direct-DigitalSynthesis),简称DDS是九十年代迅速发展起来的一种有广泛应用前景的频率综合技术它可用于雷达通讯电子侦察和对抗以及高性能测量仪器等各个方面。
信号源是雷达、通讯、电子对抗等电子系统实现高性能指标的关键,很多现代电子设备和系统的功能的实现都直接依赖于所用信号源的性能,因此信号源被人们喻为众多电子系统的“心脏”,而当今高性能的信号源均通过频率合成技术来实现的。
频率合成器是决定电子系统的关键设备。
传统的频率合成器有直接式(DAS)和锁相式(PLL)两种。
1971年美国学者Tierney等提出了直接数字式频率合成器(DDS)。
这是一种基于波形存储的全新的频率合成技术。
线性调频DDS芯片的出现对新一代雷达波形的产生及本振信号的生成产生了巨大的影响,这类雷达信号已能满足目标探测、目标跟踪及目标识别等不同的需要。
同时,将DDS用于雷达系统对降低目标的模糊度、减少虚警概率和提高雷达电磁兼容能力有极大的帮助。
与传统的频率合成技术相比,DDS的性能优点主要体现在:
超高速的频率转换时间(可做到小于0.1μs);极高的频率分辨率(可达到MHz级);变相相位连续;可实现极理想的正交输出;容易实现Chirp(线性调频)和其他各种频率、相位、幅值调制;可以合成任意波形;DDS输出信号的三个参量:
频率、相位和幅度都由数据控制字来决定,即通过改变相位累加器输入端的频率控制字,来实现频率控制;改变相位累加器输出端的相位,来实现相位控制;改变ROM输出端的幅度,来实现幅度控制;从而合成各种调幅、调频、调相波形以满足日益增长的带宽信号形式的需求。
全数字化控制简单容易;集成度高,容易实现系列化、模块化、小型化和工程化。
DDS有上述众多突出优点使其被认为是继PLL之后的第二次频率合成技术革命。
目前已成为宇航、雷达、通讯、电子战等系统中信号源的首选,在线性调频、扩频和跳频系统、多普勒响应模拟等领域得到了广泛的应用,在电子测量仪表等领域也有广阔的应用前景。
但是同现在大量应用的基于锁相环(PLL)的频率合成相比,DDS的两个主要缺点严重限制了DDS更广泛的应用。
一是输出带宽窄,受限于器件的工作时钟频率。
二是DDS输出频谱杂散较大。
在本次设计中,我们将设计出DDS基于FPGA芯片的解决方案,并对其进行仿真,得出相关结果。
2DDS&FPGA简介与原理
2.1DDS基本原理
其原理图如图1:
LFP
ROM
D/A
频率控制字K
波形控制字W
相位控制字P
参考信号fc
加法器
加法器
累加器
图2.1DDS原理图
DDS主要由相位累加器、幅度变换器、D/A转换器DAC和低通滤波器LPF等组成其核心部件是相位累加器如图1所示。
在系统时钟的作用下由相位累加器完成频率累加并将每次累加结果作为取样地址周期性地扫描正弦波的波形存储器并通过D/A转换器把结果变换成电压波形。
相位累加器在参考信号时钟fc的控制下以步长K(频率控制字)作累加,输出N位二进制码与相位控制字P、波形控制字W相加后作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出D位的幅度码Sn经D/A转换器变成电压波形,再经过低通滤波器平滑后就可以得到合成的信号波形。
合成的信号波形形状取决于波形ROM中存放的幅度码,因此用DDS可以产生任意的波形。
2.2DDS芯片的主要组成部分
2.2.1频率预制与调节电路
K被称为频率控制字,也叫相位增量。
DDS的方程为:
(2-1)
f0是输出频率,fc为时钟频率。
当K足够大时,DDS输出最低频率(也即频率分辨率)为
,而DDS最大输出频率由Nyquist采样定理决定,即fc/2,也就是K的最大值为
。
因此,只要N足够大,DDS可以得到足够细的频率间隔。
要改变DDS的输出频率,只要改变频率控制字即可。
2.2.2累加器
累加器由N位加法器和N位寄存器级联构成。
每来一个时钟脉冲fc,加法器将频率控制字K与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。
寄存器将加法器在上一个时钟作用后所产生的相位数据反馈到加法器的输入端;以使加法器在下一个时钟作用下继续与频率控制字进行相加。
这样,相位累加器在时钟的作用下,进行相位累加。
当相位累加器累加满量时就会产生溢出,完成一个周期性的动作。
其原理图如下:
图2.2累加器原理图
2.2.3控制相位加法器
通过改变相位控制字P可以控制输出信号的相位参数。
令相位加法器的字长为N,当相位控制字P由0跃变到P(P≠0)时,波形存储器的输入为相位累加器的输出与相位控制字P之和,因而其输出的幅度编码相位会增加P/(2的n次方),从而使最后输出的波形产生相移。
2.2.4控制波形加法器
通过改变波形控制字W可以控制输出信号的波形。
由于波形存储器中的不同波形是分块存储的,所以当波形控制字改变时,波形存储器的输入为改变相位后的地址与波形控制字之和,从而使最后输出的波形产生相移。
2.2.5波形存储器
用相位累加器输出的数据作为波形存储器的取样地址,进行波形的相位-幅值转换,即可在给定的时间上确定输出的波形的抽样幅值。
N位的寻址ROM相当于把0度到360度的正弦信号离散成具有2的N次方个样值的序列,若波形ROM有D位数据位,则2的N次方个样值的幅值以D位二进制数值固化在ROM中,按照地址的不同可以输出相应相位信号的幅值。
其演示图如下:
数据
波形幅度量化序列
相位量化序列
(地址)
ROM
(波形存储器)
图2.3ROM演示图
2.2.6D/A转换器
D/A转换器的功能就是把合成波的数字量转换成模拟量。
需要注意的是,频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的波台阶数就越多,输出的波形的精度也就越高。
2.2.7低通滤波器
对D/A输出的波进行频谱分析,其中除主频外还存在分布在fc、2fc……两边±fo处的非谐波分量。
因此为取出主频fo,必需在D/A的输出端接入截止频率为fc/2的低通滤波器。
2.3DDS的主要特点
由于DDS采用了不同于传统频率合成方法的全数字结构,因而具有许多直接式频率合成技术和间接式频率合成技术难以实现的特点。
DDS频率合成技术的特点主要如下:
(1)极高的频率分辨率:
这是DDS最主要的优点之一,由式
(2-2)
可知,当参考时钟频确定以后,DDS的频率分辨率由相位累加器的字长N决定。
理论上讲,只要相位累加器的字长N足够大,就可以得到足够高的频率分辨率。
当K=1时,DDS产生的最低频率,称为频率分辨率,即
(2-3)
例如,时钟采用50MHz,相位累加器的字长为48位,频率分辨率可达
Hz,这是传统频率合成技术所难以实现的。
(2)输出频率相对带宽很宽:
DDS的输出频率下限对应于频率控制字K=0时的情况,
Hz,即可输出直流。
根据Nyquist定理,从理论上讲,DDS的输出频率的上限应为fc/2,但由于低通滤波器的非理想过渡特性及高端信号频谱恶化的限制,工程上可实现的DDS输出频率上限一般为:
(2-4)
因此,可得到DDS的输出频率范围一般是0~2fc/5。
这样的相对带宽是传统频率合成技术所无法实现的。
(3)极短的频率转化时间:
这是DDS的又一个主要优点,DDS是一个开环系统,无反馈环节。
这样的结构决定了DDS的频率转换时间是频率控制字的传输时间和以低通滤波器为主的器件频率响应时间之和。
在高速DDS系统中,由于采用了流水线结构,其频率控制字的传输时间等于流水线与失重周期的乘积,低通滤波器的频率响应时间随截止频率的提高而缩短,因此高速DDS系统的频率转换时间极短,一般可达纳秒量级。
(4)频率捷变时的相位连续性:
从DDS的工作原理中可以看出,当改变其输出频率时,是通过改变频率控制字K实现的,实际上改变信号的相位增长速率,而输出信号的相位本身是连续的,这就是DDS频率捷变时的相位连续性。
在许多应用系统中,如跳频通信系统,都需要在捷变频过程中保证信号相位的连续,以避免相位信息的丢失和出现离散频率分量。
传统的频率合成技术做不到这一点。
(5)数字调制功能:
由于DDS采用全数字结构,本身又是一个相位控制系统,因此可以在DDS设计中方便地加上数字调频、调相以及调幅功能,以产生ADK、FSK、PSK、MSK等多种信号。
(6)工作频带的限制:
这是DDS的主要缺点之一,是其应用受到限制的主要因素。
根据DDS的结构原理,DDS的工作频率显然受到器件速度的限制,主要是指ROM和DAC的速度的限制。
目前DDS的最高输出频率为1GHz左右。
随着微电子技术的发展,以后会有更高速度的DDS器件。
(7)相位噪声性能:
DDS的相位噪声主要由参考时钟信号的相噪、参考时钟的频率和输出频率之比的关系和器件本身的噪声基底决定。
从理论上讲,输出信号的相位噪声会对参考时钟的相位噪声有20lg(fc/fout)dB的改善。
但在实际工程中,必须要考虑包括相位累加器、ROM和DAC等在内的各部件噪声性能的影响。
(8)杂散抑制差:
由于DDS一般采用了相位截断技术,它的直接后果是给DDS的输出信号引入了杂散。
同时,波形存储器的波形幅度量化所引起的有限长效应和DAC的非理想特性也都对DDS的杂散抑制性能产生很大的影响。
杂散抑制较差是DDS的又一缺点。
另外,集成化、体积小、价格低、便于程控也是DDS的特点。
2.4FPGA介绍
随着微电子技术的发展,采用现场可编程门阵列(FPGA)进行数字信号处理得到了飞速发展,由于FPGA具有现场可编程的特点,可以实现专用集成电路,因此越来越受到硬件电路设计工程师们的青睐。
FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
FPGA有多种配置模式:
并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
3设计软件与语言
3.1涉及到的软件及设计语言
本课题用到的软件有:
QuartursⅡ、Matlab
主要设计语言为:
VHDL
3.2QuartursⅡ简介
Altera公司在推出各种系列的可编程逻辑器件的同时,也在不断地升级其相应的开发软件。
QuartusⅡ就是Altera公司推出的最新一代的可编程逻辑器件开发系统,QuartusⅡ支持对Altera公司的APEX、FLEX、Cyclone、Mercury、Excalibur、Stratix和StratixGX系列器件进行开发和配置。
QuartusⅡ还支持多平台工作,QuartusⅡ即可以工作于“PC+MicrosoftWindows操作系统”或“PC+RedHatLinux操作系统”上,还可以在其他多种工作平台上运行。
在QuartusⅡ集成开发环境中进行可编程ASIC设计的基本流程如图2.2所示,主要包括设计输入、设计编译、设计校验(时序分析、仿真)和器件编程四个部分。
我们在QuartusⅡ下,采用VHDL进行各模块的设计。
最后通过顶层文件来完成总体设计。
3.3Matlab简介
MATLAB软件是由美国MathworkS公司推出的用于数值计算和图形处理的科学计算系统环境。
MATLAB是英文以Trix LABoratory(矩阵实验室)的缩写。
它的第1版(DOS版本1.0)发行于1984年,经过10余年的不断改进,现今己推出它的windows98/NT版本(6.1版)。
新的版本集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。
在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。
MATLAB的语言特点:
1:
语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。
由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。
可以说,用MATLAB进行科技开发是站在专家的肩膀上。
具有FORTRAN和C等高级语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。
例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。
在求解过程中,最麻烦的要算第二部分。
解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试动不容易。
即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。
解线性方程的程序用FORTRAN和C这样的高级语言编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。
2:
运算符丰富。
由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
3:
MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4:
程序限制不严格,程序设计自由度大。
例如,在MATLAB里,用户无需对矩阵预定义就可使用。
5:
程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
6:
MATLAB的图形功能强大。
在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。
MATLAB还具有较强的编辑图形界面的能力。
7:
MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。
由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
8:
功能强大的工具箱是MATLAB的另一特色。
MATLAB包含两个部分:
核心部分和各种可选的工具箱。
核心部分中有数百个核心内部函数。
其工具箱又分为两类:
功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。
功能性工具箱用于多种学科。
而学科性工具箱是专业性比较强的,如control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9:
源程序的开放性。
开放性也许是MATLAB最受人们欢迎的特点。
除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
我们设计中主要应用MATLAB来生成ROM器件中的*.mif表
3.4VHDL简介
VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。
1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
应用VHDL进行工程设计的优点是多方面的。
(1):
与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2):
VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3):
VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4):
对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5):
VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
此设计中,DDS各模块的设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA DDS 信号发生器 设计