895191581基于DDS信号发生器毕业设计论文.doc

上传人:laozhun 文档编号:4015388 上传时间:2023-04-01 格式:DOC 页数:45 大小:964KB
返回 下载 相关 举报
895191581基于DDS信号发生器毕业设计论文.doc_第1页
第1页 / 共45页
895191581基于DDS信号发生器毕业设计论文.doc_第2页
第2页 / 共45页
895191581基于DDS信号发生器毕业设计论文.doc_第3页
第3页 / 共45页
895191581基于DDS信号发生器毕业设计论文.doc_第4页
第4页 / 共45页
895191581基于DDS信号发生器毕业设计论文.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《895191581基于DDS信号发生器毕业设计论文.doc》由会员分享,可在线阅读,更多相关《895191581基于DDS信号发生器毕业设计论文.doc(45页珍藏版)》请在三一办公上搜索。

1、目 录绪论11 系统设计21.1 方案论证21.1.1 信号模块21.1.2 控制模块31.1.3 显示模块41.1.4 键盘输入模块41.1.5 系统各模块的最终方案412 理论分析与计算51.2.1 频率精度计算51.2.2 DDS的理论分析51.2.3 DDS的参数计算62 硬件系统设计721 硬件元器件的选用72.1.1 C8051F020控制芯片简介72.1.2 AD9954简介922 单元硬件电路设计132.2.1 矩阵(44)键盘电路132.2.2 电源电路142.2.3 电压调幅电路142.2.4 方波电路142.2.5 三角波电路153 软件系统设计163.1 程序流程图16

2、4 系统测试194.1 仿真测试194.2 指标测试194.3测试方法205 结束语22致谢23参考文献24附录一 对AD9954编程的主要源程序清单25附录二 LCD显示子程序35摘 要:随着数字集成电路、微电子技术和EDA技术的深入研究,DDS技术以其有别于其它频率合成技术的优越性能和特点,成为现代频率合成技术中的佼佼者。根据题目要求,我们以单片机C8051F020芯片和AD9954芯片为核心,辅以必要的模拟电路,设计一台信号发生器,使之能产生正弦波、方波和三角波。该系统主要由控制模块、信号模块、显示模块、键盘输入模块构成。仅用单片AD9954就实现了直接数字频率合成技术(DDS),产生稳

3、幅正弦波。输出的正弦波经过比较电路来实现方波的输出,而三角波则是在方波的基础上通过接入积分电路来实现的。单片机对内部寄存器控制,AD9954就可以产生一个频谱纯净、频率和相位都可编程控制且稳定性很好的模拟波形,整个系统结构紧凑,电路简单,功能强大,可扩展性强。通过键盘输入、LCD显示形成人机交互界面,实现对输出信号的控制。关键词:信号发生器;C8051F020;直接数字频率合成器(DDS);AD9954Abstract:As digital integrated circuits, microelectronic technology and in-depth study of EDA tec

4、hnology, its technology is different from other DDS frequency synthesizer technology and the superior performance characteristics of a modern frequency synthesis technology leader. Under the title, we C8051F020 microcontroller chip and AD9954 chip as the core, supplemented by the necessary circuit s

5、imulation, design a signal generator, so that it can produce sine, square and triangular wave. The system mainly by the control module, signal modules, modules, a keyboard input module. Just to achieve a single-chip AD9954 Direct Digital Synthesis (DDS), resulting in steady increase sine wave. The s

6、ine wave output circuit comparison to the output of square, triangle and square wave is on the basis of the access points through the circuit to achieve. SCM internal control registers, the AD9954 can produce a spectrum of pure, programmable frequency and phase control and stability are good simulat

7、ion waveforms, the whole system compact, simple circuit, powerful, scalable and strong. The keyboard input, a LCD display interactive interface, the output signal of the control.Keywords: signal generator; C8051F020; Direct Digital Synthesis (DDS); AD9954绪论直接数字频率合成技术(direct digital synthesizer,DDS)是

8、在20世纪7O年代提出的,利用数字可控振荡器技术,直接以数字信号控制产生高精度频率信号,频率分辨率可达LHz,与传统的直接频率合成(Ds)、锁相环间接频率合成(PLL ),FNPLL合成和PSG单环路合成相比,具有频率切换时间极短、频率分辨率高、相位连续,相噪低,结构简单、体积小、成本低等优势。鉴于DDS技术有如此优越的条件,现在大多数设备、系统都采用了这种技术。当然,作为通信系统中必不可少的信号发生器也越来越多地容纳了该技术,本文将要介绍的是基于ADI公司生产的DDS芯片AD9954的信号发生器的设计方案。AD9954是采用先进的DDS技术开发的高集成度DDS器件。其主要特性如下:内置400

9、MSPS时钟;内含l4位DAC;相位、幅度可编程;有32位频率转换字;可用串行I0控制;内置超高速模拟比较器;可自动线性和非线性扫频;内部集成有102432位RAM;采用18V电源供电;可420倍频;支持大多数数字输入中的5V输入电平。控制芯片选择C8051F020,通过对AD9954编程实现正弦波,该输出的正弦波能达到MHZ以上,输出是波形失真率极低。用LCD和键盘作为良好的人机界面,用键盘输入要显示的频率,LCD显示频率的大小。将输出的正弦波经比较器电路来实现方波的输出,经实验发现输出的方波能达到100KHZ以上且输出的波形失真率小,波形纯真。输出的方波再经过积分电路便得到三角波,经实验观

10、察可以看到,输出的波形正常,能达到KHZ以上,输出的波形失真率低。1 系统设计1.1 方案论证1.1.1 信号模块方案一:采用专用信号发生器。MAX038是美信公司的低失真单片信号发 生器集成电路,内部电路完善。使用该芯片,设计简单,可以生成同一频率信号的各种波形信号,但频率精确度和稳定度都难以达到要求。方案二:采用传统的直接频率合成法直接合成。利用混频器、倍频器、分频器和带通滤波器完成对频率的算术运算。由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成器的结构复杂,体积庞大,成本高,而且容易产生过多的杂散分量,难以达到较高的频谱纯度。方案三:采用锁相环间接频率合成(PPL)。虽然具有

11、工作频率高、宽带、频谱质量好的优点,但由于锁相环本身是一个惰性环节,锁定时间较长,故频率转换时间较长。另外,由模拟方法合成的正弦波的参数(如幅度、频率和相位等)都很难控制,不易实现。方案四:采用直接数字合成(Direct Digital Frequency Synthesizer,简称DDS或DDFS)。用随机读/写存储器RAM存储所需波形的量化数据,按照不同频率要求,以频率控制字K为步进对相位增量进行累加,以累加相位值作为地址码读取存在存储器内的波形数据,经D/A转换和幅度控制,再滤波即可得所需波形。由于DDS具有相对带宽很宽,频率转换时间极短(可小于20微妙),频率分辨率高,全数字化结构便

12、于集成以及输出相位连续,频率、相位和幅度均可实现程控,因此,可以完全满足本题目的要求。DDS的原理框图如图1所示:图1 DDS原理框图DDS技术频率分辨率高、转换速度快、信号纯度高、相位可控、输出信号无电流脉冲叠加、输出可平稳过渡且相位可保持连续变化。方案论证:从题目要求来看,上述三种方案都可以满足题目合成频率范围的要求,但信号发生器产生的频率稳定度、精确度都不如DDS合成的频率;另一方面,DDS比信号发生器更容易精确控制,所以我们选择DDS方案进行频率合成。1.1.2 控制模块方案一:采用89C51芯片单片机,现在市场很多成品都在用它,但89C51最大的缺陷在于不支持ISP(在线更新程序)功

13、能,。对于短短几天的比赛时间,用编程器对它进行烧写程序,是非常浪费时间和精力的,如果将来要对产品进行升级的话也是非常困难的。因此不考虑用80C51作控制模块的主芯片。方案二:采用89C2051开发制造产品,因为2051看起来体积比较小,功能也较全面.但是2051不是标准的51内核,所以89C2051的程序不能直接移植到51上。由于2051是精简型,所以P口变得很少,这样一来可利用资源比较紧张,只能做一些简单的产品。因此,对于本设计来说是不想适应的。方案三:采用SST系列单片机,SST单片机是在AT89C系列单片机的基础上改进而成的,提高了工作频率,可采用串口进行在线编程调试,增加了内存的容量和

14、PAC可编程计数器等功能。从基本功能的改进上与89S52系列基本上相同。并且这种单片机的价格高于其它同类产品,并且很多的功能用不上,故不考虑用这个方案。方案四:C8051F020是Cygnal出的一种混合信号系统级单片机(片上系统SOC),片内含CIP51的CPU内核,它的指令系统与MCS51完全兼容;其中的C8051F020单片机含有64kB片内Flash程序存储器、4352B(256B+4KB)的RAM;8个IO端口共64根IO口线;一个12位AD转换器和一个8位AD转换器以及一个双12位DA转换器;2个比较器、5个16位通用定时器、5个捕捉比较模块的可编程计数定时器阵列、看门狗定时器、V

15、DD监视器和温度传感器等部分;C8051F020单片机支持双时钟,其工作电压范围为2.73.6V(端口I/O,RST和JTAG引脚的耐压为5V)。综合上述,根据我们题目的要求,用低端产品,如89C51,不能很好的达到题目指标;用高端产品,如SST系列,它有很多的功能用不上和“内存”太大,等于大材小用,并且成本增加。与以前的51系列单片机相比,C8051F020增添了许多功能,同时其可靠性和速度也有了很大提高,且C8051F020的种种特点和所能达到的指标,对我们这个题目非常合适,因此最终采用C8051F020作为主控制芯片我们自制了单片机最小系统。1.1.3 显示模块方案一:采用LED数码管显

16、示。虽然功率低,控制简单,但却只能显示数字和一些简单的字符,没有较好的人机界面。方案二:采用LCD液晶显示,可以显示所有字符及自定义字符,并能同时显示多组数据汉字,字符清晰。由于自身具有控制器,不但可以减轻主单片机的负担,而且可以实现菜单驱动方式的显示结果,实现编辑模块全屏幕编辑的功能,达到友好的人机界面。用LCD显示,能解决LED只能显示数字等几个简单字符的缺点,接口电路简单,性能好,效果多,控制方便,显示的方式多。比较上述两种方案,采用方案二。1.1.4 键盘输入模块方案一:采用传统的独立式按键。这种方式占用系统的资源较多,而且效率低,程序的编写量大而复杂。方案二:为了提高单片机的资源利用

17、率,按键部分使用矩阵(44)键盘。这种方法在开关数量多的情况下可以节省很多的接口,并且提高系统接口的利用率。故:确定选择采用方案二。1.1.5 系统各模块的最终方案经过仔细的分析与论证,决定系统各模块的最终方案如下:信号模块:采用AD9954;控制模块:采用C8051F020控制;显示模块:采用LCD显示;键盘输入模块:采用矩阵(44)键盘;单片机C8051F020用于控制系统中LCD显示、键盘的输入的确认及控制信号的输出。系统基本框图如图2:图2 系统基本框图12 理论分析与计算1.2.1 频率精度计算 采用美国AD公司先进的DDS直接数字频率合成技术生产的高集成度产品AD9954芯片。AD

18、9954内部时钟最大为400MSPS,内置14位高速高精度DAC,1.8V低功耗工作,自带频率设置,幅度设置,相位设置,PSK,FSK,扫频等功能,并有10244字节的RAM。其频率字为32位,故频率绝对精度为HZ(系统时钟为400M),当频率高于1KHZ时,相对精度为。1.2.2 DDS的理论分析DDS的基本原理是,在高速存储器中放入正弦函数相位数据表格,经过查表操作,将读出的数据送到高速DAC产生正弦波。可编程DDS系统原理如图三:图3 可编程DDS系统原理N:相位累加器位数; M:相位累加器实际对ROM寻址的位数S:ROM输出正弦信号(离散化)的位数位数:相位累加器舍去的位数,满足位数=

19、N-MDDS系统由频率控制字、相位累加器、正弦查询表、数/模转换器和低通滤波器组成。参考时钟为高稳定度的晶体振荡器,其输出用于同步DDS各组成部分的工作。DDS系统的核心是相位累加器,它由N位加法器与N位相位寄存器构成,类似于一个简单的计算器。每来一个时间脉冲,相位寄存器的输出就增加一个步长的相位增量值,加法器将频率控制数据与累加寄存器输出的累加相位数据相加,把相加结果送至累加寄存器的数据输入端。相位累加器进入线性相位累加,累加至满量程时产生一次计数溢出,这个溢出频率即为DDS的输出频率。正弦查询表是一个可编程只读存储器(PROM),存储的是以相位为地址的一个周期正弦信号的采样编码值,包含一个

20、周期正弦波的数字幅度信息,每个地址对应于正弦波中0360范围的一个相位点。将相位寄存器的输出与相位控制字相加,得到的数据作为一个地址对正弦查询表进行寻址,查询表把输入的地址相位信息映射成正弦波幅度信号,驱动DAC,输出模拟信号。低通滤波器平滑并滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。1.2.3 DDS的参数计算对于计数容量为2N相位累加器和具有M个相位取样点的正弦波波形存储器,若频率控制字为K,输出信号频率为f o,参考时钟频率为f c,则DDS系统输出信号的频率为 f o=kfc/2N输出信号频率的频率分辨率为f min=fc/2N由奈奎斯特采样定理可知,DDS输出的最大频率为f

21、 max=fc/2频率控制字可由以上公式推出:K=f o2N/fc当外部参考时钟频率为50MHz,输出频率需要为1MHz时,系统时钟经过6倍频,使得f c变为300MHz,这样就可利用以上公式计算出DDS的需要设定的控制频率字K=248/3002 硬件系统设计21 硬件元器件的选用2.1.1 C8051F020控制芯片简介(1) C8051F020的功能C8051F020是Cygnal出的一种混合信号系统级单片机(片上系统SOC),片内含CIP51的CPU内核,它的指令系统与MCS51完全兼容;其中的C8051F020单片机含有64kB片内Flash程序存储器、4352B(256B+4KB)的

22、RAM;8个IO端口共64根IO口线大量减少了外部连线和器件扩展;一个12位AD转换器和一个8位AD转换器以及一个双12位DA转换器;2个比较器、5个16位通用定时器、5个捕捉比较模块的可编程计数定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分;C8051F020单片机支持双时钟,其工作电压范围为2.73.6V(端口I/O,RST和JTAG引脚的耐压为5V)。C8051F020功能图如图4。4 C8051F020功能图(2) C8051F020的特点a.运行速度C8051F020的指令运行速度是一般80C51系列单片机的10倍以上。因为其CIP-51中采用了流水线处理结构,已经没有了机

23、器周期时序,指令执行的最小时序单位为系统时钟,大部分指令只要12个系统周期即可完成。又由于其时钟系统比80C51的更加完善,有多个时钟源,且时钟源可编程,时钟频率范围为025 MHz,当CIP-5l工作在最大系统时钟频率25 MHz时,它的峰值速度可以达到25 MIs,C8051F020已进入了8位高速单片机行列。b.IO端口的配置方式C8051F020拥有8个8位的IO端口,大量减少了外部连线和器件扩展,有利于提高可靠性和抗干扰能力。其中低4个IO端口除可作为一般的通用IO端口外,还可作为其他功能模块的输入或输出引脚,它是通过交叉开关配置寄存器XBR0、XBR1、XBR2(各位名称及格式如表

24、1所示)选择并控制的,它们控制优先权译码选择开关电路如图1所示,可将片内的计数器定时器、串行总线、硬件中断、比较器输出及其它的数字信号配置为在端口IO引脚出现,这样用户可以根据自己的特定需要选择所需的数字资源和通用IO口。数字交叉开关是一个比较大的数字开关网路,这在所有80C51系列单片机上是一个空白。另外P1MDIN用于选择P1的输入方式是模拟输入还是数字输入,复位值为11111111B,即默认为数字输入方式。而80C51单片机的IO引脚是固定分配的,即占用引脚多,配置又不够灵活。c.交叉开关C8051F020通过优先权交叉开关译码器控制数字开关网路,端口引脚的分配顺序是从P0.0开始一直到

25、P3.7。当交叉开关配置寄存器XBR0、XBR1和XBR2中外设的对应使能位被设置为逻辑“1”时,交叉开关将端口引脚分配给外设,例如,如果UARTOEN位(XBR0.2)被设置为逻辑“1”,则TX0和RX0引脚将分别被分配到P0.0和P0.1。因为UART0有最高优先权,所以当UARTOEN位被设置为逻辑“1”时其引脚将总是被分配到P0.0和P0.1。未被设置的交叉开关分配端口可作为通用IO口。注意:当选择了串行通信外设(即SMBus、SPI或UART)时,交叉开关将为所有相关功能分配引脚。例如,不能为UART0功能只分配TX0引脚而不分配RX0引脚。交叉开关寄存器被正确配置后,通过将XBAR

26、E(XBR2.6)设置为逻辑“1”来使能交叉开关。 在C8051F020软件编程中须首先设置看门狗定时器的工作状态;其次,要由内部振荡器控制寄存器OSCICN设置采用内部时钟还是外部时钟工作,若选择外部时钟可通过外部振荡器控制寄存器OSCXCN来选择适当的频率,上题目采用内部时钟,并通过时钟控制寄存器CKCON选择使用系统时钟的12分频。再次,若选择的IO口是低四个端口P0P3作为工作口,需要设定寄存器XBR0、XBR1、XBR2(复位值为0),在本设计中未用到数字资源,故XBR0、XBR1的值为复位值,只需设定XBR2的值为40H允许功能选择开关即可,若本设计中的P1.2换为P4.2,则无需

27、设定寄存器XBR0、XBR1、XBR2,因为高端口P4P7与交叉开关无关。最后还要选择所用IO口的输出方式,P0、P1、P2、P3口分别由POMDOUT、P1MD-OUT、P2MDOUT、P3MDOUT端口输出方式寄存器来选择,寄存器中的某位置0为漏极开路输出方式,置1则为推拉输出方式。另外,由于C8051F020的专用寄存器比一般51单片机多,而8051指令不能识别它增加的专用寄存器,公司提供了所有的专用寄存器及相应位的地址定义文件,用户只需加一条 include (C8051F020.inc)指令即可。C8051F020引脚图如图5: 图5 C8051F020引脚图2.1.2 AD9954

28、简介(1) AD9954的概念及内部特征AD9954是采用先进的DDS技术开发的高集成度DDS器件。它内置高速、高性能D/A转换器及超高速比较器,可用为数字编程控制的频率合成器,能产生200MHz的模拟正弦波。AD9954内含102432静态RAM,利用该RAM可实现高速调制,并支持几种扫频模式。AD9954可提供自定义的线性扫频操作模式,通过AD9954的串行I/O口输入控制字可实现快速变频且具有良好的频率分辨率。其应用范围包括灵敏频率合成器、可编程时钟发生器、雷达和扫描系统的FM调制源以及测试和测量装置等。AD9954的内部结构主要特性:1.内置400MSPS时钟;2.内含14位DAC;3

29、.相位、幅度可编程;4.有32位频率转换字;5.可用串行I/O控制;6.内置超高速模拟比较器;7.可自动线性和非线性扫频;8.内部集成有102432位RAM;9.采用1.8V电源供电;10.可420倍倍频;11.支持大多数数字输入中的5V输入电平;12.可实现多片同步。 (2) AD9954的引脚说明 AD9954采用48脚TQFP/EP封装,各引脚定义如下:I/O UPDATE:在该引脚的上升沿可把内部缓冲存储器中的内容送到I/O寄存器中。引脚电平的建立和保持与SYNC-CLK输出信号有关;DGND和AGND:数字地与模拟地;OSC/REFCLK和OSC/REFCLK:参考时钟或振荡输入端:

30、CYRSTAL OUT:振荡器输出端;CLKMODESELECT:振荡器控制端,为1时使能振荡器,为0时不使能振荡器;LOOP_FILTER:该引脚应与AVDD间串联一个1k电阻和一个0.1F电容;IOUT和IOUT:DAC输出端,使用时应接一个上接电阻;DACBP:DAC去耦端,使用时应接一个0.01F的旁路电容;DAC_RSET:DAC复位端,使用时应通过一个3.92k的电阻接至AGND端;COMP_OUT:比较器输出端,可以输出方波或脉冲信号;COMP_IN和COMP_IN:比较器输入端;PWRDWNCTL:外部电源掉电控制输入引脚; RESET:芯片复位端; IOSYNC:异步串行端口

31、控制复位引脚;为1时,当前I/O操作立即停止;为0时开始新的I/O操作;不用时,此引脚必须接地;SDO:采用3线串口操作时,SDO为串行数据输出端。采用2线串口操作时,SDO不用,可以不连;CS:片选端,低电平有效,允许多芯片共用I/O总线;SCLK:I/O操作的串行数据时钟输入端;SDIO:采用3线串口操作时,SDO为串行数据输入端,采用2线操作时,SDO为双向串行数据端。DVDD_I/O;I/O电源,可以是1.8V或3.3V;SYNC_IN:同步多片AD9954输入信号,使用时与主AD9954的SYNC_CLK的输出相连;SYNC_CLK:时钟输出脚,为内部时钟的1/4,可用作外围硬件同步

32、;OSK:在编程操作时可用该脚来控制幅度与时间斜率,与SYNC_CLK同步;当OSK不能被编程时,此脚接DGND;PS1和PS0:可用来选择4个RAM段控制字区中的一个。(3) AD9954电路部分AD9954为电流输出型芯片,自带滤波功能,故其外围电路主要为数据控制线的引出和电流转换为电压输出电路,AD9954的外围电路如图6:图6 AD9954的外围电路(4) AD9954总体外围电路由C8051F020输出控制信号控制AD9954,AD9954产生波形,AD9954总体外围电路如图7: 图7 AD9954总体外围电路 22 单元硬件电路设计2.2.1 矩阵(44)键盘电路在开关数量多的情

33、况下,采用矩阵(44)键盘可以节省很多的接口,并且提高系统接口的利用率。矩阵(44)键盘电路如图8: 图8 矩阵(44)键盘电路2.2.2 电源电路电源模块提供+5V、-5V电压。电源电路如图9:图9 电源电路2.2.3 电压调幅电路采用放大电路调节正弦波信号的电压峰-峰值,使V opp在05V可调。放大电路如图10。图10 调幅电路2.2.4 方波电路输入正弦波信号外接比较电路产生方波信号。比较电路如图11:图11 方波电路2.2.5 三角波电路输入方波信号外接积分电路产三角波波信号。积分电路如图13 软件系统设计3.1 程序流程图 (1)题目要求信号发生器产生正弦波、方波和三角波三种周期性

34、波形,我们对DDS模块编程实现正弦波的输出,在产生正弦波的基础上外接比较电路产生方波,再通过积分电路实现三角波的输出。主程序根据键盘设定正弦波的频率,按确定键后则输出所需的正弦波。主流程图如图13所示。主要程序见附录A。图13 主流程图(2)LCD显示的流程如图14所示:图14 LCD显示流程图(3)键盘扫描秒子程序如图15所示图15:键盘扫描流程图4 系统测试4.1 仿真测试在对软件进行仿真测试时,使用Keil 进行模拟测试。测试目的:(1) 键盘的键位是否正确。(2) LCD的显示是否正常。(3) 信号发生器是否能产生我们所需要的波形。4.2 指标测试4.2.1 误差分析频率误差来源:测试

35、仪表数字示波器本身在测量上存在误差幅值误差来源:由于通用电路板本身机构的限制,影响了整个电路的布局和走线,从而引入了一定的噪声和干扰。相位误差:由于波形是通过一系列有限的离散采样点表示,不可避免引入相位量误差,增加采样点数可以减小误差。4.2.2 测试仪器示波器:YB5400系列数字存储示波器4.2.3 输出波形频率范围测试测试数据如表一、表二、表三:表一 第1组测试数据预置频率/Hz输出频率/Hz正弦波方波三角波100100.02100.02100.02200200.05200.05200.0510001000.21000.21000.220002000.52000.52000.510000

36、1000210002100022000020005200052000550000500105001050010100000100020100020100020表二 第2组测试数据预置频率/Hz输出频率/Hz正弦波方波三角波100100.02100.02100.02200200.04200.05200.0510001000.21000.181000.220002000.52000.52000.610000100021000210002.12000020005200052000550000500105001050010.5100000100020100019100021表三 第3组测试数据预置频率

37、/Hz输出频率/Hz正弦波方波三角波100100.02100.02100.02200200.05200.05200.0610001000.21000.21000.220002000.52000.482000.6100001000210001.8100022000020005200052000550000500105001050010100000100020100020100020由表中的数据可以看出,在输出频率稳定度方面,正弦波、方波、三角波均十分稳定。4.3测试方法4.3.1测试正弦波输出频率(1)连接电路(电源电路、C8051F020芯片、AD9954芯片、显示模块、键盘输入模块)。(2)

38、打开示波器电源。(3)运用键盘输入设定频率,按确定键。(4)观察示波器的显示频率、周期和峰-峰值。(5)记录正弦波的输出频率(6)关闭电源4.3.2 测试方波输出频率(1)连接电路(电源电路、C8051F020芯片、AD9954芯片、显示模块、键盘输入模块、比较器)。(2)打开示波器电源。(3)运用键盘输入设定频率,按确定键。(4)调节电位器,观察示波器的显示频率、周期和峰-峰值。(5)记录方波的输出频率(6)关闭电源4.3.3测试三角波输出频率(1)连接电路(电源电路、C8051F020芯片、AD9954芯片、显示模块、键盘输入模块、比较电路、积分电路)。(2)打开示波器电源。(3)运用键盘

39、输入设定频率,按确定键。(4)调节电位器,观察示波器的显示频率、周期和峰-峰值。(5)记录三角波的输出频率。(6)关闭电源。5 结束语 设计基本实现了信号发生器的基本要求,能输出正弦波、方波、三角波,输出的频率也能达到基本要求100HZ100KHZ,输出的正弦波在1000欧的负载下,能实现峰峰值在05V可调。输出的波形纯真,失真率低。可以作为一般的信号发生器使用。但由于知识水平的有限,该信号发生器不能实现在50欧负载的情况下,正弦波峰峰值在05V可调。不能在10100KHZ之间实现10HZ的步进和100KHZ1MHZ实现1000HZ的步进。这是一大遗憾。单片机控制AD9954产生正弦信号电路及

40、其滤波放大输出电路是该信号发生器设计的核心部分,由于器件对于带宽的要求比较高,因此在器件的选择和滤波器的设计上有较高的要求。致谢本文是在导师凌老师的悉心指导下完成的,在大专的三年时间里,导师严谨的治学态度、渊博的知识、活跃的学术思想、执着的科研精神及高尚的做人原则,都给我留下了终生难忘的印象。所有这一切都将成为我受益终生的宝贵财富!在此,学生谨向导师表示衷心的感谢! 真诚地感谢凌老师。通过他们的精心指导与有益讨论,我在研究思想方法上得到了许多启发,并感谢李茂清-李老师的支持与帮助,在他们的帮助下使我完成论文。 感谢我的父亲、母亲对我的理解、支持和帮助。尽管与他们为我付出的一切相比,所有的语言都

41、显得苍白无力,我仍要真诚地说声:谢谢!参考文献1黄志伟.全国大学生电子设计竞赛系统设计.北京:北京航空航天大学出版社,2006.2全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品汇编.北京:北京理工大学出版社,20043潘琢金译.C8051F020/1/2/3混合信号ISP FLASH微控器数据手册.沈阳:沈阳新华电子有限公司,20024谢自美电子线路设计.实验.测试(第三版)武汉:华中科技大学出版社。2000年7月 5杨帮文新型集成器件家用电路北京:电子工业出版社,2002.8 6第二届全国大学生电子设计竞赛组委会。全国大学生电子设计竞赛获奖作品选编。北京:北京理工大学出版社,1

42、997. 7李炎清毕业论文写作与范例厦门:厦门大学出版社。2006.10 8潭博学、苗江静集成电路原理及应用北京:电子工业出版社。2003.9 9陈梓城家用电子电路设计与调试北京:中国电力出版社。2006附录一 对AD9954编程的主要源程序清单/对AD9954编程的主要源程序清单#include c8051f020.h#include intrins.h/ad9954初始化extern void AD9954_init(void);/写一个字节extern void AD9954_writebyte_m(unsigned char dat);/读一个字节extern unsigned cha

43、r AD9954_readbyte_m(void);/向9954寄存器写数据extern void AD9954_write_reg(unsigned char address,unsigned char *pointer);/从9954寄存器读数据extern void AD9954_read_reg(unsigned char address,unsigned char *pointer);/从IO缓冲到寄存器extern void AD9954_io_updata();/用9954产生正弦波,输入参数为频率,单位Hzextern void AD9954_gener_cos(double

44、freq);/使能正弦输出extern void AD9954_en_cos_o();/参考时钟频率调节extern void AD9954_ref_clk(unsigned char t);/AD9954满幅输出extern void AD9954_amp_full(void);unsigned char Getkey();void DDS_ctrl(unsigned char key);void AD9954_Phase();void AD9954_add(void);/*LCD有关*/void lcd_delay(void);unsigned char LCDBusyWait();voi

45、d WriteLCD_Data(unsigned char Data);void WriteLCD_Command(unsigned char Command);unsigned char ChangeAddress(unsigned char StartAddress);void WriteLCD(unsigned char StartAddress,unsigned char Size,unsigned char Charactors);void WriteLCD_Number(unsigned char Address,unsigned char Number);void WriteLcd_Number_3bit(unsigned char Address,unsigned char Number);void WriteLcd_Number_4bit(unsigned char Address_4bit,unsigned int Number4bit);void DISPInitial();#include ad9954.hvoid SYSCLK_Init (void) int i; / delay counter OSCXCN = 0x67;

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号