首页 基于AD9851的DDS信号源发生器

基于AD9851的DDS信号源发生器

举报
开通vip

基于AD9851的DDS信号源发生器 河南大学 本科毕业论文 目录 I摘要 IIAbstract 1第1章 绪论 11.1 课题来源 11.2 课题背景 11.3 直接数字频率合成技术的现状 21.4 本文的主要工作 3第2章 系统总体方案的分析和设计 32.1 DDS技术的基本原理 42.2 DDS的工作特点 52.3 系统设计原理 52.4 系统框图分析和设计 6第3章 系统的硬件设计 63.1 稳压电源的设计 63.1.1 三端稳压集成电路7805简介 73....

基于AD9851的DDS信号源发生器
河南大学 本科毕业 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 目录 I摘要 IIAbstract 1第1章 绪论 11.1 课题来源 11.2 课题背景 11.3 直接数字频率合成技术的现状 21.4 本文的主要工作 3第2章 系统总体方案的 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 和设计 32.1 DDS技术的基本原理 42.2 DDS的工作特点 52.3 系统设计原理 52.4 系统框图分析和设计 6第3章 系统的硬件设计 63.1 稳压电源的设计 63.1.1 三端稳压集成电路7805简介 73.1.2 系统电源电路设计 73.2 DDS芯片的选择及与单片机之间的通信 83.2.1 DDS芯片选择及引脚图 93.2.2 AD9851的串、并行通信 103.3 单片机(AT89S52)控制电路 103.3.1 时钟电路 113.3.2 复位电路 123.3.3 单片机控制电路图 133.3.4 单片机与AD9851的接口 143.4 液晶显示模块 143.4.1 LCD1602的主要性能 153.4.2 LCD与单片机的连接 153.5 低通滤波器的设计 17第4章 信号发生器的软件设计 174.1 程序流程图 184.2 键盘扫描流程图 194.3 LCD的显示 21第5章系统的仿真和调试 24结论 25参考文献 26附录 摘要 频率合成器是现代电子系统的重要组成部分,是决定电子系统性能的关键 设备之一。随着现代通信技术的发展,系统对频率合成器提出了越来越高的要求。低相位噪声、高频谱纯度、高捷变速率和高频率分辨率的频率合成器已经成为频率合成技术发展的主要趋势。直接数字频率合成(DDS)是继直接频率合成(Ds)和锁相环频率合成(PLL)之后出现的新的频率合成方法,己被广泛地应用于通信、雷达、电子对抗和仪器仪表等领域。 本文首先介绍了频率合成的概念、发展以及直接数字频率合成技术(DDS) 的现状和发展趋势。分析了DDS的工作原理及其基本结构,然后根据系统指标合理地采用了DDS技术,以AD9851芯片为核心,设计了一种结构简单性能优良的信号发生器。详细分析了该信号发生器的系统结构、软硬件设计和具体电路实现。 信号发生器的硬件部分包括三个模块,分别是信号产生和控制模块、人机交互 模块和信号处理模块。软件部分主要开发基于单片机AT89S52的数据处理和控 制程序,以及信号发生器的外部通信程序。完成实验电路板的制作,并通过电 路板的调试,实验电路工作正常。根据系统的最终测试结果可知该信号发生器 具有输出信号波形种类多、精度高、频带宽等特点。最后针对课题对频率源合 成性能的要求,对相位噪声的抑制和杂散性能的优化进行了深入的分析,并对比实际电路提出了设计的改进建议和方案。 关键词:信号发生器;DDS;AD9851;频率合成; Abstract Frequency synthesizer is one of the most important parts used in modem communication and electronic systems.With the development of modem communication techniques,frequency synthesizer is required to have higher performance such as wide band,fast frequency switching speed,low spurious level,pure output spectrum,high resolution,etc.Direct digital synthesis(DDS)is a new frequency synthesis technology coming after direct frequency synthesis(DS)and phase locked loop frequency synthesis(PLL).It’s widely used in such fields as radar,communication,electronic warfare and electronic measurement instrument. This paper firstly introduces the concept and development of frequency synthesis,as well as the present situation and the trend of development of the direct digital frequency synthesis technology(DDS).It has analyzed the principle and the basic structure of DDS,then according to the target system,a signal generator with the brief structure and excellent performance is designed with adopting DDS technology,which is based on the AD company’s DDS chir-AD9851.The system structure,the design of software and hardware and the way to realize the circuitry of the signal generator is analyzed in detail.The hardware of the signal generator consists of three blocks,those are signal generate module、keyboard and LCD display module、signal processing module.Software of the system mainly focuses on the design of C51 including control、data processing、communication,and so on.The corresponding PCB has been made and debugged.The whole circuit works well.The signal generator has many virtues,such as generating multiple sorts of signals,high precision and wide frequency width.The noise inversion and optimization of spurious suppression characteristic are analyzed in depth according to requirement of the synthetic performance.At last,this paper proposes improvement program by comparing the actual circuits. Keywords:signal generator;DDS;AD9851;frequency synthesis. 第1章 绪论 随着现代电子技术的发展,在自动化系统、通信系统,电子对抗以及各种电子测量技术中,我们常常需要一个高精度、频率可变的信号源。近年来随着直接数字频率合成技术(Direct Digital Frequency Synthesis,简称DDS)的发展,这个问题已经得到很好的解决,与传统的频率合成技术相比,DDS具有频率分辨率高、频率转变速度快、输出相位连续、相位噪声低、可编程和全数字化、便于集成等优点。用DDS合成的频率源是目前很高级的技术,研究该信号源有比较重要的理论意义和现实意义。 1.1 课题来源 该题目是自选题目 1.2 课题背景 在现代雷达、通信、电子对抗等系统中频率合成器有着广泛的应用,它是 电子系统的心脏,是决定电子系统性能的关键设备,很多现代电子设备和系统 的功能都直接依赖于所使用的频率合成器的性能。直接数字频率合成(DDS)技术是近二十年新兴的一种频率合成技术,它具有分辨率高、切换速度快、相位连续等一系列优点。由于DDS技术具有众多优点,使得它在通信领域如数字调制、移动通信、扩频通信等方面得到了广泛使用。 1.3 直接数字频率合成技术的现状 随着数字信号理论和超大规模集成电路VLSI的发展,在频率合成领域诞生 了一种革命性的技术,那就是七十年代出现的直接数字频率合成DDS,它的出现标志着频率合成技术迈进了第三代。1971年3月J.Tiemey和C.M.Tader等人首先提出了DDS的概念;利用数字方式累加相位,再以相位之和作为地址来查询正弦函数表得到正弦波幅度的离散数字序列,最后经D/A变换得到模拟正弦波输出。在系统时钟一定的情况下,输出频率决定于频率寄存器中的频率字。而累加器的字长决定分辨率。基于这样的结构DDS频率合成器具有以下优点: (1)频率分辨率高,输出频点多,可达2N个频点(N为DDS相位累加器的字长);(2)频率切换速度快,可达岸us量级;(3)频率切换时相位连续;(4)可以输出宽带正交信号;(5)输出相位噪声低,对参考频率源的相位噪声有改善作用;(6)可以产生任意波形;(7)全数字化实现,便于集成,体积小,重量轻。 运用DDS技术生产的DDS任意波形信号发生器是一类较新的信号源并已 经广泛投入使用。它不仅能产生传统函数信号器能产生的正弦波、方波、三角波、锯齿波,还可以产生任意编辑的波形。由于DDS的自身特点,还可以很容易的产生一些数字调制信号,如FSK PSK等,一些高端的信号发生器甚至可以产生通信信号。同时输出波形的频率分辨率、频率精度等指标也有很大的提高。 1.4 本文的主要工作 本论文的任务是根据DDS信号发生器的特点和应用情况,结合新一代高性能芯片设计一种使用简单、性能优良的信号发生器。整个系统以单片机STC89S52控制,DDS芯片AD9851为核心,配置相应的外设及接口电路,用C语言开发,组成一个多功能的信号发生器。 本文的主要工作如下: (1)根据课题提出的指标和要求进行研究,分析其可行性。 (2)对系统的各个功能模块进行了深入的分析和研究,在对课题所采用的方 案进行详细的研究后设计了具体的功能电路。 (3)熟悉所选择的各集成电路芯片并完成具体电路的设计、PCB板布局与模 块结构设计,对各模块电路进行了精心调试。 (4)对系统的最终指标进行了测试,针对系统的不足,进行了分析并提出了一些改进的方法。 第2章 系统总体方案的分析和设计 2.1 DDS技术的基本原理 DDS的基本工作原理是在采样时钟信号的控制下,通过由频率码控制的相位累加器输出相位码,将存储于只读存储器的波形量化采样数据值按一定的规律读出,经D/A转换和低通滤波后输出正弦信号。其主要组成为:相位累加器、相位相加器、波形存储器、数字相乘器和D/A转换器。 下面就AD9851如何实现正弦波和方波来介绍DDS的基本原理,如图2-1所示。 图2-1中层虚线内是一个完整的可编程DDS系统,外层虚线内包含了AD9851的主要组成部分。AD9851内含可编程DDS系统和高速比较器,能实现全数字编程控制的频率合成。可编程DDS系统的核心是相位累加器,它由一个加法器和一个N位相位寄存器组成。每来一个外部参考时钟,相位寄存器便以步长M递加。相位寄存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0°~360°范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号,然后驱动DAC以输出模式量。相位寄存器每过2N/M个外部参考时钟后返回到初始状态一次,相位地正弦查询表每一个循环也回到初始位置,从而使整个DDS系统输出一个正弦波。输出的正弦波周期To=Tc*2N/M,频率fout=M*fc/2N,Tc、fc分别为外部参考时钟的周期和频率。AD9851采用32位的相位累加器将信号截断成14位输入到正弦查询表,查询表的输出再被截断成10位后输入到DAC,DAC再输出两个互补的电流。DAC满量程输出电流通过一个外接电阻RSET调节,调节关系为ISET=32(1.148V/RSET),RSET的典型值是3.9kΩ。将DAC的输出经低通滤波后接到AD9851内部的高速比较器上即可直接输出一个抖动很小的方波。AD9851在接上精密时钟源和写入频率相位控制字之间后就可产生一个频率和相位都可编程控制的模拟正弦波输出,此正弦波可直接用作频率信号源或经内部的高速比较器转换为方波输出。在125MHz的时钟下,32位的频率控制字可使AD9851的输出频率分辨率达0.0291Hz;并具有5位相位控制位,而且允许相位按增量180°、90°、45°、22.5°、11.25°或这些值的组合进行调整。 图2-1 AD9851的结构框图 2.2 DDS的工作特点 DDS的原理使其具备了以下优良的工作特点: (1)频率分辨率高 如前所述,DDS的分辨率在fc固定时,取决于相位累加器的位数N,只要N取足够大,理论上可以获得相应的频率分辨精度,这在传统的频率合成方法上是难以实现的。 (2)频率变化速度快 在DDS中,一个频率的建立时间通常取决于滤波器的带宽。其影响因素有 内部数控振荡器内的工艺结构、数模变换及其它可能的信号处理步骤产生的时延,其中数字信号处理部分的时延与时钟周期相关。由于DDS中无须相位反馈控制,因而频率建立及切换快并且与频率分辨率、频谱纯度相互独立。 (3)易于实现各种数字调制 由于DDS信号的频率、相位、幅度均可由数字信号控制,所以可以通过预 置内部相位累加器的初始值来精确控制输出信号,调幅时直接在ROM表输出端对幅度进行控制,调相时在相位累加器输出端直接加上调制信号即可,调频可通过频率控制字进行,在进行CHIRP调制时,也只需在频率控制字前再加一个累加器即可。同时,DDS也非常易于实现如PSK、FSK等高精度的数字调制和正交调制。 (4)集成度高 DDS中除了滤波器以外,几乎所有的部件都属于数字信号处理部件,系统易于集成,功耗低,体积小,重量轻。 2.3 系统设计原理 本文提出的采用DDS作为信号发生核心器件的全数控函数信号发生器设计方案, 根据输出信号波形类型可设置、输出信号幅度和频率可数控、输出频率宽等要求,选用了美国A/D公司的AD9851 芯片,并通过单片机程序控制和处理AD9851的32位频率控制字, 再经放大后加至以数字电位器为核心的数字衰减网络, 从而实现了信号幅度、频率、类型以及输出等选项的全数字控制。 本系统主要由单片机、DDS直接频率信号合成器、数字衰减电路、真有效值转换模块、A/D转换模块、数字积分选择电路等部分组成。单片机AT89S52是整个系统关键部分,通过对键盘进行扫描读入相位信息,经转换后输出到芯片AD9851,输出波形。键盘输入的数字信息经AT89S52控制的LCD1602显示。 2.4 系统框图分析和设计 系统结构组成如图2-2所示,主要由单片机控制模块、键盘与显示模块、数字合成模块、滤波模块及运放模块。其中,信号产生由单片机控制模块和数字合成模块实现,键盘与显示模块则用来实现人机交互的功能,滤波模块及运放模块用来对信号进行后期处理。 SHAPE \* MERGEFORMAT 图2-2 信号发生器系统框图 用户从仪器面板上按键输入命令,数据将显示在字符型LCD上,并将命令 传输到单片机,再由单片机控制DDS芯片输出信号,并通过后级信号调理电路,最后输出所需的信号。因为是可调控制,调节按钮不仅可以输出不同的波形,而且能增加和减小输出波形的频率。 第3章 系统的硬件设计 因为本课题的功能电路与相关部件较多,为了便于研制期间的调试与最终 成品的产业化,所以系统的最后实现采用了模块化的思想,即先把各个相关的电路与部件做成相互独立的分离模块,而系统的功能则是通过各模块间的级联来完成的。下面将分别叙述各功能模块及其中所用到的器件、电路以及在系统设计、调试过程中应该注意的问题。 3.1 稳压电源的设计 单片机的+5v电源的获得可通过直流电或者交流电获得,通过直流电获得可直接用电脑USB接口、干电池及DC—DC的方式获得,而本系统通过7805稳压电路将12V电压转换成5V直流电压,输出电压稳定,其最大输出电流可为1A,能带动一定的负载。 3.1.1 三端稳压集成电路7805简介 电子产品中,常见的三端稳压集成电路有正电压输出的78 ×× 系列和负电压输出的79××系列。三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。本系统需要使用+5v输出作为单片机电源,故选用7805。 用7805三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。但要注意,其最大输出电流为1.5A,因此在使用中要注意电路电流上限。7805的引脚图为3-1,其电路图为3-2。 3-1 7805引脚图 3-2 7805电路图 3.1.2 系统电源电路设计 12V的直流电源经过滤波电路、7805稳压电路后输出+5v直流电源,工作原理如图 3-3: 图3-3 +5v电源工作原理图 在实际电路中,12V的直流电源需要在这里接一个100uF的电解电容。 变压器输出端的12V电压经电容滤波,在电容C1两端大约会有11V多一点的电压,假如从电容两端直接接一个负载,当负载变化或交流电源有少许波动都会使C1两端的电压发生较大幅度的变化,因此要得到一个比较稳定的电压,还需在这里接一个三端稳压模块7805。由于7805的输出端不能高于输入端,所以用二极管加以保护。 三端稳压器前后面各接一个104电容C1和C3,有滤波和阻尼的作用。 同时利用R1和发光二极管作为电源状态指示灯,以便实时了解电源是否正常工作。系统电源电路如图3-4所示。 图3-4 电源电路 3.2 DDS芯片的选择及与单片机之间的通信 信号的产生与控制部分电路由DDS片AD9851与单片机AT89S52组成, 用户通过键盘输入的信号要求被AT89S52接收,并经其处理后将计算出的控制字传送给AD9851,由AD9851产生频率幅度可控的信号。下面以AD9851芯片为中心加以讨论。 3.2.1 DDS芯片选择及引脚图 本系统采用了美国模拟器件公司生产的高集成度产品 AD9851 芯片。AD9851 是在 AD9850 的基础上,做了一些改进以后生成的具有新功能的 DDS 芯片。AD9851 相对于 AD9850 的内部结构,只是多了一个 6 倍参考时钟倍乘器,当系统时钟为 180MHz 时,在参考时钟输入端,只需输入 30MHz 的参考时钟即可。AD9851 是由数据输入寄存器、频率/相位寄存器、具有 6 倍参考时钟倍乘器的 DDS 芯片、10位的模/数转换器、内部高速比较器这几个部分组成。其中具有 6 倍参考时钟倍乘器的 DDS 芯片是由 32 位相位累加器、正弦函数功能查找表、D/A 变换器以及低通滤波器集成到一起。这个高速 DDS 芯片时钟频率可达 180MHz, 输出频率可达 70 MHz,分辨率为 0.04Hz。 AD9851采用28引脚的SSOP表面封装,其引脚排列如图3-5所示,各引脚定义如下: D0~D7:8 位数据输入口,可给内部寄存器装入 40 位控制数据。 PGND:6 倍参考时钟倍乘器地。 PVCC:6 倍参考时钟倍乘器电源。 W-CLK:字装入信号,上升沿有效。 FQ-UD:频率更新控制信号,时钟上升沿确认输入数据有效。 FREFCLOCK:外部参考时钟输入。 当6倍频器不能使用时,DDS系统时钟为外部参考时钟。当6倍频器能使用时,DDS系统时钟为外部参考时钟的6倍分频 AGND:模拟地。 AVDD:模拟电源(+5V)。 DGND:数字地。 DVDD:数字电源(+5V)。 RSET、DAC:外部复位连接端。 VOUTN:内部比较器负向输出端。 VOUTP:内部比较器正向输出端。 VINN:内部比较器的负向输入端。 图3-5 AD9851管脚示意图 VINP:内部比较器的正向输入端。 DACBP:DAC 旁路连接端。 IOUTB: “互补”DAC 输出。 IOUT:内部 DAC 输出端。 RESET:复位端。低电平清除 DDS累加器和相位延迟器为 0Hz 和 0 相位,同时置数据输入为串行模式以及禁止 6 倍参考时钟倍乘器工作。 3.2.2 AD9851的串、并行通信 AD9851的串行操作有两种数据传送方式,即从最高位开始传送和从最低位开始传送,这是由控制寄存器1的第8位来决定的。默认状态为低电平,此时先传送最高位,若为高电平则先传送最低位。串行操作的时序如图3-6所示。 图3-6 控制字串行输入时序图 在串行输入方式,W-CLK上升沿把25引脚的一位数据串行移入,当移动40位后,用一个FQ_UD脉冲即可更新输出频率和相位。图3-7是相应的控制字串行输入的控制时序图。AD9851的复位(RESET)信号为高电平有效,且脉冲宽度不小于5个参考时钟周期。AD9851的参考时钟频率一般远高于单片机的时钟频率, 因此AD9851的复位(RESET)端可与单片机的复位端直接相连。 图3-7 控制字并行输入的时序图 在并行装入方式中,通过8位总线D0-D7将可数据输入到寄存器,在重复5次之后再在FQ-UD上升沿把40位数据从输入寄存器装入到频率/相位数据寄存器(更新DDS输出频率和相位),同时把地址指针复位到第一个输入寄存器。接着在W-CLK的上升沿装入8位数据,并把指针指向下一个输入寄存器,连续5个W-CLK上升沿后, W-CLK的边沿就不再起作用,直到复位信号或FQ-UD上升沿把地址指针复位到第一个寄存器。 3.3 单片机(AT89S52)控制电路 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 功能:8k字节Flash、256字节RAM、32 位I/O 口线、看门狗定时器、2个数据指针、三个16 位定时器/计数器、一个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 一般单片机需外接一个时钟电路和一个复位电路,其设计为下: 3.3.1 时钟电路 图3-8 时钟电路 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器。片外石英晶体或者陶瓷谐振器及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,这里采用电容30pF,晶振采用11.0592MHz。 3.3.2 复位电路 AT89C52的外部复位电路有上电自动复位和手动按键复位。上电复位电容充电来实现。手动按键复位又分为按键电平复位和按键脉冲复位。按键电平复位电路是在普通RC复位电路的基础上接一个有下拉电阻100K、上拉电容10μf接VCC,电源由开关接至复位脚(和上拉电容并联),上拉电容支路负责在“上电”瞬间实施复位;开关通过100K下拉电阻分压器,保证对单片机实施按键电平复位。电路图如下图所示: 图3-9 复位电路 3.3.3 单片机控制电路图 图3-10 单片机控制电路原理图 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),在flash编程和校验时,P1口接收低8位地址字节。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器。能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 3.3.4 单片机与AD9851的接口 单片机与AD9851的接口既可采用并行方式,也可采用串行方式,但为了充分发挥芯片的高速性能,应在单片机资源允许的情况下尽可能选择并行方式,本文重点介绍其并行方式的接口。P3.1 I/O方式并行接口I/ O方式的并行接口电路比较简单,但占用单片机资源相对较多,图3-11是I/O方式并行接口的电路图,AD9851的数据线D0~D7与P1口相连, FQ_UD和W_CLK分别与P2.3(10引脚)和P2.4(11引脚)相连,所有的时序关系均可通过软件控制实现。 图3.11 AT89S52与AD9851的电路连接图 3.4 液晶显示模块 3.4.1 LCD1602的主要性能 1602型LCD可以显示2行16个字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能[6]。 1602型LCD的接口信号说明,如表3.1所示: 表3.1 LCD1602接口说明 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 Data I/O 2 VDD 电源正极 10 D3 Data I/O 3 VL 液晶显示偏压信号 11 D4 Data I/O 4 RS 数据/命令选择端(H/L) 12 D5 Data I/O 5 R/W 读写选择端(H/L) 13 D6 Data I/O 6 E 使能信号 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正极 8 D1 Data I/O 16 BLK 背光源负极 读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字 读数据:输入:RS=H,RW=H,E=H 输出:无 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲 输出:D0~D7=数据 写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲 输出:无 3.4.2 LCD与单片机的连接 图3-12 LCD与单片机的接口电路 在实际的接线中,1602的DB0—DB7与89S52的P0口相接,RS与P3.5相接,R/W与P3.6相接,E与P3.7相接。VL与地之间接一个10K的滑动变阻器来到1602初始显示的调节。 3.5 低通滤波器的设计 为了使输出的频率不受外界和一些杂波的干扰,需用一个低通滤波器(LPF)滤除高次谐波。常用的滤波器的频率响应有三种:巴特沃斯型(Butterworth),切比雪夫型 (Chebyshev)和椭圆型 (Cauer)。其中巴特沃斯滤波器通带最平坦,它的通带内没有纹波,在靠近零频处,有最平坦通带,趋向阻带时衰减单调增大,缺点是从通带到阻带的过渡带最宽,对于带外干扰信号的衰减作用最弱,过渡带不够陡峭,因此它适用于对通带要求较高,而去除的频率离通带较远的情况;切比雪夫滤波器在通带内衰减在零值和一个上限值之间做等起伏变化,阻带内衰减单调增大,带内有起伏,但过渡带比较陡峭;椭圆滤波器不仅通带内有起伏,阻带内也有起伏,而且过渡带陡峭。比较起来,椭圆滤波器性能更好,本设计中采的是椭圆滤波器。具体电路图如图3-13所示。 图3-13 滤波电路 第4章 信号发生器的软件设计 在应用系统中,系统软件的设计是建立在具体硬件电路基础之上,根据系统功能要求可靠地实现系统的各种功能。好的软件设计能够充分发挥微控制器的运算和逻辑控制功能,从而提高仪器的精度和使用的方便性。 4.1 程序流程图 通过程序预置频率,并实现对频率步进的控制,处理用户由键盘键入的频率值,判断是否超出范围,生成频率控制字,经并行方式送入DDS,合成用户所需的频率,并通过程序实现频率的显示。程序流程图如下: 图4-1 程序流程图 4.2 键盘扫描流程图 图4-2 按键1扫描流程图 如图所示,键盘初始化后扫描键盘,依次扫描3个按键,每个按键都编有延时去抖的程序,如果1键按下,则LCD输出sine、squrae、Train,而调用输出各波形子程序。 图4-3 按键2、3的扫描流程图 如果2键按下,就可以根据LCD的现实程序,频率依次减少。 如果3键按下,则频率减小。 如果检测3个键都没按下则返回继续检测,而LCD不显示也无波形输出。 4.3 LCD的显示 图4-4 1602的显示流程图 本系统采用的1602的液晶显示,可显示两行数据,每行16个数据。首先根据其指令编码对其进行初始化。但要注意,1602是一个慢显示,所以对其读写数据需要一定的延时,以待其完全接收。在显示时,首先根据其地址分配,设定第一行的起始位置,再显示第一行的内容。第二行显示同理。 第5章系统的仿真和调试 在仿真过程中,由于在proteus元件库中没有AD9851芯片,也没有其他的DDS芯片可以代替,所以在仿真过程中,我只做了LCD的显示模块的仿真,其仿真结果如下: 开始仿真,按下按键1,LCD上第一行会显示wave: 第二行会显示f: 图5-1 仿真结果1 依次按下按键1,LCD会显示sine、squrae、train,并会显示一个频率。 、 图5-2 仿真结果2 控制按键2则可以减小频率。 图5-3 仿真结果3 图5-4 仿真结果4 控制按键3则可以增加频率。 图5-5 仿真结果5 图5-6 仿真结果6 结论 毕业设计 机械毕业设计下载球磨机的毕业设计下载关于网络爬虫的毕业设计下载关于网络爬虫的毕业设计下载河南城建学院毕业设计论文下载 完成的主要工作是完成单片机控制AD985产生3种波形信号,并能在LCD上显示出相对应的频率,且使频率在0~20MHz的范围内能以1Hz为步长进行调整。 通过搜集目前DDS技术的相关资料,了解国内外DDS信号发生器的相关制作方法,并通过设计方案的比较,针对设计任务提出了可行方案。在设计方案中,结合单片机的功能特点及其控制特性,以单片机作为控制的核心,实现了单片机与个功能模块的连接。根据设计方案,详细地阐述了单片机的控制原理、AD9851及个功能模块的使用方法,设计了相应的硬件电路和系统软件,并且制作了相应的系统Proteus仿真。结果表明,所设计的电路和软件能完成基本的测试功能。 本设计能实现以下功能: (1)LCD能正确的显示sine、square、train及频率。 (2)能输出波形较好的正弦波、方波和三角波。 参考文献 [1] 刘抒珍,童子权,任丽军,刘小红.DDS波形合成技术中低通椭圆滤波器的设计.哈尔滨理工大学学报,2004,9 [2] 刘伟. 基于AD9851芯片的信号发生器的研究. 苏州大学出版社,2002.4 [3] 王庆.Protel99SE&DXP电路设计教程. 电子工业出版社,2005 [4] 孙育才. MCS-51系列单片机及应用(第4版).东南大学出版社,2004 [5] 阎石. 数字电子技术基础(第5版).清华大学出版社,2005 [6] 谭浩强. C语言程序设计(第3版).清华大学出版社,2005 [7] 郑学坚、周斌. 微型计算机的原理及应用. 清华大学出版社,2002 [8] 胡伟、季晓衡.单片机c程序设计及应用实例.北京人民邮电出版社.2003 附录 附录1 硬件原理图 附录2 程序 //---------------------------------------------------// // 程序 // //---------------------------------------------------// # include # include # include sbit ad9851_w_clk =P2^2; //P2.2口接AD9851的w_clk脚/PIN7 sbit ad9851_fq_up =P2^1; //P2.1口接AD9851的fq_up脚/PIN8 sbit ad9851_rest =P2^0; //P2.0口接AD9851的rest脚/PIN12 sbit ad9851_bit_data =P1^7; //P1.7口接AD9851的D7脚/PIN25 //P1为8位数据口 //***************************************************// // ad9851复位(并口模式) // //---------------------------------------------------// void ad9851_reset() { ad9851_w_clk=0; ad9851_fq_up=0; //rest信号 ad9851_rest=0; ad9851_rest=1; ad9851_rest=0; } //***************************************************// // ad9851复位(串口模式) // //---------------------------------------------------// void ad9851_reset_serial() { ad9851_w_clk=0; ad9851_fq_up=0; //rest信号 ad9851_rest=0; ad9851_rest=1; ad9851_rest=0; //w_clk信号 ad9851_w_clk=0; ad9851_w_clk=1; ad9851_w_clk=0; //fq_up信号 ad9851_fq_up=0; ad9851_fq_up=1; ad9851_fq_up=0; } //***************************************************// // 向ad9851中写命令与数据(并口) // //---------------------------------------------------// void ad9851_wr_parrel(unsigned char w0,double frequence) { unsigned char w; long int y; double x; //计算频率的HEX值 x=4294967295/180;//适合180M晶振/180为最终时钟频率(或30M六倍频) //如果时钟频率不为180MHZ,修改该处的频率值,单位MHz !!! frequence=frequence/1000000; frequence=frequence*x; y=frequence; //写w0数据 w=w0; P1=w; //w0 ad9851_w_clk=1; ad9851_w_clk=0; //写w1数据 w=(y>>24); P1=w; //w1 ad9851_w_clk=1; ad9851_w_clk=0; //写w2数据 w=(y>>16); P1=w; //w2 ad9851_w_clk=1; ad9851_w_clk=0; //写w3数据 w=(y>>8); P1=w; //w3 ad9851_w_clk=1; ad9851_w_clk=0; //写w4数据 w=(y>>=0); P1=w; //w4 ad9851_w_clk=1; ad9851_w_clk=0; //移入始能 ad9851_fq_up=1; ad9851_fq_up=0; } //***************************************************// // 向ad9851中写命令与数据(串口) // //---------------------------------------------------// void ad9851_wr_serial(unsigned char w0,double frequence) { unsigned char i,w; long int y; double x; //计算频率的HEX值 x=4294967295/180;//适合180M晶振/180为最终时钟频率(或30M六倍频) //如果时钟频率不为180MHZ,修改该处的频率值,单位MHz !!! frequence=frequence/1000000; frequence=frequence*x; y=frequence; //写w4数据 w=(y>>=0); for(i=0;i<8;i++) { ad9851_bit_data=(w>>i)&0x01; ad9851_w_clk=1; ad9851_w_clk=0; } //写w3数据 w=(y>>8); for(i=0;i<8;i++) { ad9851_bit_data=(w>>i)&0x01; ad9851_w_clk=1; ad9851_w_clk=0; } //写w2数据 w=(y>>16); for(i=0;i<8;i++) { ad9851_bit_data=(w>>i)&0x01; ad9851_w_clk=1; ad9851_w_clk=0; } //写w1数据 w=(y>>24); for(i=0;i<8;i++) { ad9851_bit_data=(w>>i)&0x01; ad9851_w_clk=1; ad9851_w_clk=0; } //写w0数据 w=w0; for(i=0;i<8;i++) { ad9851_bit_data=(w>>i)&0x01; ad9851_w_clk=1; ad9851_w_clk=0; } //移入始能 ad9851_fq_up=1; ad9851_fq_up=0; } //***************************************************// // 测试程序1000Hz // //---------------------------------------------------// main() { P0=0x00; P1=0x00; P2=0x00; P3=0x00; //---------------------------------------------------// //并行写1000Hz程序 //ad9851_reset(); //ad9851_wr_parrel(0x01,1000); //0X01为开六倍频 //ad9851_wr_parrel(0x00,1000); //0X00为不开六倍频 //---------------------------------------------------// //---------------------------------------------------// //串行写1000Hz程序 ad9851_reset_serial(); ad9851_wr_serial(0x01,500000); //0X01为开六倍频 //ad9851_wr_serial(0x00,1000); //0X00为不开六倍频 //---------------------------------------------------// while(1) { } } LCD的显示程序 #include #define uchar unsigned char #define uint unsigned int sbit lcdrs=P3^2; sbit lcdrw=P3^3; sbit lcde=P3^4; sbit d=P2^7; sbit s1=P2^0; sbit s2=P2^1; sbit s3=P2^2; sbit cs=P3^5; sbit wr=P3^6; uchar slnum,a,ys,j; uint fre; void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } void delay1(uint y) { uint i; for(i=y;i>0;i--); } uchar code tosin[256]= { 0x80,0x82,0x85,0x88,0x8b,0x8e,0x91,0x94,0x97,0x9a,0x9d,0xa0,0xa3,0xa6, 0xa9,0xac,0xaf,0xb2,0xb6,0xb9,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf, 0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec, 0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd, 0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6, 0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1, 0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86, 0x83,0x80, 0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d, 0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35, 0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04, 0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b, 0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25, 0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48, 0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80 }; void wri
本文档为【基于AD9851的DDS信号源发生器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_539436
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:40
分类:
上传时间:2012-12-29
浏览量:253