基于FPGA的直接数字式频率合成器设计Word文档格式.docx
《基于FPGA的直接数字式频率合成器设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于FPGA的直接数字式频率合成器设计Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
摘要:
本设计基于现场可编程逻辑芯片EP2C5,利用直接数字合成技术,再辅以D/A转换器THS5651和EP2C5内核80C51,实现了在30Hz~15MHz范围内频率可调的正弦波、方波、三角波、锯齿波信号的产生,并通过数码管显示系统频率,利用QUARTUSⅡ开发平台和硬件描述语言通过现场可编程逻辑芯片EP2C5实现系统的软硬件设计。
阐明了利用FPGA芯片进行现代电子系统设计与传统设计方法相比的优势。
关键词:
直接数字频率合成技术现场可编程逻辑芯片相位累加器
第1章引言
直接数字频率合成(DirectDigitalFrequencySynthesis,DDS)是从相位概念出发直接合成所需要波形的一种新的频率合成技术。
直接数字频率合成技术以Nyquist时域采样定理为基础,在时域中进行频率合成。
直接数字频率合成器采用全数字的方式实现频率合成,与传统的频率合成技术相比,具有以下特点:
(1)频率转换快(可小于20ns)直接数字频率合成是一个开环系统,无任何反馈环节,其频率转换时间主要由频率控制字状态改变所需的时间及各电路的延时时间所决定,转换时间很短。
(2)频率分辨率高、频点数多。
DDS输出频率的分辨率和采点数随几位累加器的位数的增长而呈指数增长。
分辨率高达μHz。
(3)相位连续。
DDS在改变频率时只需改变频率控制字(即累加器累加步长),而不需改变原有的累加值,故改变频率时相位是连续的。
(4)相位噪声小。
DDS的相位噪声主要取决于参考源的相位噪声。
(5)控制容易、稳定可靠。
(6)具有相对带宽很宽。
另外,全数字化结构便于集成,输出相位连续,频率、相位、幅度都可以实现程控,通过更换波形数据可以轻易实现任意波形功能。
DDS也有局限性,主要表现在:
(1)输出频带范围有限。
由于DDS内部DAC和波形存储器ROM的工作速度限制,使得DDS输出的最高频率有限。
目前市场上采用CMOS、TYL、ECL工艺制作的DDS芯片,工作频率一般在几十MHz至400MHz左右。
采用GaAs工艺的DDS芯片工作频率可达2GHz左右。
(2)输出杂散大。
由于DDS采用全数字结构,不可避免的引入了杂散。
其来源主要有三个:
相位累加器、相位舍位误差造成的杂散;
幅度量化误差(由于存储器有限字长引起)造成的杂散和DAC非理想特性造成的杂散。
虽然有的专用DDS芯片的功能也比较多,但控制方式确实固定的,因此不一定能满足我们的需要,利用可编程逻辑芯片设计DDS的方法通常是采用VHDL语言输入和原理图法相结合来设计整个信号发生电路,这种方法通常需要调用很多模块,综合性较强,对设计者要求较高。
用FPGA实现DDS较专用DDS芯片更为灵活,只要改变FPGA中ROM内的数据和控制参数,DDS就可以产生任意调制波形,且分辨率高,具有相当大的灵活性。
将DDS设计嵌入到FPGA芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。
所以采用FPGA设计DDS系统具有很高的性价比。
利用FPGA也能输出较高质量的信号,虽然达不到专用DDS芯片的水平,但信号精度误差在允许范围之内。
第2章直接数字频率合成技术
2.1DDS的出现及其技术指标
直接数字频率合成(DirectDigitalFrequencySynthesis,简称:
DDS)技术是从相位概念出发直接合成所需波形的一种频率合成技术。
它是以一个固定频率精度的时钟作为参考时钟源,通过数字信号处理技术产生一个频率和相位可调的输出信号。
控制字一般是24--48位字长。
所以可以认为DDS就是数字信号处理理论的延伸,是数字信号中信号合成的硬件实现问题。
它出现于七十年代,标志着频率合成技术迈进了新时代。
1971年3月,J.Tierney和C.M.Tader等人首先提出了DDS的概念:
利用数字方式累加相位,再以相位之和作为地址来查询正弦函数表得到正弦波幅度的离散数字序列,最后经D/A交换得到模拟正弦波输出。
DDS由于具有极高的频率分辨率,极快的变频速度,变频相位连续,相噪较低,易于功能扩展和全数字纯便于集成等优点,因此在短短的二十多年里得到了飞速的发展和广泛应用。
频率合成技术的技术指标
频率合成技术有着诸多技术指标,这些技术指标决定了频率合成技术的特性及优缺点,下面介绍一些基本的频率合成技术的技术指标。
(1)频率范围频率合成后生成频率的波动范围,由最小合成频率fmin和最大合成频率fmax决定,合成的频率介于两者之间。
也常用相对带宽Δf来衡量频率范围。
(2)分辨率频率合成后两相邻相位点之间的间隔,不同要求的频率合成对分辨率的要求差别很大。
(3)切换时间从发出频率切换的指令开始,到频率切换完成,并进入允许的相位误差范围所需要的时间。
它与频率合成的方式密切相关。
2.2DDS基本原理
本设计中将用DDS的方法设计一个直接数字式频率合成器,为了便于更好的理解如下设计的实现,在这里先对DDS的基本原理作一个简单的介绍。
以频率合成器输出的是正弦信号为例,它可以用下式来描述:
…………………………………………………………(2-1)
其中
是指该信号发生器的输出信号波形,
是指输出信号对应的频率。
上式的表述对于时间
是连续的,为了用数字逻辑实现该表达式,必须进行离散化处理,用基准时钟
进行抽样,令正弦信号的相位:
………………………………………………………………………(2-2)
在一个
周期
,相位
的变化量为:
…………………………………………………………(2-3)
是指
的频率对于
可以理解成“满”相位,为了对
进行数字量化,把
切割成
份,由此每个
周期的相位增量
用量化值
来表述:
…………………………………………………………………(2-4)
且
为整数,与式(1-3)联立可证得:
,
………………………………………………(2-5)
显然,信号发生器的输出可描述为:
……………………………(2-6)
指的是前一个
周期的相位值,同样得到:
…(2-7)
由上面的推导可以看出只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前位置,而用于累加的相位增量量化值决定了信号的输出频率,并成简单的线形关系。
fo
2.3DDS结构及功能
图2.1DDS结构
DDS结构如图2.1所示,主要由相位累加器、波形存储器、D/A转换器、低通滤波器构成。
相位累加器由N位加法器与N位累加寄存器级联构成。
每来一个时钟脉冲fs,加法器将频率控制字K与累加寄存器输出地累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。
累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。
这样,相位累加器在时钟的作用下,不断对频率控制字进行线性相位
累加。
由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。
用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,这样就可把存储在波形存储器内的波形抽样值经查找表查出,完成相位到幅度的转换。
波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号,低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的信号。
2.4系统基本方案的论证与选择
根据DDS的基本原理,提出以下三种设计方案
方案一:
采用MAX038可构成高频函数发生器,能基本满足系统功能,但由于MAX038外围电路复杂而且不联合单片机时要想控制输出波形频率和波形种类较困难,同时测频模块也要再设计成一块电路,为了输出频率稳定还要设计锁相环电路,这样以来设计出的电路很大从而不便于调试。
方案二:
利用计数器、EPROM、DAC构成函数发生器,这种电路的实现起来简单,但也需要锁相环和单片机控制。
方案三:
基于FPGA的DDS相位累加原理的函数发生器,此系统集80c51单片机核锁相环、相位累加模块、波形查找表、测频模块等于一体集成在FPGA中再加外部D/A转换、幅度调节、滤波很好的实现了系统功能。
由于全部数字电路在FPGA中实现,使设计简单,外部干扰减少,最大的优点是可扩展性强,为以后功能扩展提供了良好的条件。
本方案设计新颖,具有系统结构紧凑、集成度高﹑资源利用率高、可复用性好、可配置性强的特点,可实现功能强大、性能稳定的系统。
第3章FPGA及其软硬件开发环境简介
本设计中主要用到的软硬件资源有FPGA、QuartusII7.1、VDHL硬件描述语言、KeilC51编译器。
下面对此一一介绍。
3.1现场可编程门阵列简介
FPGA是FieldProgrammableArray(现场可编程门阵列)的缩写,是在PAL、GAL、PLD等可编程器件基础上进一步发展的产物。
FPGA具有静态可重复编程和动态在系统重构的特性,使得硬件的功能
可以像软件一样通过编程来修改。
FPGA的集成度很高,其器件密度从数万门到数千万系统门不等,可以完成极其复杂的时序和组合逻辑电路设计,适用于高速、高密度的高端数字逻辑设计领域。
FPGA作为专用集成电路(ASIC)领域中的一种半定制电路而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA的基本组成部分有可编程输入/输出单元、基本可编程逻辑单元、嵌入式RAM块、丰富的布线资源、底层嵌入功能单元等。
(1)可编程输入输出单元
可编程输入输出单元(IOE)是芯片和外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需要。
为了使FPGA有更灵活的应用,目前大多数FPGA的I/O单元被设计成可编程模式,通过软件的灵活配置,可以适配不同的电气标准和物理特性;
可以调整匹配阻抗特性、上下拉电阻、输出驱动电流大小等。
一般来说,FPGA支持常见的电气标准有LVTTL、LVCOMS、SSTL、HSTL、LVDS、LVPECL和PCI等。
(2)基本可编程逻辑单元
基本可编程逻辑单元(LE)是可编程逻辑器件的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。
每个LE包含了一个4输入的查找表(LUT)、一个带有同步使能的可编程触发器、一个进位链和一个级联链。
查找表完成纯组合逻辑功能;
寄存器配置相当灵活,可配置为带同/异步复位/置位、时钟使能的触发器或者配置为锁存器。
(3)嵌入式RAM块
大多数FPGA都有内嵌的块RAM(BlockRAM)。
FPGA内部嵌入可编程RAM模块,大大地拓展了FPGA的应用范围和使用灵活性。
在本文中实现的过程中,块RAM是设计不可或缺的资源,内部RAM的使用节省了片外器件,从而节省了系统成本。
FPGA内嵌的块RAM一般可以灵活配置为单端口RAM(SinglePortRAM)、双端口RAM(DoublePortsRAM)、伪双端口RAM(PseudoDPRAM)、CAM(ContentAdderssableMemory)、FIFO(FirstInFirstOut)等常用存储结构。
(4)布线资源
布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。
FPGA内