基于FPGA的方波信号发生器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA课程设计实验报告基于FPGA的方波信号发生器

设计内容:基于FPGA的方波信号发生器

代课老师:

学号:

姓名:

专业:电子与通信工程

摘要:本设计是采用了EDA技术设计的方波信号发生器。实现是基于FPGA语言描述正弦波基波和多次谐波叠加模块,然后在QuartusⅡ软件上实现波形的编译,仿真和下载到Cyclone芯片上。整个系统由正弦波产生模块、数码管显示模块、波形频率控制和波形幅度控制四个部分组成。最后经过QuartusⅡ软件仿真,证明此次设计可以通过多次谐波叠加形成方波,并通过频率控制和幅度控制改变方波波形。

关键字:VHDL;QuartusⅡ;Cyclone;函数信号发生器

1、Quartus II软件简介

1.1 Quartus II软件介绍

Quartus II 是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特点。

Quartus II是Altera公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF 网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。

1.2 Quartus II软件设计流程

(1)打开Quartus II软件。

(2)选择路径。注意:工作目录名不能有中文。

(3)添加设计文件。

(4)选择FPGA器件。Family选择Cyclone,240,8。

(5)建立原理图或用VHDL语言描述设计电路。

(6)对原理图或用VHDL语言进行编译,无误后进行添加信号。

(7)对上述电路进行仿真。

(8)进行管脚分配。

(9)全局编译,采用JTAG或者AS模式进行下载测试.

2、系统设计方案

采用现场可编程逻辑阵列(Field Programmable Gate Array ,FPGA)设计DDS 电路比专用DDS 芯片更具灵活性。因为只要通过改变FPGA 内部波形存储器中的波形数据,就可以实现任意波形输出,这使得用FPGA 来实现DDS 具有相当大的灵活性。相比之下,FPGA 所能实现的功能完全取决于设计需求,可以简单也可以复杂,另外,FPGA 芯片还支持在系统升级,虽然在精度和速度上略有不足,但是基本上能满足绝大数系统的要求,并且,将DDS 设计嵌入到FPGA 内部所构成的系统中,其系统成本并不会增加多少,而专用DDS 芯片的价格一般也比FPGA 高。因此,采用FPGA 来设计DDS 系统具有较高的性价比。

本设计利用正弦波的基波和多次谐波合成方波,通过相关按键来调节方波的频率相位和幅度,并在数码管上显示出来。

图1

2.1方波分解为多次正弦波之和的原理

代表周期性方波信号的函数()f t 满足狄利克雷条件,即方波可以表示为多次正弦波之和。如图2所示方波信号,其周期为2且正半周期负半周期是形状全同的矩形,在区间(0,2)内可用函数表示为:

1(01)

()1

(12)

t f t t ⎧<<⎪=⎨

-<<⎪⎩

若将()f t 展开为三角傅里叶级数,即将()f t 分解为多次正弦波之和,则有式(13)、式(14)可知,在区间(0,2)内,如图1 所示的周期为2的方波信号的

0a ,

n a ,n b 的值分别为:

0a =2

02()02f t dt =⎰ n a =202()cos 02f t n tdt ω=⎰

n b =202()sin 0

2f t n tdt n ω=⎰当为偶数

图2

202()sin 4/n 2

n b f t n tdt n ωπ==⎰当为奇数

则在区间(0,2)内()f t 可表示为:

4111()(sin sin 3sin 5sin 7573f t t t t t πππππ=+++⋅⋅⋅)

即周期为2s 的方波信号中含有大量的正弦波,其频率分别为1/2,3/2,5/2,7/2···其中频率为1/2的正弦波称为基波,其他频率的正弦波称为谐波。即一周期性方波,可表示为基波与无穷多谐波之和。

实用中进行信号分析时,不可能取无穷多次谐波之和,而只能用有限项来近似表示。这样就无法避免有一误差()t ε,如果将基波加到n 次谐波之和后的函数表示为()n f t ,则有()f t =()n f t +()t ε,即()t ε=()f t -()t ε。这里采用基波和3、5、7次谐波来合成方波。

2.2 DDS 波形发生器产生正弦波

直接数字频率合成器DDS (Direct Digital Synthesizer )是从相位概念出发直接合成所需波形的一种频率合成技术。一个直接数字频率合成器由相位累加器、波形ROM 、D/A 转换器和低通滤波器构成。DDS 的原理框图如图3所示:

图3

其中K为频率控制字、f

C

为时钟频率,N为相位累加器的字长,D为ROM数

据位及D/A转换器的字长。相位累加器在时钟f

C

的控制下以步长K作累加,输出N位二进制码作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出的幅码S(n)经D/A转换器变成阶梯波S(t),再经低通滤波器平滑后就可以得到合成的信号波形了。合成的信号波形形状取决于波形ROM中存放的幅码,因此用DDS可以产生任意波形。这里我们用DDS实现正弦波的合成。

2.2.1.频率预置与调节电路

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

0=f

C

K/2N,f

输出频率,f

C

为时钟频率。当K=1时,DDS输出最低频率(也即频率分辨率)为

f C /2N,而DDS的最大输出频率由Nyquist采样定理决定,即f

C

/2,也就是说K

的最大值为2N-1。因此,只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字K即可。

2.2.2相位累加器

相位累加器是整个DDS的核心,它由一个加法器和一个寄存器构成。加法器的一个输入与寄存器输出相连,另一个输入是外部输入的频率控制字。这样,在每个时钟到达时,相位寄存器采样上个时钟周期内相位寄存器的值与频率控制字之和,并作为相位累加器在这一时钟周期的输出。频率控制字决定了相应的相位增量,相位累加器则不断地对该相位增量进行线性累加,当相位累加器加满量时就会产生一次溢出,从而完成一个周期性的动作,这个动作周期即是DDS合成信号的一个频率周期。

图4

2.2.3波形ROM查找表

波形ROM模块由ROM:1-port宏模块生成,其地址线的位宽为9位,数据线

相关文档
最新文档