文档详情

用VHDL设计多功能信号发生器.pdf

发布:2024-12-18约9.39千字共9页下载文档
文本预览下载声明

实验二用VHDL设计多功能信号发生器

一、设计任务

基于《VHDL语言》,通过给定的仪器(EDA6000试验箱)设计一个多功能信号发生器,要求:

(1)能产生周期性正弦波、方波、三角波、锯齿波以及用户自己编辑的特定波形(选作);

(2)输出信号的频率范围为100Hz~200KHz,且输出频率可以调节;

(3)具有显示输出波形、频率的功能。(选作)

二、系统顶层框图

时钟

三角波波

数控分频器8位数据数据选择器

形数据

预置分

频数

(0-255正弦波波

)形数据

f

out

方波波形

数据

复位信号任意波形

数据

波形选择关

图1原理框图

在原理框图中,正(余)弦查找表由ROM构成,内部存有一个完整周期正(余)弦波的数字幅度

信息,每个查找表的地址对应正(余)弦波幅度信号,同时输出到数模转换器(DAC)输入端,DAC

输出的模拟信号经过低通滤波器(LPF),可以得到一个频谱纯净的正(余)弦波。

三、设计步骤

用VHDL语言结合原理图设计实现一个函数信号发生器,输出正弦波、方波和三角波三种波形。将

率控制、分频、三角波、正弦波、方波发生邓各个模块分别用VHDL语言编程为一个子程序,并把每一

个模块转换成图形文件,然后在原理图编辑框调用这些图形模块,连接电路如上图系统顶层框图所示。

通过按键1到按键8控制频率调节f〔7...0〕,用按键6、按键7、按键8控制dlt、sin、sqr波形

选通,最后把八位输出接DAC0832通过D/A转换,从示波器上就能看到波形输出。按下不同的按键输出

不同的波形及频率。

1

四、系统设计

(1)数控分频器模块

在时钟的作用下,通过预置分频数DIN,来改变输出频率。假如分频系数为N,波形存储模块存

一个周期的波形,实验里按照一个周期波形采样64个点存储在波形存储模块里。则输出频率

f

fclk

out64.N

(2)数据存储模块(存储波形数据)

数据存储模块主要存的是正弦波、三角波、锯齿波等一个周期的采样点。

三角波模块可设计一个可逆计数器实现,设计时设置一变量作为工作状态标志,在此变量为0时,

当检测到时钟的上升沿进行加同一个数操作;为1时,进行减同一个数操作。DA转换采用的DA0832,

输入有8个数据端,范围是0到255;而且设置64个时钟周期为一个三角波周期,所有每次加、减

为8。

锯齿波的存储数据与三角波类似。

方波可以通过交替输出全0和全1,并给以32个周期的延时来实现。

正弦波可以通过波形变换实现把s

显示全部
相似文档