正弦波发生器试验报告.docx

上传人:scccc 文档编号:13007418 上传时间:2021-12-10 格式:DOCX 页数:15 大小:178.33KB
返回 下载 相关 举报
正弦波发生器试验报告.docx_第1页
第1页 / 共15页
正弦波发生器试验报告.docx_第2页
第2页 / 共15页
正弦波发生器试验报告.docx_第3页
第3页 / 共15页
正弦波发生器试验报告.docx_第4页
第4页 / 共15页
正弦波发生器试验报告.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《正弦波发生器试验报告.docx》由会员分享,可在线阅读,更多相关《正弦波发生器试验报告.docx(15页珍藏版)》请在三一文库上搜索。

1、正弦波发生器实验报告摘要:直接数字频率合成(DDS)是从相位概念出发直接合成所需要波形的一种新的成技术。其最大优点就是频率切换的速度极快(可达几微秒),并且频率、相位和幅度都可控,输出频率稳定度可达系统时钟的稳定度量级,易 丁集成化,更主要的是由丁计算机参与频率合成,可充分发挥软件的作用。本系统利用80C51单片机、D/A转换器以及低通滤波器、NS12864液晶显 示器设计的直接数字频率合成器,电路设计简单、频率控制灵活,具有良好 的实用性,信号精度误差也在允许范围之内。关键词:直接数字频率合成速度 实用性一、引言1二、系统方案12.1设计要求12.2整体方案分析12.3原理框图2三、各部分理

2、论分析与实现 23.1相位累加器23.2分频器33.3 ROM查询表33.4波形变换43.5 D触发器53.6 D/A 转换63.7低通滤波器63.8键盘输入部分63.9 LCD液晶显示 7四、测试结果及误差分析 84.1测试结果84.2误差分析 8五、总结 9六、参考文献 9引言直接数字频率合成总体上由六个部分组成: 键盘输入、液晶显示、相位累加 器、ROM查询表、D/A转换和低通滤波器。键盘主要是起到对控制字的输入以 及将其转换成频率在液晶上显示;DDS系统的核心是相位累加器,它由一个加 法器和一个相位寄存器组成,每当输入一个采样时钟脉冲,相位寄存器以步长增 加,相位寄存器的输出与相位控制

3、字相加, 相位累加器的输出就增加一个步长的 相位量,在波形存储器中存储着一张正弦函数查询表, 对应不同的相位码输出相 位不同的幅度编码。D/A转换器将数字量形式的波形幅值转换成模拟量形式。 低通滤波器用丁滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。:、系统方案2.1设计要求(1) 正弦波输出频率范围:10Hz10kHz;(2) 具有频率设置功能,频率步进:10Hz;(3) 输出信号频率稳定度:优丁 10-4;(4) 输出电压幅度:在负载电阻上的电压峰 -峰值Vopp> 1V;(5) 失真度:用示波器观察时无明显失真。2.2整体方案分析设基准时钟的频率为fclk,采用N位的相位累加

4、器,频率控制字为K,则DDS fclk输出信号的频率为扇 2n K对丁输出信号的频率,我们采用通过改变 K值来控制,K值主要是通过键 盘输入的,每来一个时钟脉冲,就以步进 K值来采样一次.具体实现的原理框图 如下。92.3原理框图低通滤波器波形变换R0查询表相位累加器键盘输入三、各部分理论分析与实现3.1相位累加器由丁要求输出的频率步进为10Hz,则 另=10,因要求输出频率范围为10Hz10kHz,则1 k 1000。要使输出的波形不失真,则只有在控制字 K取最 大时,在正弦波的一个周期内采样点数尽可能的多,乂由取样定理可知,所产生的信号频率不能超过时钟频率的一半,在实际运用中,为了保证信号

5、的输出质量, 输出频率不要高丁时钟频率的 33%,以避免混叠或谐波落入有用输出频带内,在 此设计的基准频率 fclk=0.33MHz,因此 2N =fclk/10=3*106,取 N=15,当 K=1000 时,在正弦波一个周期内基本上可以取 32点,可以达到无失真要求。编程生成 的元件如图所示:3.2分频器由相位累加器部分分析出时钟频率要求为 0.33MHz,由丁 FPGA的晶振频率 为40MHz , 40/0.33 120,则要经过120分频。通过软件编程生成代码如图所示:3.3 ROM查询表相位累加器输出位并不全部加到查询表,而要截断。相位截断减小了查询表长度,因为正弦波的一个周期内的特

6、性:前 T/2波形是关丁 ;对称的,后T/2波形可以将前T/2波形取反得到,因此只需在ROM查询表中存储0 波形的地址4与数字幅值信息就行,节省了 ROM空间。ROM查询表建立是通过C语言编程 对正弦函数进行采样生成初始化的数据文件,也就是生成 *.C文件,在dos环境 下生成*.mif文件,从而生成ROM表,因D/A0832转换的位数是八位的,28=256, 所以将生成的ROM表的数字幅值范围设定为0127,地址为08192。因213=8192, 因此从相位累加器输出的地址只需用 13位的二进制表示就行。C 语言程序为:#include<stdio.h>#include"

7、; math.h"main()int i;float s;for(i=0;i<32768;i+)s=sin(atan(1)*8*i/32768);Printf( %d:%d;n”,i,(int)(s*127);最后生成的ROM表元件如图所示:3.4波形变换从ROM查询表中输出的数字量的波形为 0T/2的幅值为0127的周期波, 必须经过波形变换变成正弦波,变换包括两部分即将T/2T内波形的取反和将正弦波整体上移使数字幅值范围为 0255,通过编程实现后生成元件如图所示:3.5 D触发器从 波形变换输出的是数字式的正弦信号,含有很大的毛刺,严重影响输 出结果,因此必须采取措施来消

8、除毛刺。 我们采用了一种比较传统的去除毛 刺的方法。原理就是用一个 D触发器去读带毛刺的信号,利用 D触发器对输 入信号的毛刺不敏感的特点,去除信号中的毛刺。这种方法在简单的逻辑电 路中是常见的一种方法,尤其是对信号中发生在非时钟跳变沿的毛刺信号去 除效果非常的明显。D触发器的元件如图所示:3.6 D/A转换进行数模转换,生成模拟的正弦信号输出的数字信号必须经过DAC0832电路图如图所示:XFERWR2II.E0口口口口坦口口VREFKJF11ICUT1IOT.T23.7低通滤波器采用两阶的低通滤波来滤除高频分量, 从而输出比较平滑的正弦波 阶的低通滤波各参数通过查表所得,电路图如下:3.8

9、键盘输入部分键盘主要是用来控制相位累加器的频率控制字,通过按键来改变频率控制字K的值,因fout=10K ,从而改变输出波形的频率。采用Verilog HDL语言来编写键盘扫描程序,其中键盘扫描程序包含两个部分即通过扫描得出键值 以及通过按键盘上的enter键输出K值。两部分元件分别如下图所示:3.9 LCD液晶显示在LCD上显示输出波形的频率,此部分采用C语言编程,每通过按键之后 显示相对应输出信号的频率。四、测试结果及误差分析4.1测试结果输入控制字K理论输出频率(Hz)实际输出频率(Hz)误差11010.00033030.010.033%1010099.90.1%25250250.70.

10、28%50500501.00.2%80800801.30.16%10010001.001K0.1%15015001.504K0.27%50050005.01K0.2%10001000010.01K0.1%4.2误差分析(1) D/A变换器引入的误差,它是由D/A变换器的非理想特性引起的。DAC 的非理想特性有:差分、积分的非线性、D/A转换过程中的尖峰电流、转换速率 受限等;(2) ROM存贮数据的有限字长引起的误差。由丁 ROM存储的位数是有限 的,所以幅值量化过程中将产生量化误差;(3) 相位舍位引起的误差。在 DDS中,一般相位累加器的位数L远大丁 ROM的寻址位数 W,因此累加器的输出

11、寻址 ROM时,其L-W个低位就必须舍 去,这样就不可避免地产生相位误差。该误差是 DDS误差产生的主要原因。五、总结在此次实验中,关键部分是相位累加器和 ROM表,由于对FPGA内部不 是很了解,当将各部分拼接起来进行调试时出现了问题,当LCD液晶显示正常时,用示波器观察波形是没有显示,但当将 LCD断开时,示波器上有显示且正 常,后来与各组讨论知道不能使用矩阵键盘上的 Esc键,于是将键盘控制部分程 序进行修改,不使用键盘的Esc键,结果就好了,且达到任务所要求的指标。六、参考文献【1】夏宁闻 Verilog数字系统设计教程(第2版)北京航空航天大学出版社【2】张洪润张业凡等 FPGA/C

12、PLD应用设计200例(上册)北京航空航天大学出版社【3】刘泽良 吕锋 基于FPGA的DDS正弦信号发生器的设计与实现【4】王建明基于DDS技术的多波信号源设计南京:南京理工大学【5】曾繁泰 陈美金 VHDL程序设计(第2版) 活华大学出版社附录3:CLK_ INPUT I>VCC IPIN28fenpinclk outinst10leijiaqiclkdi12.0L k9.0 xiang14.0inst6CS0nRDScanKeyCSDout7.0RDKC2.0CLKKR5.0INT-.BIDIRVCC.BIDIRVCCinst24PIN 1sinromladdress12.clock

13、scan_key7.0 Kout9.0clkinst18PIN1'3PIN 1'46sb w8 28p q7.0inst Block tpe: AUTO<> KC2.0<KR5.0jicunqiclkout14.0in14.0inst12kongzhi2PIN 1(Key_data7.&bxzhfz7.0sin7.0phd14.0clkinst11reg8i D7.0 Q17.0 clockinst15kongzhiscan_key7.0 Kout9.clkinst7data ctlOUTPUT Q7.0in7.0 out9.0ck2inst3PIN4

14、PIN 6PIN 8PIN 12PIN14PIN 1PIN 93PIN 87PIN_1: PINTPIN_TPIN 10PIN_10PIN 217OUTPUT-> INT1bidir七 lcd data7.0VCC 'PIN 183CS3nWRCSDOUT7.0cd_data7.0PIN_2:nWR 02INPUT VCCWIREindPIN 184output 、nLCD_WRPIN 1PIN 18586WRDIN7.0P27P26.4nRDinst1ASIC74138CSout7.0Adin2.0inst9pin_213rdBUS ConnectKey_data7.0lcd_

15、data7.tCS7.0CS0CS3P27XRDDin07.0Din17.0,Din27.0Din37.0Din47.0,Din57.0Din67.0Din77.0CS0CS1CS2Dout7.0CS3CS4CS5CS6CS7inst13INPUTI VCCP07.0WIREinC16CS3output 、nLCD_RDOUTPUTEAOUTPUT 上 FSCnDP2MOUTPUT > nLCD_CSP07.0-PIN 1PIN_1PIN_2)IN 1kIN197PIN 1PIN12587889394I PIN_12PIN_224PIN_22PIN 195PIN_196PIN 218PIN 215PIN 208PIN 205PIN 2PIN10299CS1羸otv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1