基于FPGA的数字信号发生器设计
摘要:数字信号发生器是在实验室进行测试信号和调试过程中经常使用到的一种工具。 本课题利用DDS技术在FPGA的基础上设计了一种频率可调的数字信号发生器。该数字信号发生器能够产生在实验室中经常需要用到的四种波形信号,即:正弦波、方波、三角波以及锯齿波,而且具有频率可控的功能。整个系统的软件设计通过Alter公司的Quartus II软件来完成,而后则通过嵌入式逻辑分析仪来完成系统的仿真与测试。
关键词: FPGA;数字信号发生器;DDS;频率合成;嵌入式逻辑分析仪
目 录
中文摘要、关键字 (I)
英文摘要、关键字 (II)
第1章 绪论 (1)
1.1 数字信号发生器发展现状 (1)
1.2 频率合成技术简介 (1)
1.3 本课题研究意义 (2)
第2章 相关软件、硬件介绍 (3)
2.1 Quartus II简介 (3)
2.2 嵌入式逻辑分析仪SignalTap II简介 (3)
2.3 其他软件 (3)
2.4 Cyclone III系列FPGA开发板简介 (4)
第3章 DDS的基本原理 (5)
3.1 DDS实现原理 (5)
3.2 DDS基本结构 (6)
第4章 数字信号发生器的软件设计与仿真 (8)
4.1 系统整体设计 (8)
4.2 系统软件设计 (10)
4.2.1 频率控制字 (10)
4.2.2 地址输出模块设计 (11)
4.2.3 波形存储模块 (13)
4.2.4 波形控制和选择模块 (13)
4.2.5 系统总图 (16)
4.3 系统硬件连接 (18)
第5章 系统调试及数据分析 (21)
结 论 (24)
参考文献 (26)
致 谢 (27)
第1章 绪论
1.1 数字信号发生器发展现状
在当今社会,电子技术的发展速度越来越快,在这种情况下,电路测试信号和集成电路设计对数字信号发生器的要求也随着升高。除了用来产生传统的标准波形信号之外,数字信号发生器还经常用于模拟输出一些不规则的信号,以使其与现实生活中的真实信号更加接近,而在被测设备在测试过程中可能遇到的漂移、毛刺、噪声或者一些其他突发状况等等,所有这些对信号的干扰现象都要求数字信号发生器能够在更小的误差范围内更为精确地调整输出信号的一些基本参数,如频率、幅度、输出电压或者功率等,并且拥有更好的输出指示及稳定性。
结 论
本设计基于FPGA实现了正弦波、方波、三角波以及锯齿波等四种波形信号的输出,而且能够控制输出信号的频率。其主要内容既包含了Quartus II软件设计,又涵盖了FPGA开发板控制,将系统的软件设计与硬件芯片相结合,并在此基础上完成了整个系统的设计与仿真调试。
本课题设计也存在一些不足之处,主要列举如下:
本设计的DDS系统设计的不够完善,输出信号存在一定的干扰和误差,输出信号的幅度较小,与实际的正弦波、方波、三角波及锯齿波相比存在一定的偏差,而且其频率控制范围较小,在实际当中可以通过增加频率控制字的位数来增加频率控制的范围。
在本课题的设计过程当中,我经历了许多,同时也收获了许多。在此期间,我也遇到了一些比较棘手的问题,但在指导老师的耐心指导、同学的帮助和自己的不断努力之下,这些问题最终都得到了解决。
问题1:DDS技术的基本原理中频率控制字如何控制输出信号的频率?
DDS技术中通过频率控制字输入数据的不同初值来控制输出波形信号的频率,而系统所提供的时钟频率是固定不变的,那么频率控制字是如何来控制输出波形信号的频率呢?DDS波形信号的输出是通过频率寄存器输出的高8位作为其波形存储器ROM的地址输入信号,若能改变这个地址信号输入的频率,就能够控制输出波形信号的频率。通过16位加法器将频率控制字的输入数据与频率寄存器的输出数据相加作为下一时钟周期频率寄存器的输入信号,其高8位则作为下一时钟周期ROM存储器的地址输入信号。很明显,若能改变频率控制字的输入初值,则频率寄存器输出高8位的变化速度也将随之发生改变,这样就能够控制ROM存储器输出波形信号的频率。
问题2:输出波形数据的内部干扰较大,得不到理想波形。
在设计初期阶段,没有用到2-4译码器。而在使用嵌入式逻辑分析仪对信号进行测试时,发现输出信号没有规律,不能按照需要输出所需波形。经过一段时间的系统调试和思考,并在查阅相关资料以后,我发现问题可能出在每个波形存储器ROM都有不同的波形输出,而输出端的波形选择器不能够很好的对波形进行选择输出,特别是在波形转换时,输出的波形所受干扰严重,导致输出波形失真。后来,在每个波形存储器ROM上添加了使能端输入,并通过一个简单的2-4译码器来加以控制,这样在同一时刻就只允许一个ROM输出波形,大大降低了内部信号的干扰。2-4译码器与波形选择器的输入均由FPGA开发板上的两个拨码开关控制,保证了二者之间的同步控制。
总而言之,课程设计的过程是曲折的,但收获是丰富的,本次课程设计使我学习到了许多课本上没有的知识,也使我对FPGA有了更深层次的理解与认识,提高了自己的专业水平,同时,也提高了我发现问题并解决问题的能力,对我以后的成长和发展有极大的帮助。
参考文献
[1] 李雪梅,张宏财,王学伟.基于DDS技术的信号源设计[J].电测与仪表,2010, 47(529):55.
[2] 潘松,黄继业.EDA技术实用教程——VHDL版(第四版)[M].北京:科学出版社,2010:45-46.
[3] 王诚,蔡海宁,吴继华.Altera FPGA/CPLD设计(基础篇)(第二版)[M].北京:人民邮电出版社,2011:57-66.
[4] 华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].北京:人民邮电出版社,2008:87-89.
[5] 刘延飞,郭锁利,王晓戎,李琪,常春藤.基于Altera FPGA/CPLD的电子系统设计及工程实践[M].北京:人民邮电出版社,2009:68-89.
[6] 罗苑堂.CPLD/FPGA常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2007:90-101.
[7] 潘松,王国栋.VHDL实用教程(修订版)[M].城都:成都电子科技大学出版社.2001:56-60.
[8] 徐志军,徐光辉.CPLD/FPGA的开发与应用[M].北京:电子工业出版社.2002:47-60.
[9] 王锁萍.电子设计自动化(EDA)教程[M].成都:成都电子科技大学出版社.2000:108-113.
[10] 詹仙宁,田耘.VHDL开放精解与实例剖析[M] .北京:电子工业出版社.2009:78-84.