2022年函数信号发生器设计.docx
精品学习资源个人收集整理仅供参考学习EDA课程设计大作业设计题目: 函数信号发生器设计同学姓名:高新利学号:202112172021专业班级:通信与信息系统欢迎下载精品学习资源函数信号发生器1. 设计背景和设计方案1.1 设计背景在电子工程、通信工程、自动掌握、遥测掌握、测量仪器、外表和运算机等技术领域,常常需要用到各种各样的信号波形发生器;随着集成电路的快速进展,用集成电路 可很便利地构成各种信号波形发生器;用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳固性等性能指标,都有了很大的提高;函数信号发生器是一种在科研和生产中常常用到的基本波形发生器, 随着大规模集成电路的快速进展, 多功能信号发生器已被制作成专用集成电路, 例如 ICL8038 单片函数波形发生器,可以产生精度较高的正弦波、方波、矩形波、锯齿波等多种信号;1.2 设计方案及实现函数信号发生器由方波产生模块( square ),三角波产生模块( san),正弦波产生模块( sin )和输出波形挑选模块( choice )组成;总体设计框图如下列图,图中输出q 需要接到外部 D/A 转换的数据输入端,将数字信号转换为模拟信号,在D/A 转换器的输出端即可得到各种不同的函数信号波形;假如输出脉冲波形边沿跳变不抱负,可加低通滤波器来加以完善;欢迎下载精品学习资源将各个模块分开来设计,先设计各个模块的程序,让后将程序生成对应的元件,然后再将这些元件链接到一起组成完整的硬件电路1.3 各模块程序及生成模块1.3.1三角波产生模块模块程序如下:module sanjiaoclk,dout1; input clk ;/ 信号源时钟output 6:0 dout1 ;/8位波形数据输出rom11 rom11/调用波形数据储备器 LPM_RO文M 件: drom.v .addressq1, /6位地址信号.clockclk,/地址锁存时钟.qdout1;reg 5:0 q1; reg newclk;reg 4:0 clk_cnt;/时钟分频alwaysposedge clk begin newclk <= clk_cnt1;clk_cnt <= clk_cnt+1;end/地址计数器 q1 alwaysposedge newclk beginq1<=q1+1;end endmodule生成的元件图:欢迎下载精品学习资源1.3.4 方波产生模块模块程序如下: module squclk,dout3; input clk ;/ 信号源时钟output 6:0 dout3 ;/8位波形数据输出rom33 rom33/调用波形数据储备器 LPM_RO文M 件: drom.v .addressq1, /6位地址信号.clockclk,/地址锁存时钟.qdout3;reg 5:0 q1; reg newclk;reg 4:0 clk_cnt;/时钟分频alwaysposedge clk begin newclk <= clk_cnt4;clk_cnt <= clk_cnt+1;end/地址计数器 q1 alwaysposedge newclk beginq1<=q1+1;end endmodule生成的元件图:欢迎下载精品学习资源1.3.5 正弦波产生模块模块程序如下: module sin clk,dout2; input clk ;/信号源时钟output 7:0 dout2 ;/8位波形数据输出rom22 rom22/调用波形数据储备器 LPM_RO文M 件: drom.v .addressq1, /6位地址信号.clockclk,/地址锁存时钟.qdout2;reg 5:0 q1; reg newclk;reg 4:0 clk_cnt;/时钟分频alwaysposedge clk begin newclk <= clk_cnt4;clk_cnt <= clk_cnt+1;end/地址计数器 q1 alwaysposedge newclk beginq1<=q1+1;endendmodule 生成的元件图:1.3.6 波形挑选模块模块程序如下: module duoxuan clk2,rst2,A1,A0,q1,q2,q3,data;欢迎下载精品学习资源input clk2; input rst2; input A1,A0;input6:0 q1,q2,q3; output 6:0data; reg 6:0 data;always posedge clk2 or negedge rst2 beginif.rst2 data=7'd0; else begin caseA1,A0 2'b00 : data=q1; 2'b01 : data=q2; 2'b10 : data=q3; 2'b11 : data=0; endcaseend endendmodule生成的元件图:2. 方案实施reset 为复位信号, clk 为时钟信号, sel 波形挑选信号输入口; 详细的实现成效为欢迎下载精品学习资源当信号 reset为低电平常,既复位端无效;当sel 信号为 000时挑选三角波信号产生模块,波形由挑选模块 choice 上的 q7.0输出,数字信号波形如图 1 所示;图 1 三角波当 sel 信号为001挑选方波信号产生模块, 波形由挑选模块 choice 上的 q7.0输出,数字信号波形如图 2 所示欢迎下载精品学习资源当sel 信号为010图 2 方波挑选正弦波信号产生模块, 波形由挑选模块 choice 上的 q7.0欢迎下载精品学习资源输出,数字信号波形如图 3 所示;欢迎下载精品学习资源3. 结果与结论图 3 正弦波欢迎下载精品学习资源仿真结果,经过多次调试达到预期成效;本次设计采纳了模块化的设计方法,将各个欢迎下载精品学习资源模块分开来设计,设计并仿真好一个模块的电路后再设计另外一个模块,这样便于检查错误和定位修改错误,为最终模块之间的组成供应便利;程序设计值归结于软件的仿真结果,系统的搭建和实物的构造可以借鉴,不能完全照搬!欢迎下载