EDA课程设计多功能波形信号发生器

上传人:夏** 文档编号:410025903 上传时间:2023-03-07 格式:DOC 页数:37 大小:2.15MB
返回 下载 相关 举报
EDA课程设计多功能波形信号发生器_第1页
第1页 / 共37页
EDA课程设计多功能波形信号发生器_第2页
第2页 / 共37页
EDA课程设计多功能波形信号发生器_第3页
第3页 / 共37页
EDA课程设计多功能波形信号发生器_第4页
第4页 / 共37页
EDA课程设计多功能波形信号发生器_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《EDA课程设计多功能波形信号发生器》由会员分享,可在线阅读,更多相关《EDA课程设计多功能波形信号发生器(37页珍藏版)》请在金锄头文库上搜索。

1、目录摘要1一、设计要求2三、系统设计思路33.1 波形函数发生装置的选择33.2 波形输入输出控制方式的选择3四、各模块设计及仿真44.1函数发生模块44.1.1 正弦波模块44.1.2 方波模块54.1.3 递增锯齿波模块74.1.4 递减锯齿波模块84.1.5 阶梯波模块94.1.6 三角波模块104.2调控模块124.2.1波形输出控制单元124.2.2波形输入控制单元134.2.3频率控制单元154.2.4幅度控制单元164.3 D/A转换器174.4 总电路19五、 硬件测试205.1编译205.2 引脚的锁定215.3编程下载225.4 硬件验证22六、课程设计心得体会25参考文献

2、26附录27摘要本次设计课题为应用VHDL语言及MAX+PLUSII软件提供的原理图输入设计功能,组合电子线路的设计加以完成一个任意波形信号发生器。它具有结构紧凑,性能稳定,设计结构灵活,方便进行多功能组成的特点,经济实用,成本低廉的特点。可产生正弦波、方波、三角波、递增锯齿波、递减锯齿波以及阶梯波,并可使用示波器观察波形。实现了系统信号实时快速测量,也为其广泛应用于实际领域创造了条件。在实现过程中,将整体功能模块化,分为函数发生模块和调控模块。在调控模块中实现了调频调幅以及对于波形的输入输出控制。对于D/A转化器,本实验选择的是TLC7528,利用简单的8进制计数控制CS和WR端口的同步输出

3、,实现数模转换的同时,保持相应位的同步实现。在课程设计中遇到了诸多困难,在用示波器显示波形时,却总是得不到稳定的波形,后来发现在输入控制中,仅需要3位二进制数即能完成简单的8进制计数,自己却习惯性的用了8位,这使得分频现象严重,更改后即得到了了稳定的输出波形,经过反复修改调试,最终试验成功。关键词:智能信号发生器 VHDL MAX+PLUSII TLC7528 一、设计要求要求设计一个智能函数发生器,该智能函数发生器能够产生递增锯齿波、递减锯齿波、方波、三角波、正弦波以及阶梯波,并且可以通过选择开关选择输出相应波形,具有一定的调幅和调频功能。同时具有复位的功能,通过按键确定输出的波形及确定是否

4、输出波形。 二、系统设计方案1、系统的整体原理框图:时钟clk调 频输入控制三 角 波 阶 梯 波正 弦 波方 波递减锯齿 波输 出波形选择复位reset递增锯齿波调 幅D/A转换器 图 1 系统的整体原理框图2、系统框图图 2 任意波形信号发生器系统框图三、系统设计思路3.1 波形函数发生装置的选择波形函数发生方案众多,我们要选择一种易于实现且精度高的方案,以此来提高本设计的实用性。方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。方案二:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,无法实现阶梯波和递增递减锯齿波的产

5、生,所以舍弃此方案。方案三:用VHDL语言编写程序,调试成功后下载至实验装置的芯片上,再利用外接D/A转换电路(TLC7528)实现以上设计功能。此种方案完全可以生成设计要求的6种波形,而且通过软件仿真可以直观的观测的输出的波形参数,方便调试和更改波形参数,外围电路简单,减少器件损耗,精度高。因此在本次设计中我们选择了VHDL。3.2 波形输入输出控制方式的选择方案一:控制多路D/A开关输出方式此种方案为每一路输出的波形函数使用一路D/A转换后输出,通过控制开关控制每一路D/A是否工作,决定输出的波形。此种方案可以同时输出多路波形,但是需要路D/A转化器,外围电路复杂,制作成本较高而且控制复杂

6、。方案二:采用数据选择器方式此种方案可以利用VHDL语言写出数据选择器,然后每种函数发生器的输出和数据选择器输入相连接,通过控制开关选择对应的波形输出。方案二完全可以得到方案一的设计要求,而且只需一个D/A转换器就可以。电路不需要外部搭建,节约成本且控制简单方便。基于方案二的设计简便、节约制作元件和成本、控制简便等优点,选择方案二作为波形函数输出控制方式。四、各模块设计及仿真经过功能分析,将系统分为两大模块,分别为函数发生模块和调控模块。函数发生模块包括:正弦波模块、三角波模块、方波模块、阶梯波模块、递增或递减锯齿波模块;调控模块包括:选频模块、调幅模块、输入控制模块以及输出控制模块。4.1函

7、数发生模块4.1.1 正弦波模块正弦波sin的VHDL程序如附录所示,其中CLK是输入时钟端口,RESET为输入复位端口,D_OUT7.0为八位二进制输出端口。SIN_ROM正弦波函数发生模块框图如下图所示:图3 正弦波函数发生模块框图 正弦波可用两种方法,即计算法和查表法产生。计算法要用浮点运算,复杂且耗时太长,一般不采用。查表法是事先将正弦波的数据计算出来,列表放在程序中,运行时直接调取数据。用公式y=127.5+127.5sin(360n/m)可计算出正弦波的输出值,公式中的m为输出点数,n=1,2,m。m值取小一些可以提高波形频率,但波形畸变会增大,增加输出点虽然可以改善波形,但输出频

8、率会降低,实践表明,m取64时,可以得到很好的正弦波。BEGIN IF RESET=1THEN D_OUT=0; ELSIF CLKEVENT AND CLK=1THEN IF TMP=63 THEN TMP:=0; ELSE TMP:=TMP+1; END IF;正弦波函数波形仿真图如下图所示:图4 正弦波函数波形仿真图如图所示,复位信号为高电平时,输出清零,否则正常输出,但幅度未从0-255,原因是考虑到示波器基准电平的问题,人为的提高最低电平到50.4.1.2 方波模块方波的VHDL程序如附录所示,其中CLK是输入时钟端口,RESET为输入复位端口,Q_OUT7.0为八位二进制输出端口。

9、方波波函数发生模块框图如下图所示:图5 方波函数发生模块框图 方波只有两个值,可以采用两个极端值0和FFH。根据输出标志A的数值输出对应的数值,当A=0输出0,也即是方波周期中的低电平,当A=1,输出255,也即是方波周期中的高电平。连续的输出便成了观测到的方波波形。其VHDL描述如下:IF (RESET=1) THEN A=0; ELSIF CLKEVENT AND CLK=1 THEN IF (TMP=1111)THEN TMP:=0000; ELSE TMP:=TMP+1; END IF; IF (TMP=1000)THEN A=1; ELSE A=0; END IF; END IF;

10、END PROCESS; PROCESS(CLK,A) BEGIN IF CLKEVENT AND CLK=1 THEN IF A=1THEN Q=11111111; ELSE Q=00000000; END IF; END IF;方波函数波形仿真图:图6 方波函数波形仿真图如图所示,复位信号为高电平时,输出清零,否则正常输出。4.1.3 递增锯齿波模块递增锯齿波的VHDL程序如附录所示,其中CLK是输入时钟端口,RESET为输入复位端口,Q_OUT7.0为八位二进制输出端口。递增锯齿波函数发生模块框图如下图所示:图 7 递增锯齿波函数发生模块框图 程序设计的当复位信号为1时,输出为0,无对应

11、的波形产生。当复位信号为0时,每当检测到时钟上升沿时,计数器值加1,当增加到最大后清零。计数值增加呈现线性关系,因此输出的波形是递增的斜波。从仿真波形图也能看出这种变化规律。VHDL描述为:IF TMP=11111111 THEN TMP:=00000000;ELSE TMP:=TMP+1;END IF;END IF;递增锯齿波函数波形仿真图如下图所示:图 8 递增锯齿波函数波形仿真图4.1.4 递减锯齿波模块递减锯齿波的VHDL程序如附录所示,其中CLK是输入时钟端口,RESET为输入复位端口,Q_OUT7.0为八位二进制输出端口。递减锯齿波函数发生模块框图如下图所示:图 9 递减锯齿波函数

12、发生模块框图 程序设计的是复位信号为0时输出为0,无对应的波形产生。当复位信号为1时,当每当检测到时钟上升沿时,计数值减1,当减到0后赋值到最大。计数值减少呈现线性关系,因此输出的波形是递减的锯齿波。从仿真波形图也能看出这种变化规律。VHDL描述为: IF RESET=1 THEN TMP:=11111111; ELSIF CLKEVENT AND CLK=1 THENIF TMP=00000000 THEN TMP:=11111111;ELSE TMP:=TMP-1; -阶梯为1,递减信号的变化END IF; END IF;递减锯齿波函数波形仿真图如下图所示:图10 递减锯齿波函数波形仿真图4.1.5 阶梯波模块阶梯波的VHDL程序如附录所示,其中CLK是输入时钟端口,RESET为输入复位端口,Q_OUT7.0为八位二进制输出端口。阶梯波函数发生模块框图如下图所示:图 11 阶梯波函数发生模块框图阶梯波设计的是数据的递增是以一定的阶梯常数向上增加,所以输出的波形呈现是成阶梯状的,而不是,完全呈现是直线增长。从仿真波形图也能看出这种变化规律。VHDL描述如下: IF RESET=1 THEN TMP:=00000000; ELSIF CLKEVENT AND CLK=1 THEN I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号