文档详情

频率可变的任意波形发生器.doc

发布:2016-11-01约3.83千字共7页下载文档
文本预览下载声明
深 圳 大 学 实 验 报 告 课程名称: Verilog使用及其应用 实验名称: 频率可变的任意波形发生器 学院: 电子科学与技术学院 前言 波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 图 1-1 系统总体设计方案 DDS是一种把数字信号通过数/模转换器转换成模拟信号的合成技术。它由相位累加器、相幅转换函数表、D/A转换器以及内部时序控制产生器等电路组成。 参考频率f_clk为整个合成器的工作频率,输入的频率字保存在频率寄存器中,经N位相位累加器,累加一次,相位步进增加,经过内部ROM波形表得到相应的幅度值,经过D/A转换和低通滤波器得到合成的波形。△P为频率字,即相位增量;参考频率为f_clk;相位累加器的长度为N位,输出频率f_out为: F_out——输出信号的频率; N————相位累加器的位数; △P———频率控制字(步长); F_clk——基准时钟频率。 图1-2 四种波形单周期的取样示意图 段地址 基地址 16位二进制数代表波形的取值 00 000 0 00 001 70 00 010 100 00 011 70 00 100 0 00 101 -70 00 110 100 00 111 -70 01 000 100 01 001 100 01 010 100 01 011 100 01 100 -100 01 101 -100 01 110 -100 01 111 -100 10 000 0 10 001 25 10 010 50 10 011 75 10 100 100 10 101 125 10 110 150 10 111 175 11 000 175 11 001 150 11 010 125 11 011 100 11 100 75 11 101 50 11 110 25 11 111 0 图1-3 函数查找表的设计 源程序 module dds(f_clk,p,choice,data);//模块的端口设定 input [15:0] p; //频率控制字 input[1:0] choice; //波形选择变量 input f_clk; //输入时钟信号 output [15:0] data; //波形数值输出 wire [15:0] data; reg [5:0] addr,address; //波形数值所在地址 reg [15:0] count; reg f_out; //经P变量频率控制调动后的时钟信号 initial begin count=0; addr=0; f_out=0; end function [15:0]rom; //ROM中各波形数值的设定 input[5:0] address; case(address) //波形选择 0 : rom = 0;
显示全部
相似文档