00频率可变的任意波形发生器的设计
基于DDS技术的任意波形发生器的设计

基于DDS技术的任意波形发生器的设计1.设计思路信号发生器广泛应用于电子电路、自动控制和科学试验等领域。
是一种为电子测量和计量工作提供符合严格技术要求的电信号设备,也是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要用到信号发生器。
本设计研究的信号发生器的基本思路是:基于DDS芯片AD9850基础的任意波形发生器。
系统是基于AD9850芯片产生的波形。
它是由相位累加器、正弦查询表、D/A转换器组成的集成芯片。
其中相位累加器的位数N=32位,寻址RAM用14位,舍去18位,采用高速10位数模转换,DDS的时钟频率为125MHz,输出信号频率分辨率可达0.0291Hz;系统的微处理器采用8051,外围电路主要是接口电路、调幅电路、滤波电路和积分电路的设计。
同时还包括键盘接口。
系统的软件主要是启动和初始化8051,然后处理键盘输入的频率控制字和相位控制字,并将其转换为32位的二进制数的控制字,最后并行递交给AD9850并启动AD9850,让它实现从正弦查询表中取数产生波形再输出。
2.方案设计2.1 DDS的基本原理1971年,美国学者J. Tierncy, C. M. Rader和B. Gold提出了以全数字技术,从相位概念出发直接合成所需波形的一种新的频率合成原理。
限于当时的技术和器件水平,它的性能指标尚不能与已有的技术相比,故未受到重视。
近20年间,随着技术和器件水平的提高,一种新的频率合成技术——直接数字合成频率合成(DDS)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的佼佼者。
DDS基本原理图如图1所示,DDS由相位累加器,只读存储器,数模转换器DAC及低通滤波器组成。
以合成正弦波为例,幅值表ROM中存有正弦波的幅值码,相位累加器在时钟f c的触发下,对频率控制字K进行累加,相位累加器输出的相位序列(即相码)作为地址去寻址ROM,得到一系列离散的幅度编码(即幅码)。
任意波形发生器的电路设计与实现

改进DDS技术的FPGA数字调制器研究与实现-压电与声光2009,31(6)
提出了一种基于改进直接数字频率合成(DDS) 技术的现场可编程门阵列(FPGA)数字调制器设计与实现方法.该方法首先对DDS技术进行改进,然后再利用这种改进的DDS技术在Matlab/ DSP Builder环境下建立现场可编程门阵列(FPGA)数字调制器的设计模型.通过对二元频移键控(BFSK) 的仿真实验表明,使用这种改进DDS技术的FPGA数字调制器实现方法建立的模型进行算法级和寄存器传输级(RTL)仿真,不仅能验证模型的正确性和有效性,且还简化系统的硬件电路,节省系统资源,提高系统的可靠性与灵活性,最终达到成本低,修改方便,快速产生多种模式数字调制信号的目的.
7.期刊论文徐鑫.凌小峰.宫新保.Xu Xin.Ling Xiaofeng.Gong Xinbao宽带噪声调频信号产生系统的数字化硬件
实现-航天电子对抗2009,25(5)
宽带高精度的噪声调频信号在现代电子干扰系统中应用广泛.传统的模拟或半数字化的噪声调频信号产生方式容易受到温度等环境因素的影响,已无法满足现代电子战中对噪声调频信号的要求.提出了一种新型的噪声调频信号产生方式,基于现场可编程门阵列FPGA的全数字化实现架构,通过直接数字频率合成DDS技术实现.FPGA的时序分析结果表明,该系统主频到达了250MHz以上.对硬件实现电路的测试结果表明,该系统能够产生带宽超过300MHz、带宽调整精度5kHz以内的噪声调频信号.
模拟器数字中频系统的设计.
本文链接:/Thesis_Y1082136.aspx
频率可变的任意波形发生器

深圳大学实验报告课程名称:Verilog使用及其应用实验名称:频率可变的任意波形发生器学院:电子科学与技术学院一、前言波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常,在实验与工程中都具有重要的作用。
随着电子技术的发展与成熟,电子工程领域对波形发生器的要求越来越高,不仅要求波形发生器具有连续的相位变换,频率稳定等特点,还要求波形发生器可以模拟各种复杂信号,并能做到幅度、频率,相位,波形动态可调。
Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
本实验正是基于Verilog HDL语言对波形发生器的功能进行描述,并进行仿真,从而了解与掌握波形发生器的内部工作原理,并进一步熟悉与掌握Verilog HDL语言,将课堂所学知识进行实践。
二、实验原理总体设计方案及其原理说明:FPGA图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 000 001 7000 010 10000 011 7000 100 000 101 -7000 110 10000 111 -7001 000 10001 001 10001 010 10001 011 10001 100 -10001 101 -10001 110 -10001 111 -10010 000 010 001 2510 010 5010 011 7510 100 10010 101 12510 110 15010 111 17511 000 17511 001 15011 010 12511 011 10011 100 7511 101 5011 110 2511 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变量频率控制调动后的时钟信号initialbegincount<=0;addr<=0;f_out<=0;function [15:0]rom; //ROM中各波形数值的设定input[5:0] address;case(address) //波形选择0 : rom = 0; //正弦波1 : rom = 70;2 : rom = 100;3 : rom = 70;4 : rom = 0;5 : rom = -70;6 : rom = -100;7 : rom = -70;8 : rom = 100; //方波9 : rom = 100;10: rom = 100;11: rom = 100;12: rom = -100;13: rom = -100;14: rom = -100;15: rom = -100;16 : rom = 0; //正三角波17 : rom = 25;18 : rom = 50;19 : rom = 75;20 : rom = 100;21 : rom = 125;22 : rom = 150;23 : rom = 175;24 : rom = 175; //负三角波25 : rom = 150;26 : rom = 125;27 : rom = 100;28 : rom = 75;29 : rom = 50;30 : rom = 25;31 : rom = 0;default : rom = 10'hxx;endcaseendfunctionalways @(posedge f_clk) //利用计数器count变量实现分频beginif(count==p) //设置频率控制字count=0;f_out=~f_out;endelsecount=count+1;endalways@(posedge f_out)beginif(addr==7) //波形取8个点,实现波形数据切换addr=0;elseaddr=addr+1;case(choice) //选择波形0: address=addr;1: address=addr+8;2: address=addr+16;3: address=addr+24;endcaseendassign data = rom(address);//将ROM中对应的数据传递到data端口输出endmodule四、仿真程序module test;wire [15:0] data;wire [5:0] address;reg [15:0] p;reg f_clk;reg [1:0] choice;always #10 f_clk = ~f_clk;initial //波形的初始化beginf_clk =0;p=2; //频率控制字为2时的波形choice=0;#1050 choice = 1;//延时,切换波形,使所有波形能够在同一个仿真结果#1500 choice = 2;#1500 choice = 3;#1000 p=5; //延时,更换频率#500 choice=0;#1050 choice = 1;#1500 choice = 2;#1500 choice = 3;#1000 p=15; //延时,更换频率#500 choice=0;#1050 choice = 1;#1500 choice = 2;#1500 choice = 3;enddds phase (.f_clk (f_clk),.p(p),.choice(choice),.data(data)); //调用dds模块endmodule五、实验结果。
任意波形发生器的设计(改)

课程设计任务书学生姓名:侯康专业班级:电子科学与技术0802班指导教师:梁小宇工作单位:信息工程学院题目: 任意波形发生器的设计初始条件:本设计既可以使用集成计数器、存储器、D/A转换器、运放、555定时器、必要的门电路等;电阻、电容、二极管、开关等分立元件若干。
本设计也可以使用单片机系统构建任意波形发生器。
自行设计所需电源。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:①可产生三种以上波形,如:三角波,方波和正弦波,由开关进行切换选择。
②波形数据存放于EPROM中。
③可通过改变CP信号的周期改变输出波形的频率,频率范围:100~9999Hz。
④产生的波形信号幅值:0.5~5V。
⑤确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2010 年6 月25 日集中,作课设具体实施计划与课程设计报告格式的要求说明。
2、2010 年6 月26 日,查阅相关资料,学习电路的工作原理。
2、2010 年6 月27 日至2010 年 6 月30 日,方案选择和电路设计。
2、2010 年6 月30 日至2010 年7 月1 日,电路调试和设计说明书撰写。
3、2010 年7 月2 日上交课程设计成果及报告,同时进行答辩。
课设答疑地点:鉴主13楼电子科学与技术实验室。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract (II)1. 绪论 (1)2.设计内容及要求 (2)2.1设计任务及目的 (2)2.1.1设计目的 (2)2.2.2 设计内容及技术要求 (2)2.2 设计思想及方案选择 (2)3.设计原理及单元模块设计 (4)3.1 设计原理及方法 (4)3.2 单元模块设计 (4)3.2.1 MCU微控制器 (4)3.2.2 LCD显示器 (5)3.3.3 键盘电路 (5)3.3.4 DDS波形产生电路 (6)3.3.5 功率放大电路 (8)4.程序设计 (8)5.总结 (9)参考文献: (10)附录I:整体电路原理图 (11)附录II:C语言源程序........................... 错误!未定义书签。
电子综合设计范例--波形发生器的设计

第2节 电子综合设计范例1----波形发生器的设计一、设计任务与要求1、设计任务设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波和由用户编辑的特定形状波形。
示意图如下:2、设计要求⑴基本要求①具有产生正弦波、方波、三角波三种周期性波形的功能。
②用键盘输入编辑生成上述三种波形(同周期)的线性组合波形,以及由基波及其谐波(5次以下)线性组合的波形。
③具有波形存储功能。
④输出波形的频率范围为100Hz~20kHz(非正弦波频率按10次谐波计算);重复频率可调,频率步进间隔≤100Hz。
⑤输出波形幅度范围O~5V(峰—峰值),可按步进0.1V(峰—峰值)调整。
⑥具有显示输出波形的类型、重复频率(周期)和幅度的功能。
⑵发挥部分①输出波形频率范围扩展至100Hz~200kHz。
②用键盘或其他输入装置产生任意波形。
③增加稳幅输出功能,当负载变化时,输出电压幅度变化不大于±3%(负载电阻变化范围:100Ω~∞)。
④具有掉电存储功能,可存储掉电前用户编辑的波形和设置。
⑤可产生单次或多次(1000次以下)特定波形(如产生1个半周期三角波输出)。
⑥其他(如增加频谱分析、失真度分析、频率扩展>200kHz、扫频输出等功能)。
二、方案论证与比较1、常见信号源制作方法方案一:采用模拟分立元件或单片压控函数发生器MAX038,可产生正弦波、方波、三角波,通过用锁相式频率合成方案。
锁相式频率合成是将一个高稳定度和高精确度的标准频率经生器常采用的原理 DDFS 的基本原理框图如图1所示。
图1 DDFS 的基本原理框图输出波形的一个完整的周期、幅中。
当RAM 的地址变化时,DAC 的常数,便改变了每个周期中的点数,而这些点数正是用来改变整个波形的频率。
辨率在相位累加器的位数N 足够大时,理论上可以获得相应的分辨精度,这是调整外部元件可改变输出频率,但采用模拟器件由于元件分散性太大,即使使用单片函数发生器,参数也与外部元件有关,外接的电阻电容对参数影响很大,因而产生的频率稳定度较差、精度低、抗干扰能力低、成本也高;而且灵活性较差,不能实现任意波形以及波形运算输出等智能化的功能。
DG2000系列函数 任意波形发生器手册说明书

函数/任意波形发生器系列DG2000 独创的SiFi II(Signal Fidelity II)技术:逐点生成任意波形,不失真还原信号,采样率 精确可调,所有输出波形(包括:方波、脉冲等)抖动低至200ps 每通道任意波存储深度16Mpts标配等性能双通道,相当于两个独立信号源 ±1ppm高频率稳定度,相噪低至-105dBc/Hz 内置最高8次谐波发生器内置7 digits/s,240MHz带宽的全功能频率计多达160种内建任意波形,囊括了工程应用、医疗电子、汽车电子、数学处理等各 个领域的常用信号采样率高达250MSa/s,垂直分辨率16bits主机具有任意波形序列编辑功能,也可通过上位机软件生成任意波形 多种模拟和数字调制功能:AM、FM、PM、ASK、FSK、PSK和PWM 标配波形叠加功能,可以在基本波形的基础上叠加指定波形后输出标配通道跟踪功能,跟踪打开时,双通道所有参数均可同时根据用户的配置更新 标配接口:USB Host & Device、LAN(LXI Core 2011 Device);支持USB-GPIB功能 4.3英寸TFT彩色触摸显示屏 支持RS232、PRBS和DualTone输出2 设计特色独创的SiFi II技术符合触摸操作的UI设计Advanced功能输出逐点生成任意波,不失真还原信号,较上一代SiFi技术相比,增加了多种滤波模式,同时支持边沿时间动态调整。
全新的UI和操作体验,触摸屏支持拖动以及点击操作。
同时键盘能够脱离触摸屏完成所有参数设置。
支持PRBS以及RS232码型输出,支持本地序列编辑。
100MHz带宽高斯白噪声3DG2000系列函数/任意波形发生器设备尺寸:宽×高×深=261.5mm×112mm×318.4mm 重量:3.2kg(不含包装)4 功能界面等性能双通道功能内置160 种任意波具有独创的SiFi II技术的任意波功能ⅡBurst 功能多种模拟和数字调制功能扫频功能标配谐波发生器功能双音功能PRBS功能RS232功能序列功能5波形叠加功能标配7 digits/s,240MHz带宽的频率计通道及系统设置文件管理功能67DG2000系列技术指标上升/下降时间典型(1Vpp,1kHz)≤9ns过冲典型(100kHz,1Vpp)≤5%占空比0.01%至99.99%(受当前频率设置限制)不对称性周期的1%+4ns 抖动(rms)典型(1Vpp)≤5MHz:周期的2ppm+200ps >5MHz:200ps锯齿波线性度≤峰值输出的1%(典型值,1kHz,1VPP,对称性100%)对称性0%至100% 技术指标除非另有说明,所有技术规格在以下两个条件成立时均能得到保证。
任意波形发生器方案

任意波形发生器的设计方案12电信1 张晓航 1200301108 一,选择课题:电子测量仪器设计——任意波形发生器设计二,设计要求:能产生方波、三角波、正弦波、锯齿波信号。
主要技术指标:(1)输出频率范围100HZ~1KHZ、1~10KHZ(2)输出电压:方波UPP=6V,三角波UPP=6V,正弦波UPP>1V,锯齿波UPP=6V。
三,仪器仪表清单:1.直流稳压电源 1台 2.双踪示波器 2台3.运放741(LM324n)*3 4.二极管 1N4154*2 1N4680*25.电位器50K*2 1K*1 6.电容1μF 47nF *17.电阻 100k 10k 5k 3k 4k 96k若干 8.面包板 1块9.剪刀1把 10.仪器探头线 2根11.电源线若干四,设计考虑因素:信号发生器可以通过多种方法设计产生,但是考虑到如果使用芯片去完成可能所需要的成本比较高,但如果用单片机等则设计太复杂,还需要嵌入相应代码,有点大材小用,综合多方面的因素考虑该方案是可行性比较高,性价比比较高的一种方案,同时,能够让我对于一些专业基础知识有了更深的了解。
元器件可重复利用,符合现在可持续发展的绿色思想。
该电路具有结构、思路简单,运行时性能稳定且能较好的符合设计要求,对原器件要求不高,且成本低廉、调整方便.五,函数发生器的总方案:为进一步掌握电路的基本理论及实验调试技术,本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波(锯齿波)—正弦波函数发生器的设计方法。
本课题中函数发生器电路组成框图如下所示:函数发生器电路组成框图由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。
差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。
特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。
波形变换的原理是利用差分放大器传输特性曲线的非线性。
波形发生器设计方案

波形发生器设计方案一、引言波形发生器是一种电子设备,用于产生具有特定频率、振幅和形状的电信号。
它在各种应用中广泛使用,例如科学实验、医疗设备和通信系统等。
本文将介绍一种波形发生器的设计方案。
二、设计原理波形发生器的设计原理是基于振荡电路。
振荡电路是一种能够稳定产生周期性信号的电路,通常采用反馈路径来实现。
在波形发生器中,我们将采用RC振荡电路作为基础。
三、设计步骤1. 选择合适的电路元件我们需要选择合适的电容和电阻来构建RC振荡电路。
根据所需的频率范围和精度要求,选取合适的元件。
2. 计算元件数值根据振荡电路的设计公式,计算所需的电容和电阻数值。
确保电容和电阻的数值可获得并满足设计需求。
3. 组装电路根据所选的电路元件和计算得到的数值,组装RC振荡电路。
确保元件的正确连接,并注意防止干扰和噪音。
4. 调试和优化连接电源后,使用示波器监测输出信号。
如果波形不满足设计要求,可以调整电容或电阻的数值进行优化。
四、特性和功能该波形发生器设计方案具有以下特性和功能:1. 频率可调性:通过调整电容或电阻的数值,可以实现不同频率的输出信号。
2. 波形形状可变性:根据实际需求,可以调整电路参数以产生正弦波、方波、矩形波等不同形状的输出信号。
3. 稳定性和精度:经过调试和优化后,该波形发生器能够稳定输出准确的波形信号。
五、应用领域本设计方案的波形发生器可应用于以下领域:1. 科学实验:在物理、化学等实验中,需要产生特定频率和形状的信号,用于测试和研究。
2. 医疗设备:在医疗设备中,波形发生器常用于心电图机、超声设备等,用于诊断和治疗。
3. 通信系统:在通信系统中,波形发生器被用于产生调制信号和时钟信号等,保证通信的稳定和可靠。
六、总结波形发生器是一种重要的电子设备,在多个领域中发挥着重要作用。
本文介绍了一种基于RC振荡电路的波形发生器设计方案,通过选择合适的元件、计算数值、组装电路和调试优化等步骤,可以实现频率可调、波形形状可变的输出信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深圳大学实验报告课程名称:Verilog数字系统设计教程实验项目名称:频率可变任意波形发生器的设计学院:电子科学与技术专业:微电子指导教师:刘春平报告人:潘志钟学号:2007160051 班级:07级微电1班实验时间:2009-12-8 ~ 2010-1-11实验报告提交时间:2010-1-4教务处制(·····这里可加前言摘要之类的东西····自己想来写···)1 设计原理DDS 是一种把数字信号通过数/模转换器转换成模拟信号的合成技术。
直接数字频率合成技术 (DDS )是一种以采样定理为基础的全数字化频率合成波形的方法 。
DDS 频率合成器主要由频率寄存器 、相位寄存器 (需要时可加入 ) 、相位累加器 、波形存 储表 ( ROM ) , DAC 转换器和模拟低通滤波器 ( LPF ) 等组成 。
在系统时钟 ( SYSCLK )输入一定的情况下 ,频率寄存器中的频 率控制字决定系统输出频率 , 而相位累加器的位数决定了系统频率分辨率 。
总体设计方案及其原理说明:图 1-1 系统总体设计方案相位累加器由 N 位加法器和 N 位累加寄存器级联而成 。
每当系统时钟 SYSCL K 产生一个上升沿 , N 位加法器将频率寄 存器中的频率控制字 ( FR EQDA TA )与上一个系统时钟累加寄存器输出的累加相位数据相加,相加后的结果送累加寄存器。
这样在系统时钟的作用下, 不断对频率控制字进行线性相位累加,相位累加器的溢出率就是DD S任意波形发生器的输出频率。
2 设计与实现实际上DD S就是通过改变地址增量来达到控制输出频率的目的,而波形存储器( ROM )是以相位为地址,存有一个或多个按相位划分幅值的波形幅度信息。
参考频率f_clk为整个合成器的工作频率,输入的频率字保存在频率寄存器中,经N位相位累加器,累加一次,相位步进增加,经过内部ROM波形表得到相应的幅度值,经过D/A转换和低通滤波器得到合成的波形(数模转换在这里不作要求)。
△P为频率字,即相位增量;参考频率为f_clk;相位累加器的长度为N位,输出频率f_out为:式中F_out为输出信号的频率;F_clk为基准时钟频率。
N为相位累加器的位数;△P为频率控制字(步长)。
理论上通过设定F_clk、N 和△P就可以得到各种频率波形的输出。
在本设计中, 相位累加器位数N =6, f_clk位长为32, 系统时钟频率为27M H z。
3 各模块实现3. 1相位累加器在设计波形发生器时, 要实现频率可变,相位累加器是关键的一个部分。
在modelsim 开发环境下,本实验通过改变△P的值来变换输出频率f_out。
假设△P初值为0,每个波形(正弦波、方波、正三角波、反三角波)的采样数据点的仿真数值输出,△P累加一次,即△P=△P + n , n = 16 ;当△P >= 56时,△P置零,依此循环累加。
频率的不同,即波形周期的不同,函数单周期内输出波形的量化数据的宽度也不一样。
(正弦波为例)如下图所示:(····你用自己的方式表示····我的是以这种方式··你用其他方式吧,怕老师为难)图1-2 正弦波的仿真输出如图,当P=16时,将P值代入公式,在本设计中,相位累加器位数N = 6, f_clk位长为32, 系统时钟频率f_clk为27M H z,则可计出输出频率f_out=16/64*27000000=6.75MHZ;同理可求出当P=32、48或64时对应的输出频率f_out。
3. 2模9计数器本实验各个波形一个周期内采取9个量化数据点,所以用模9计数器。
八位段寄存器D的低四位D【3:0】用于计数,高四位D【7:4】用于波形选择。
D【7:4】=DH,当DH=0000时,输出为正弦波;DH=0001时,输出为方波;DH=0010时,输出为正三角波;DH=0011时,输出为反三角波。
累加器部分和计数器部分的主要程序代码如下:always @(posedge f_clk)beginD[7:4]=DH;beginif(p>=56)beginp=n;beginif(D[3:0]>=4'b1000)D[3:0]<=0;elseD[3:0]<=D[3:0]+4'b0001;endendelsep=p+n;endend3. 3 ROM波形存储表本实验设计一个ROM按顺序间隔存放所有波形的量化数据,并在modelsim 开发环境下进行波形数字仿真输出。
各波形的量化数据表设计如下:段地址基地址 D7 D6 D5 D4 D3 D2 D1 D00000 0000 00000 0001 70000 0010 100000 0011 70000 0100 00000 0101 -70000 0110 -100000 0111 -70001 0000 100001 0001 100001 0010 100001 0011 100001 0100 100001 0101 -100001 0110 -100001 0111 -100010 0000 00010 0001 10010 0010 20010 0011 30010 0100 40010 0101 50010 0110 60010 0111 70011 0000 00011 0001 -10011 0010 -20011 0011 -30011 0100 -40011 0101 -50011 0110 -60011 0111 -7图1-3 函数查找表的设计四种波形单周期的取样示意图如下:图1-4 四种波形单周期的取样示意图程序编写用function函数来对ROM波形函数存储表存储各波形的量化数据。
各波形量化数据表设计程序代码如下:function [7:0] ROM;input [7:0] D;case(D)//正弦波的量化采样数据//8'b00000000: ROM = 0;8'b00000001: ROM = 7;8'b00000010: ROM = 10;8'b00000011: ROM = 7;8'b00000100: ROM = 0;8'b00000101: ROM = -7;8'b00000110: ROM = -10;8'b00000111: ROM = -7;8'b00001000: ROM =0;//方波的量化采样数据//8'b00010000: ROM = 10;8'b00010001: ROM = 10;8'b00010010: ROM = 10;8'b00010011: ROM = 10;8'b00010100: ROM = 10;8'b00010101: ROM = -10;8'b00010110: ROM = -10;8'b00010111: ROM = -10;8'b00011000: ROM = -10;//正三角波的量化采样数据// 8'b00100000: ROM = 0;8'b00100001: ROM = 1;8'b00100010: ROM = 2;8'b00100011: ROM = 3;8'b00100100: ROM = 4;8'b00100101: ROM = 5;8'b00100110: ROM = 6;8'b00100111: ROM = 7;8'b00101000: ROM = 8;//反三角波的量化采样数据// 8'b00110000: ROM = 0;8'b00110001: ROM = -1;8'b00110010: ROM = -2;8'b00110011: ROM = -3;8'b00110100: ROM = -4;8'b00110101: ROM = -5;8'b00110110: ROM = -6;8'b00110111: ROM = -7;8'b00111000: ROM = -8; default : ROM = 8'bx; endcaseendfunctionassign date= ROM(D);4 仿真试验在modelsim 开发环境下,编写一个仿真程序,并可仿真输出各波形的量化数据。
仿真程序如下:`include"DDS.v"module test;wire [7:0] date,D;wire [27:0] p;reg f_clk;reg [27:0] n;reg [3:0] DH;always #10 f_clk = ~f_clk;initialbeginf_clk =0;DH=0;n=16;#720 DH = 1;#720 DH = 2;#720 DH= 3;endtest w4 (.p(p),.D(D),.date(date),.f_clk(f_clk),.n(n),.DH(DH)); endmodule下面是所设计的DD S任意波形发生器在modelsim 中的时序仿真。
(·········图你自己找其他的,这些图我删了一些,这部分你自己想办法修一下···)图1-5 正弦波的仿真输出如图所示,当段地址DH=0000时,单周期内输出正弦波采样数据点的仿真数据date对应的数值依此为0、7、10、7、0、-7、-10、-7、0。
图1-6 方波的仿真输出如图所示,当段地址DH=0001时,单周期内输出方波采样数据点的仿真数据date对应的数值依此为10、-10;图1-8 正三角波的仿真输出如图所示,当段地址DH=0010时,单周期内输出正三角波采样数据点的仿真数据date对应的数值依此为0、1、2、3、4、5、6、7、8;图1-10 反三角波的仿真输出如图所示,当段地址DH=001时,单周期内输出反三角波采样数据点的仿真数据date对应的数值依此为0、-1、-2、-3、-4、-5、-6、-7、-8;5体会(这部分你要自己写)················。