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

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

目录

摘要 (1)

一、设计要求 (3)

三、系统设计思路 (4)

3.1 波形函数发生装置的选择 (4)

3.2 波形输入输出控制方式的选择 (5)

四、各模块设计及仿真 (6)

4.1函数发生模块 (6)

4.1.1 正弦波模块 (6)

4.1.2 方波模块 (7)

4.1.3 递增锯齿波模块 (9)

4.1.4 递减锯齿波模块 (10)

4.1.5 阶梯波模块 (12)

4.1.6 三角波模块 (13)

4.2调控模块 (15)

4.2.1波形输出控制单元 (15)

4.2.2波形输入控制单元 (16)

4.2.3频率控制单元 (18)

4.2.4幅度控制单元 (20)

4.3 D/A转换器 (21)

4.4 总电路 (24)

五、硬件测试 (25)

5.1编译 (25)

5.2 引脚的锁定 (26)

5.3编程下载 (27)

5.4 硬件验证 (28)

六、课程设计心得体会 (31)

参考文献 (32)

附录 (33)

摘要

本次设计课题为应用VHDL语言及MAX+PLUSII软件提供的原理图输入设计功能,组合电子线路的设计加以完成一个任意波形信号发生器。它具有结构紧凑,性能稳定,设计结构灵活,方便进行多功能组成的特点,经济实用,成本低廉的特点。可产生正弦波、方波、三角波、递增锯齿波、递减锯齿波以及阶梯波,并可使用示波器观察波形。实现了系统信号实时快速测量,也为其广泛应用于实际领域创造了条件。

在实现过程中,将整体功能模块化,分为函数发生模块和调控模块。在调控模块中实现了调频调幅以及对于波形的输入输出控制。对于D/A转化器,本实验选择的是TLC7528,利用简单的8进制计数控制CS和WR端口的同步输出,

实现数模转换的同时,保持相应位的同步实现。

在课程设计中遇到了诸多困难,在用示波器显示波形时,却总是得不到稳定的波形,后来发现在输入控制中,仅需要3位二进制数即能完成简单的8进制计数,自己却习惯性的用了8位,这使得分频现象严重,更改后即得到了了稳定的

输出波形,经过反复修改调试,最终试验成功。

关键词:智能信号发生器 VHDL MAX+PLUSII TLC7528

一、设计要求

要求设计一个智能函数发生器,该智能函数发生器能够产生递增锯齿波、递减锯齿波、方波、三角波、正弦波以及阶梯波,并且可以通过选择开关选择输出相应波形,具有一定的调幅和调频功能。同时具有复位的功能,通过按键确定输出的波形及确定是否输出波形。

二、系统设计方案

1、系统的整体原理框图:

图 1 系统的整体原理框图

2、系统框图

图 2 任意波形信号发生器系统框图

三、系统设计思路

3.1 波形函数发生装置的选择

波形函数发生方案众多,我们要选择一种易于实现且精度高的方案,以此来

提高本设计的实用性。

方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。

方案二:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,无法实现阶梯波和递增递减锯齿波的产生,所以舍弃此方案。

方案三:用VHDL语言编写程序,调试成功后下载至实验装置的芯片上,再利用外接D/A转换电路(TLC7528)实现以上设计功能。此种方案完全可以生成设计要求的6种波形,而且通过软件仿真可以直观的观测的输出的波形参数,方便调试和更改波形参数,外围电路简单,减少器件损耗,精度高。因此在本次设计中我们选择了VHDL。

3.2 波形输入输出控制方式的选择

方案一:控制多路D/A开关输出方式

此种方案为每一路输出的波形函数使用一路D/A转换后输出,通过控制开关控制每一路D/A是否工作,决定输出的波形。此种方案可以同时输出多路波形,但是需要路D/A转化器,外围电路复杂,制作成本较高而且控制复杂。

方案二:采用数据选择器方式

此种方案可以利用VHDL语言写出数据选择器,然后每种函数发生器的输出和数据选择器输入相连接,通过控制开关选择对应的波形输出。方案二完全可以得到方案一的设计要求,而且只需一个D/A转换器就可以。电路不需要外部搭建,节约成本且控制简单方便。

基于方案二的设计简便、节约制作元件和成本、控制简便等优点,选择方案二作为波形函数输出控制方式。

四、各模块设计及仿真

经过功能分析,将系统分为两大模块,分别为函数发生模块和调控模块。函数发生模块包括:正弦波模块、三角波模块、方波模块、阶梯波模块、递增或递减锯齿波模块;调控模块包括:选频模块、调幅模块、输入控制模块以及输出控制模块。

4.1函数发生模块

4.1.1 正弦波模块

正弦波sin的VHDL程序如附录所示,其中CLK是输入时钟端口,RESET为输入复位端口,D_OUT[7..0]为八位二进制输出端口。SIN_ROM正弦波函数发生模块框图如下图所示:

图3 正弦波函数发生模块框图

正弦波可用两种方法,即计算法和查表法产生。计算法要用浮点运算,复杂且耗时太长,一般不采用。查表法是事先将正弦波的数据计算出来,列表放在程序中,运行时直接调取数据。用公式y=127.5+127.5sin(360n/m)可计算出正弦波的输出值,公式中的m为输出点数,n=1,2,…m。m值取小一些可以提高波形频率,但波形畸变会增大,增加输出点虽然可以改善波形,但输出频率会降低,实践表明,m取64时,可以得到很好的正弦波。

BEGIN

IF RESET='1'THEN

D_OUT<=0;

相关文档
最新文档