基于FPGA信号发生器的设计与实现.docx
- 文档编号:11903458
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:10
- 大小:385.87KB
基于FPGA信号发生器的设计与实现.docx
《基于FPGA信号发生器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA信号发生器的设计与实现.docx(10页珍藏版)》请在冰豆网上搜索。
基于FPGA信号发生器的设计与实现
本科毕业论文(设计
题目基于FPGA信号发生器的设计与实现
院(系电子工程与电气自动化学院
专业电子科学与技术
学生姓名何厥亚
学号09026009
指导教师常红霞职称实验师
论文字数6018
完成日期:
2013年5月30日
巢湖学院本科毕业论文(设计诚信承诺书
本人郑重声明:
所呈交的本科毕业论文(设计,是本人在导师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
本人签名:
日期:
巢湖学院本科毕业论文(设计使用授权说明
本人完全了解巢湖学院有关收集、保留和使用毕业论文(设计的规定,即:
本科生在校期间进行毕业论文(设计工作的知识产权单位属巢湖学院。
学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文(设计被查阅和借阅;学校可以将毕业论文(设计的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。
保密的毕业论文(设计在解密后遵守此规定。
本人签名:
日期:
导师签名:
日期:
基于FPGA信号发生器的设计与实现
摘要
直接数字频率合成技术是从相位直接合成所需波形的一种新的频率合成技术。
本设计提出了基于FPGA的DDS的设计方案,并使用MAXPLUSⅡ软件在ACEX1K系列器件上进行了实现。
主体设计包括去抖模块、频率控制模块、相位累加模块、ROM模块、波形选择模块,最后在本方案的基础上提出了提高波形精度的方法。
本设计通过按键来控制频率,在相位累加模块实现累加,当累加溢出时,完成一个周期,按照地址值输出相应幅值。
本设计给出了各个模块以及总体的仿真结果,经过验证已经达到本设计预期的性能指标。
关键词:
直接数字频率合成器;可编程门阵列;VHDL
ThedesignandRealizationofsignalgeneratorbasedon
FPGA
Abstract
Directdigitalfrequencysynthesistechnologyisanewfrequencysynthesistechnology.Itwasproducedbasedonphasedirectly.ThispaperproposesadesignproposalofDDSthatbasedonFPGA,andwasimplementedinACEX1KseriesdeviceusingMAXPLUSII.Mainbodyofdesignincludescanceljumpmodule,frequencycontrolmodule,phaseaccumulatemodule,ROMmodule,waveformchoosemodule.Thispaperfinallyproposesmethodstoimprovetheprecisionofwaveformonthebaseofthisscheme.
Thefrequencywascontrolledthroughthebutton.Phaseaccumulatemoduleisusedforaccumulate.Whenaccumulateoverflows,itcompletesacycle.Accordingtoaddress,itoutputscorrespondingamplitudes.Finally,thesimulationofeverymodulewasgave,andtheperformanceindexisavailablethroughthisdesign.
KeyWords:
DDS,FPGA,VHDL
摘要..........................................................................................................................IAbstract.......................................................................................................................II1.绪论(1
1.1引言(1
1.2课题研究背景(1
1.3国内外研究状况(2
1.4本设计的主要思路(2
2.DDS设计原理(3
2.1DDS实现的基本原理(3
2.2DDS信号发生器的实现方式(3
2.2.1DDS直接数字频率合成(3
2.2.2实现过程介绍(4
3.DDS信号发生器具体实现过程(5
3.1去抖模块(5
3.2频率控制模块(6
3.3相位累加模块(6
3.4ROM模块(8
3.5选择波形模块(9
参考文献(12
致谢(13
巢湖学院2013届本科毕业论文(设计
1.绪论
1.1引言
频率合成器在现代电子设备以及系统功能中扮演着不可或缺的角色。
20世纪末,科技发展的同时,频率合成技术也发展的有声有色,直接数字频率合成(DDS技术也是当时新发明的一种拥有较高分辨率、相互切换迅速、连续相位等优点一种频率合成技术。
也正因为DDS具有以上等优点,使得它在信息通讯,国防等领域得到非常广泛的使用。
1.2课题研究背景
频率合成技术最早起源于二十世纪三十年代,直到今天已经有七十年的历史了。
频率合成器在电子系统领域中扮演着不可或缺的角色,电子系统的性能优劣主要由它来决定的,随着现代科技、无线通信事业等等的飞速发展,对于频率合成器的要求也是越来越高。
正因为频率合成器如此重要,各个国家也是一直不断的在研究它,频率合成器的特点也越来越多样化和得到完善。
紧接一些比较大的集成电路和相关信号理论飞速的发展,直接数字频率合成(DDS在七十年代初出现了,DDS是崭新的一项数字频率合成技术,正因为它的出现,标志着频率合成技术已经达到比较成熟的阶段。
最先发明提出DDS概念的是J.Tierney和C.M.Tader等一些人,它利用数字方式累加相位,再以相位之和作为地址来查询正弦函数表来得到离散数字序列,通过过D/A变换以后,就能得到模拟的正弦波。
当系统时钟不变的情况下,输出频率由频率寄存器中的频率字来决定。
而分辨率累则是由加器的字长来决定。
DDS具有以下几个优点:
(1频率分辨率较高,输出频点较多,可达2的n次方个频点(n为DDS相位累加器的字长;(2频率切换速度很快,可以达到岸s量级;(3在频率切换的同时相位连续;(4可以输出正交信号;(5输出噪声小,很好的改善了频率源的相位噪声;(6能够产生几乎所有波形;(7全数字化实现,以便于集成,体积小,重量轻。
由于DDS具有以上诸多优点使得它在短短几十年内被各个领域广泛的应用。
由此可知,对课题的深入研究设计对电子信息专业的学
基于FPGA信号发生器的设计与实现
生来说很有必要。
1.3国内外研究状况
在我国,数字信号发生器的发展还是比较快的,并且广泛应用于通信、雷达、无线电导航、影视音响等等电测仪器领域。
比如南京新联电子的EE1642B1输出频率为0.1~150MHz,上海爱仪的AS1051S频率输出范围0.1~150MHz,它们都具有信号失真小,输出稳幅等特点。
在国内,还是有很多厂家生产信号发生器的,但是与外国的一些产品对比来说,信号发生器的分辨率,切换速度,相位噪声等等这些方面还是有比较大的差距。
外国数字信号发生器的研究已经比较成熟了,诸多著名的电子公司己经研制出品质优良的数字信号发生器,如ADI公司是美国的一家大型器件公司,它是业界非常先进的DDS解决方案的开发商,其DDSIC采用数字技术合成多种跳频应用所需要的模拟波形在各个领域应用都是非常的广,如雷达、国防、测试设备、移动通信、电子通信系统。
1.4本设计的主要思路
本设计主要完成FPGA信号发生器的设计以及实现问题。
整体思路如下:
(1介绍DDS实现原理
(2根据设计要求设计单元电路功能模块
(3在MAXPLUSⅡ软件里完成本设计
(4对各个模块以及总体进行仿真
巢湖学院2013届本科毕业论文(设计
2.DDS设计原理
2.1DDS实现的基本原理
DDS技术的原理框图如下图2-1,起共组原理是根据时钟脉冲fc,频率控制字M利用N位相位累加器进行循环累加,波形表存储器用来接收相加后的结果,这是通过相位储存器这个桥梁来实现的,紧接着波形表存储器根据这个地址值输出相应的波形数据。
最后经过D/A转换以及滤波将波形数据转换成所需要的模拟波形输出。
图2-1DDS原理框图
2.2DDS信号发生器的实现方式
2.2.1DDS直接数字频率合成
采用DDS直接数字频率合成器来设计总体框图如图2-2所示。
DDS器件采用的高速数字电路以及高速D/A转换技术,具有频率稳定度较高、频率分辨率较高、频率转换时间较短、输出信号频率和相位可快速程控切换等等优点,因此我们可以利用DDS具有优良的相位控制和幅度控制等功能,除此之外其数据采样功能也是非常精确和完善的,它可以产生比较精确的任何有规则波形信号,可实现对于信号进行全数字式调制。
频率控制字
信号输出
时钟
图2-2DDS直接数字频率合成器总体框图
相位累加器ROM低通滤波器
D/A转换
基于FPGA信号发生器的设计与实现
2.2.2实现过程介绍
相位累加器由N位加法器与N位累加寄存器级联组成。
每来一个时钟脉冲fs,加法器将频率控制字K与累加寄存器输出的累加相位数据进行相加,接着把相加后的结果送到累加寄存器的数据输出端。
累加寄存器将加法器在上一个时钟脉冲作用,紧接着产生的相位数据反馈到了加法器的输入端中,以便于使加法器在下一个时钟脉冲的作用下继续和频率控制字相加。
这样相位累加器通过时钟作用,可以不停地对频率控制字进行线性相位累加。
经过上面过程可以看出,相位累加器在每一个时钟脉冲输入的时候,都将频率控制字累加一次,合成信号的相位就代替了相位累加器输出的数据,因此DDS输出的信号频率就等同于相位累加器的益处频率。
用相位累加器输出的数据当作波形存储器(ROM的相位取样地址,这样也就把存储在波形存储器里的波形抽样值(2进制编码经过查表查出完成相位道幅值进行转换。
波形存储器的输出送到D/A转换,所需要合成频率的模拟信号是由数字量形式的波形幅值转换而来,这一过程依旧用D/A来实现。
不需要的取样分量通过低通滤波器来滤除,以便于输出频谱比较纯净的正弦波信号。
3.DDS信号发生器具体实现过程
经过对DDS信号发生器基本原理的分析,DDS信号发生器的基本原理是以数控振荡器的方式,产生频率、相位可控制的正弦波。
电路是由频率控制模块、相位累加模块、ROM模块以及波形选择模块构成。
3.1去抖模块
去抖模块的作用是按键去抖动,利用2个D触发器和一些逻辑器件,实现去除机械开关抖动的目的,并为FIN模块输入一个脉冲信号。
机械开关(如按键、拨动开关、继电器等等常常被用作数字系统的逻辑电平输入装置,在机械开关接通或断开瞬间,触点由于机械的弹性震颤,会出现“抖动”现象,即电路在短时间内多次接通和断开,使逻辑电平多次在0和1之间跳变,导致错误的逻辑输入。
在设计数字系统时,通常需要采用硬件方法或软件方法来克服其不良影响。
去抖动电路特别适用于需要对机械开关状态进行计数的场合,它可以消除开关触点抖动造成的误计数。
图3-1Qudou模块图
图3-2Qudou模块仿真图
3.2频率控制模块
FIN模块的输入为QUDOU模块输出的脉冲信号,输出dout为3位二进制,从“000”到“111”,总计8种,实现8种频率变换,每按一次,就实现一次变换,当“111”后再按一次,就溢出,重新返回“000”,也就完成一个周期。
DDS输出信号的频率和基准时钟的频率的关系为:
其中为基准时钟频率,为波形存储器的字数,N为相位累加器的字数,
K为频率控制字。
假定基准时钟为131KHz,累加器为8位,K=2,则=1024Hz。
可见通过设定相位累加器位数、频率控制字和基准时钟的值,这样就可以产生任一频率的输出。
在本设计中,由于N=8,K为0到7,所以可以由基准时钟频率计算出输出频率。
图3-3Fin模块仿真图
3.3相位累加模块
最关键的设计是PHLOGIC单元,它是控制从哪个存储器中取数据以及取数据的步进是多少的控制单元。
在PHLOGIC单元中,输入k[2..0]为控制从哪个存储器中取数据,当KD1-KD3为001、010、100时DDS分别输出矩形波,三角波,正弦波。
Fin[2..0]的输入即上个频率控制模块FIN的输出Led[1..3],gck为取样值的频率,sin,rec,tra分别为输向三个存储器的地址值。
Vhdl默认各个存储器的初始地址均为“00000000”,于是当相应的时钟的上升沿到来时,就实现与频率段调节fin的累加,当累加完成溢出时,就完成了一个完整的周期。
下面是该单元的源程序:
libraryieee;--phaselogiccontrol;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityphlogicis
port(k,fin:
instd_logic_vector(2downto0;――k为波形选择,fin频率段调节gck:
instd_logic;――取样值的频率
sin,rec,tra:
outstd_logic_vector(7downto0;――分别输向三个存储器的地址值
endphlogic;
architectureaofphlogicis
signalq1,q2,q3:
std_logic_vector(7downto0;
signals:
std_logic_vector(2downto0;
signalclk0,clk1,clk2:
std_logic;
begin
clk0<=gckandk(0;
clk1<=gckandk(1;
clk2<=gckandk(2;
s<=fin;
process(clk0――取正弦波样值
begin
ifclk0'eventandclk0='1'then
q1<=q1+s;
endif;
endprocess;
process(clk1――取方波的样值
begin
ifclk1'eventandclk1='1'then
q2<=q2+s;
endif;
endprocess;
process(clk2――取三角波的样值
begin
ifclk2'eventandclk2='1'then
q3<=q3+s;
endif;
endprocess;
sin<=q1;
rec<=q2;
tra<=q3;
enda;
由上面程序可知,控制从哪个存储器中取数据样值是通过用K输入来分别选择每个存储器的取值频率实现,而取值步进是由fin来决定,fin越大则取值的步进越大,输出合成的频率也就越高。
当然它是与取值频率gck是由关系的,gck越大输出的频率段值也相应增大,在本设计中gck是可以任意改变的(不能接100M,因为D/A转换速度有限。
3.4ROM模块
基于LUT查找表的方法这种类型的直接数字频率合成器,在ROM中存储完整的或部分的正弦信号,相位累加器的输出作为读取ROM的地址信号。
DDS查询表ROM所存储的数据是每一个相位所对应的二进制竖子正弦幅值,L取很大,这是为了得到高的分辨率,这么高的位数,那么ROM必须要求很高的容量,在一块儿芯片上集成这么大的ROM会使成本大大的提高,不但功耗增大而且可靠性下降,输出也精度受到D/A位数的限制,未有很大改善,所以提出了很多压缩ROM容量的方法,由于正弦函数具有对称性,进过上面的实验,本模块压缩算法决定用不同的对称性来实现。
本设计查表转换用正弦ROM查找表来完成的,相位累加器的输出是它的输入,也就是ROM的地址值,接着输出到D/A,最后转化成模拟信号输出出来。
在ROM模块中的“.mif”文件是ROM中的采样点数据文件,可以用程序语言生成,比如用C语言。
用VHDL设计8位ROM,其模块如图3-4所示
图3-48位Rom模块图
3.5选择波形模块
图3-5选择波形模块图
选择波形模块的输入ad[23..0]为rom模块的三个输出,输入k[2..0]为控制从哪个存储器中取数据,当KD1-KD3为001、010、100时dds分别输出矩形波,三角波,正弦波。
输出d[7..0]为从ROM中选择输出的幅值。
libraryieee;
useieee.std_logic_1164.all;
entityselis
port(q:
instd_logic_vector(23downto0;
se:
instd_logic_vector(2downto0;
基于FPGA信号发生器的设计与实现d:
outstd_logic_vector(7downto0;end;architectureaofselisbeginwithseselectd<=q(7downto0when"001",q(15downto8when"010",q(23downto16when"100","00000000"whenothers;enda;图3-6DDS总体仿真图用matlab软件根据ROM模块输出的正弦波幅值,描绘正弦波波形如图3-7和图3-8所示:
图3-7256个采样点的正弦波波形图10
巢湖学院2013届本科毕业论文(设计图3-816个采样点的正弦波波形图比较图3-7和图3-8可知,图3-7是由256个采样点的幅值描绘的波形,图3-8是由16个采样点的幅值描绘的波形,由图可知,采样点越多,描绘出的正弦波波形就更加平滑,更加接近真实值。
11
基于FPGA信号发生器的设计与实现参考文献[1]潘松,黄继业.EDA技术实用教程(第二版[M].北京大学出版社.2005.2.[2]亿特科技.CPLD/FPGA应用系统设计与产品开发[J].人民邮电出版社.2005.7.[3]李辉.PLD与数字系统设计[M].西安电子科技的大学出版社.2005.5.[4]王志鹏,付丽琴.可编程逻辑器件开发技术[M].北京国防工业出版社2005.3.[5]王道先.VHDL电路设计技术[M].北京国防工业出版社.2004.1.[6]赵不贿.在系统可编程器件与开发技术[M].机械工业出版社.2001.6.[7]曾繁泰.EDA工程的理念与实践[M].电子工业出版社.2004.5.[8]尹佳喜,尹仕.基于CPLD的三项多波形函数发生器设计[J].2005.6.[9]高淼.基于FPGA的自治型SPWM波形发生器的设计[J].2005.10.[10]李刚强.FPGA设计中关键问题的研究[M].2003.10.[11]李国丽.EDA与数字系统设计[M].机械工业出版社.2003.5.[12]张厥盛,曹丽娜.锁相与频率合成技术[M].成都电子科技大学出版社.2003.4.[13]翁木云.FPGA设计与应用[M].西安电子科技大学.2003:
12-128.[14]林明权.VHDL数字控制系统设计范例[M].电子工业出版社.2003:
224-241.[15]高玉良,李延辉,俞志强.现代频率合成与控制技术[M].北京航空工业出版社,2002:
15-150.12
巢湖学院2013届本科毕业论文(设计致谢光阴荏苒如白驹过隙,离那个时间也越来越近,我们也即将各自踏上自己的人生道路。
大学四年,一路走来,有过欢乐,有过痛苦,有过奋斗,也有过沉沦。
有那么多的笑容与泪水,还有那么多一起生活过的室友与哥们!
还记得吗?
每个寝室都会有一个早上喊你起床上课的,中午喊你吃饭的,还有让帮忙打水的。
这么多珍贵的回忆,在这一刻,都像放电影一样,在脑海中一遍一遍地闪现着。
但是,在这即将离别的时刻,我们还必须要完成一项任务,那就是毕业论文。
本次的论文在常红霞老师的耐心指导下,顺利完成。
非常感谢常红霞老师对我的指导。
有很多问题,都是在老师的指导下,才豁然开朗。
同时,也要感谢其他给予我帮助的同学和老师们!
他们在论文的书写以及方向上,提出了很多有建设性的建议。
13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 信号发生器 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)