eda课程设计----正弦波信号发生器的设计

eda课程设计----正弦波信号发生器的设计

ID:11081850

大小:1.59 MB

页数:7页

时间:2018-07-09

eda课程设计----正弦波信号发生器的设计_第1页
eda课程设计----正弦波信号发生器的设计_第2页
eda课程设计----正弦波信号发生器的设计_第3页
eda课程设计----正弦波信号发生器的设计_第4页
eda课程设计----正弦波信号发生器的设计_第5页
资源描述:

《eda课程设计----正弦波信号发生器的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、EDA课程设计-----正弦波信号发生器的设计正弦信号源在实验室和电子工程设计中有着十分重要的作用,而传统的正弦信号源根据实际需要一般价格昂贵,低频输出时性能不好且不便于自动调节,工程实用性较差。本文的设计以较低的成本制作正弦信号发生器,可用作核磁共振中引发磁场测量仪的激励一般的正弦信号,也可作为调制用的教学演示信号源。正弦波信号发生器采用直接数字频率合成DDS技术,在CPLD上实现正弦信号查找表和地址扫描,经D/A输出可得到正弦信号。一.设计目的1、了解宏功能模块。2、学习用fpga实现正弦波信号的发生。二.正弦波信号发生器的设计思路2.1dds技术原理DDS(directdigitalsy

2、nthesizer)是从相位概念出发直接合成所需的波形的一种频率合成技术。一个dds信号发生器是由:相位累加器、波形数ROM表、D/A转换器以及模拟低通滤波器LPF组成,原理框图如图1所示。DDS技术的核心是相位累加器,相位累加器在稳定时钟信号的控制下产生读取数据的地址值,随后通过查表变换,地址值被转化为信号波形的数字幅度序列,再由数/模变换器(D/A)将代表波形幅度的数字序列转化为模拟电压,最后经由低通滤波器将D/A输出的阶梯状波形平滑为所需的连续波形。其中F为频率控制字、P为相位控制字、W为波形控制字、Fc为参考时钟频率。相位累加器在时钟Fc的控制下以步长F作累加,输出的值与相位控制字P和

3、波形控制字W相加后形成查表的地址值,对波形ROM进行寻址。波形ROM的输出值即是幅度值,经过D/A变换后形成阶梯状的波形,最后通过低通滤波平滑成所需的波形。合成信号的波形取决于ROM表中的幅度序列,通过修改数据可以产生任意波形,如果要产生多种波形,只需把所需的多种波形数据存放到波形ROM表中。本设计希望可以输出正弦波和锯齿波,输出的波形由波形控制字W控制。输出波形的频率为:Fout=(Fc*F)/2^N(其中的N表示相位相位累加器的位数,本设计采用256点的相位,有N=8)整体设计采用VHDL语言实现,使用Altera公司的QuartusII进行设计,顶层的原理图如图图1dds的原理图图2顶层

4、文件的设计2.2ROM表的设计与实现ROM表中包含了产生波形需要的幅值序列,是产生波形的核心模块。ROM表的设计方式有2种,如图2所示。第一种是连续型的,第二种是间隔型的。不同的ROM表结构需要采用不同的查表方式,所以ROM表的设计方式决定了相位累加器的构成。本设计采用了间隔式的存储方式,并存储了产生产生正弦波、锯齿波的数据。图3ROM表中地址存储的2种方式其中W1-1表示第一种波形的第一个相位幅值地址,W1-2表示第一种波形的第二个相位幅值地址。W2表示第2种波形。第一种设计采用连续方式:在波形ROM表中先连续存放第一种波形对应相位的所有幅值数据,然后接下来是第二种波形的所有幅值数据,依此类

5、推.。二种设计采用的是间隔式的方式:在波形ROM表中首先存放的是所有波形第一个相位的幅值数据,然后是所有波形第二个相位的幅值数据,依此类推。第二种方法采用间隔式存储,不能连续读取某种波形的相位。要获得某种波形的连续相位。只需在第一种的基础上乘以2(左移1位),第1种波形的第N个相位为:2*N,第二种波形的第N个相位地址表示为:2*N+1。ROM表的实现采用的是Quartus的MegaWizard生成。Mega是Quartus中用于RTL级设计的一个工具,可以方便的建立许多常用的模块。本设计采用Mega生成了一个512点的ROM表,如图4所示。图4生成的ROM表的数据ROM表中包含正弦波与锯齿波

6、的数据,采用间隔式的方式存放。奇数地址存放正弦波数据,偶数地址存放锯齿波数据。2.3相位累加器的设计以及实现由于采用间隔式的ROM表,所以相位累加器的设计采用的是间隔式的寻址方式。相位累加器的包括了4个部分:累加器、加法器1、乘法器、加法器2。累加器(ACC)是一个8位累加器。加法器1(ADD1)设计成8位加法器,作用是把ACC产生的地址值与相位控制字P的数值求和。由于本设计采用了2种波形,乘法器(MUL2)把得到的地址乘以2。如果有N种波形,则乘以N。最后在加法器2(ADD2)中实现波形控制,控制输出某种波形。4个模块全部采用VHDL语言实现。累加器是整个设计的关键部分,累加器以频率Fc进行

7、相位累加,步长由频率控制字F控制。当F=1时每次地址值增加1,输出波形的频率为:Fc/2^N。当F=K时每次地址数增加K,相位增加频率是F=1时的K倍,输出波形的频率变为:Fc*k/2^N,是F=1时的K倍。改变F的值就可以改变输出波形的频率。但是频率过高,会导致跳过的相位太多,一个周期内的相位点数大大减少,波形的精度降低。一般F设置在1到32之间比较合适。如果要进一步提高频率,可以提高时钟的频率

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。