多功能信号发生器的设计资料.pdf

上传人:白大夫 文档编号:5433621 上传时间:2020-05-09 格式:PDF 页数:42 大小:3.77MB
返回 下载 相关 举报
多功能信号发生器的设计资料.pdf_第1页
第1页 / 共42页
多功能信号发生器的设计资料.pdf_第2页
第2页 / 共42页
多功能信号发生器的设计资料.pdf_第3页
第3页 / 共42页
多功能信号发生器的设计资料.pdf_第4页
第4页 / 共42页
多功能信号发生器的设计资料.pdf_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《多功能信号发生器的设计资料.pdf》由会员分享,可在线阅读,更多相关《多功能信号发生器的设计资料.pdf(42页珍藏版)》请在三一文库上搜索。

1、学号: 11440000 常 州 大 学 毕业设计(论文) (2015 届) 题目多功能信号发生器的设计 学生XXX 学院信息科学与工程学院专 业 班 级 电子115 校内指导教师何宝祥专业技术职务教授 二一五年六月 多功能信号发生器的设计 摘要:信号发生器在通信、教学、测量等领域应用十分广泛,是信号仿真实验 中不可缺少的重要工具。 本文通过分析现有多功能信号发生器的工作原理,根据 提供的参数要求,决定采用DDS技术,以 Atmel公司生产的 AT89S52单片机为主 控机,且以 DDS 芯片AD9854 作为系统信号产生的关键器件,设计出了一种输出频 率高、分辨率高、低功耗、能产生多种波形的

2、多功能信号发生器。其中相关软件 的设计使用 C语言来完成。 关键词:信号发生器, DDS技术, AD9854,AT89S52 Design of multi-function generator Abstract:Signal generator is widely used in communication, teaching, measurement and so on. It is an important tool in signal simulation experiment.In this paper, through the analysis of the working pri

3、nciple of the existing multi function signal generator, according to the requirements of the parameters provided by, decided to use DDS technology, MCU AT89S52 of ATMEL company produces as the master machine and DDS chip AD9854 as signal system to produce the key devices, design a high output freque

4、ncy, high resolution, low power consumption, produce a variety of waveforms of multifunctional signal generator. The design of the relevant software using C language to complete. Key Word: Signal Generating, DDS, AD9854, AT89S52 目录 摘 要-I Abstract- 1 绪论-1 1.1 信号发生器的发展和现状-2 1.2 信号发生器研究背景及其意义-2 2 信号发生器

5、系统设计 -3 2.1 方案的原理、特点与选择依据-3 2.2 系统总体设计 -4 2.2.1 键盘输入方案论证 -5 2.2.2 显示方案论证 -5 3 系统硬件设计 -6 3.1 单片机最小系统 -6 3.1.1最小系统的构成特点 -6 3.1.2 AT89S52的晶振及其连接方法 -6 3.2 AT89S52 与 AD9854的接口 -8 3.3 键盘电路原理 -11 3.3.1独立式键盘结构的工作原理及接口-11 3.3.2矩阵式键盘结构的工作原理-12 3.4 液晶显示电路 -13 3.5 幅度调节电路 -14 4 系统的软件设计 -16 4.1 软件总体设计 -16 4.2 主程序

6、模块 -16 4.3 信号产生软件的设计 -18 4.4 人机交互模块设计 -20 4.4.1 键盘程序设计 -20 4.4.2 显示程序设计 -23 5 系统仿真和分析 -26 6 系统调试 -28 6.1 硬件调试 -28 6.2 软件调试 -28 7 实验数据和元器件清单 -30 7.1 实验数据及分析 -30 7.2 实际波形与失真度分析 -31 7.3 实物制作 -32 8 总结-34 参考文献 -35 致谢-36 附录-37 常州大学本科生毕业设计 ( 论文) 1 1 绪论 1.1 信号发生器的发展 在今天,随着新材料技术和集成电路(integrated circuit)制造技术的

7、发展, 出现了许多体积小, 性能优异的新型信号发生器。 而面向控制是信号发生器的最 大特点。新型信号发生器的优点很多,如低功耗、体积小巧、计算和转换的速度 快,价格低廉等。而信号发生器作为工程技术学科必备的装置,它的快速发展, 对于工程技术学科有了很大的推进作用。 在以下四个方面体现了信号发生器的发展: (1) CPU 功能增强 CPU 在精度和运算速度的有了很大的提升。而为了提高精度和运算速度,信号发 生器通常采用 16 位或 32 位的字长的 CPU 到和布尔处理机。例如HDX801 和 DG400 等性能优异的信号发生器。 (2)内部资源增多 随着制造水平的提高,在相同体积的情况下,能够

8、在内部添加更多的资源。 可以使用内部的串并行I/O 接口来与外部装置通信,使用内置的定时器/计数器 来产生中断功能, 并且自带掉电保护和系统故障检测功能。而信号发生器的容量 也得到了提高, RAM 可达 1KB,ROM 也达到了 32KB,能够进行更大数据量的 计算。为了能转换模拟信号和数字信号,通常还内置A/D 和 D/A 转化器。 (3)引脚的多功能化 由于芯片内置功能的不断增加, 为了使用这些功能, 必须增加芯片的引脚数 量。例如:当信号发生器寻址为1MB大小时,必须使用8 条数据线和 20 条地址 线才能完成 2 。但是芯片的引脚太多会使得制造成本和制造难度大大提高,也增 大了芯片的体

9、积,不利于单片机使用的灵活性。 为了在不影响芯片功能的前提下, 可以采用一脚多用的方案来减少引脚的数量。 (4)低电压和低功耗 常州大学本科生毕业设计 ( 论文) 2 在实际应用中, 为了节约能源, 或者条件所限, 信号发生器必须能够在较低 的电压环境下工作。 同时满足低功耗的设计要求。为了达到这个目的, 通常使用 互补金属氧化物工艺。 1.2 信号发生器研究背景及其意义 信号发生器的技术发展到今天,其中的关键技术仍然被国外的几家大公司所 掌握,如日本的 Tektronix、 Agilent 、 横河等。 美国的 FLUKE 公司生产的 FLUKE-25 函数信号发生器性能强大, 所产生的正弦

10、波和三角波失真度小,最高可达 5MHZ 的频率,幅值也能达到10Vpp3。国内信号发生器的起步比较晚,但随着技术的 积累和进步,已经能够逐渐达到国际平均水平。如中国电子科技集团公司的 AV1445 通信矢量信号发生器、固纬电子公司的SFG-2110数字合成函数信号发 生器。 信号发生器在科学研究和生产生活领域有着非常广泛的应用,例如在广播、 通信、电视系统中,都需要射频发射。通过载波,把低频的音频或脉冲信号发射 出去,就需要高频的振荡器。而在农业、工业、医学等领域,如熔炼、淬火、核 磁共振、超声诊断等,都需要频率或低或高、功率或小或大的振荡器。随着我国 科学技术和经济的快速发展, 对测试手段和

11、测试仪器也有了更大的要求,而开发 在测试环节中占用重要地位的信号发生器,具有十分重要的意义。 常州大学本科生毕业设计 ( 论文) 3 2. 信号发生器总体设计 2.1 方案的原理、特点与选择依据 方案一: 通过锁相频合成的办法 ,全部使用硬件电路来实现。 使用 IC145152 芯片来搭 建锁相电路, 此电路可以输出稳定性很好的正弦波,再连接过零比较器, 将正弦 波转换成方波,通过积分电路转换成三角波。该方案具有较高的成本, 且会产生 过多的杂散分量 , 难以达到较高的频谱纯度。设计也更加复杂一点,不利于大规 模的生产制造, 不易实现。但此方法的最大优势在于, 运行的速度较高 , 适用于需 要

12、高速运算的应用场景。 方案二: 使用波形产生芯片MAX038 来直接生成波形 . 优点: 频率范围从 0.1Hz 到 20MHz,最高可达 40MHz。 调节占空比时不会影响 频率,反之亦然 ,且占空比调节范围大。本方案波形失真小,精确度高,功耗低。 缺点:此方案成本较高,不利于大规模生产。 方案三: 通过 51 单片机来控制 DAC 芯片,从而输出波形。这个方案中,可以使用 编程的方法来改变波形的幅度和频率。此方案产生的波形十分稳定, 且具有较高 的精确度,电路的元器件也很少,成本较低,适合大规模生产。但电路产生波形 的分辨率不太理想,频率十分有限。流程图如2-1 所示。 图 2-1 51单

13、片机作为发生装置 按键 复位 89C51 D/A 转换 波形输出 常州大学本科生毕业设计 ( 论文) 4 方案四: 通过采用 AT89S52 单片机, AD9854(DDS)和数字模拟转换技术来实现目 标。AD9854 作为 DDS 芯片用以产生波形。通过键盘输入模块,可以通过简单 的并行或串行通信接口与单片机转换为芯片频率相位控制字,可以方便的调节信 号的频率。 AD7520 芯片在 AT89S52单片机的控制下调整信号幅度。通过采用 AD9854 芯片,由于它相对高的稳定性和非线性失真的较小,所以所产生的波动 是比较小的。 波形的产生过程由单片机实现。 所以理论上我们可以写一个程序来 生成

14、任意波形。 该系统不仅结构简单, 易于实现, 而且它具有一定的理论和实践 价值。流程图如 2-2 所示。 图 2-2 总体模块设计 方案的确定: 方案三的最大特点就是简洁高效, 能够最简单的实现任务要求, 成本低, 且方便纠错 , 但可调频率太低 , 不能进行实际的应用。而方案一电路结构复 杂,干扰因素较多, 不能简洁的完成要求。 方案二能够更加精准的产生波形, 但比方案三的成本高出太多,不切合实际。方案四的成本虽然比其他要高, 但能实现高频率波形的输出, 稳定性高 , 失真度小。所以选方案四。 2.2 系统总体设计 本设计的目标是设计一个多功能信号发生器,它能够输出多种波形。且该信 号发生器

15、输出信号的频率范围很大,为20Hz至 2MHz ,还能调节波形的幅度。这 样,由于单片机本身的硬件限制, 不能作为信号的发生装置, 只能作为控制装置。 发生装置则只能使用DDS或者 FPGA 才能完成任务。该信号发生器有以下几部分 组成:控制模块、按键及其显示模块、低通滤波模块、运放模块。 基本原理:单片机控制DDS 芯片方案 AT89S52单片机 显示屏 信号产生模块 AD9854 键盘波形输出 常州大学本科生毕业设计 ( 论文) 5 在本方案中,控制电路使用单片机来实现,连接其它的外围电路,如键盘, 显示等。它能对信号的产生、处理、显示加以控制。并使用低通滤波电路和信号 放大电路来对信号进

16、行处理。而最为关键的信号发生,则采用DDS 芯片中的 AD985X 系列芯片来实现。该芯片具有速度快、精确度高、分辨率高的优点,能 够满足电路设计的参数要求。 2.2.1 键盘输入方案论证 方案一:采用矩阵式键盘。矩阵式键盘的原理十分简单。键盘由行线和列线 组成,按键安放在行线和列线的交叉点。使用时是通过检测线路导通与否来确定 是否有按键被按下。 方案二:编码式键盘。芯片 74LS148与所有的按键相连, 当没有按键按下时, 74LS148收不到信号。当有按键按下时,该按键所对应的键码,就会传输到芯片 内,从而执行相应的任务。 方案三:可以选择zlg7289 作为键盘,它不但能够与单片机进行通

17、信,还能 消除抖动,避免输入错误。还能的自动扫描键盘,提高了单片机的效率。 2.2.2 显示方案论证 方案一:使用 LED数码管来显示。 LED数码管由八个发光的二极管组成,可 以显示所有的数字和A、B、C、D、E、F 六个字母。但在本设计中,需要显示波 形的种类和具体的参数, 如果使用该方案的话, 需要较多的数码管才能完成,成 本较高。 方案二:使用 LCD液晶显示。 LCD液晶显示器是一种专门用来显示字母、符 号、数字的装置。与LED数码管不同, LCD液晶显示器是点阵式的,所以它显示 的信息比 LED要多,也更加美观,所以选择方案二。 常州大学本科生毕业设计 ( 论文) 6 3 系统硬件

18、设计 3.1 单片机最小系统 3.1.1 最小系统的构成特点 (1)由于单片机没有扩展存储器和外设,P0、P1、P2、P3都可以作为 I/O 接口使用 4 。其原理图如 3-1 所示。 (2)片内数据存储器有128B,地址空间为 00H7FH,片外数据存储器。 (3)片内有 4KB 的程序存储器,地址空间为0000H0FFFH,没有片外存 储器, EA应接高电平。 (4)可以使用两个定时 /计数器 T0 和 T1,一个全双工的串行通信接口,5 个中断源。 图 3-1 单片机最小系统的原理图 3.1.2 AT89S52 的晶振及其连接方法 为了使单片机 AT89S52能够正常工作,必须连接脉冲信

19、号。而提供时钟脉 冲的方式有两种:第一种是外部时钟方式,即AT89S52连接外部电路来提供时 常州大学本科生毕业设计 ( 论文) 7 钟脉冲,如图 3-2;第二种是使用内部时钟方式,AT89S52内部存在一个高增益 的反相放大器,通过XTAL1 和 XTAL2 引脚外接石英晶振和微调电容构成振荡 器,该振荡器发出的脉冲直接送入内部时钟电路,即使用晶振由 89S52内部电路 产生时钟脉冲。一般常用第二种方法,其电路如图3-3 所示。 使用陶瓷滤波器时,可能对系统的频率稳定性有一定的影响,为了减少误差, 提高性能,通常使用石英晶体。一般来说,使用石英晶体时,C1=C2=30( 10) pF,晶体的

20、振荡频率范围为112MHz。使用陶瓷滤波器时, C1=C2=40( 10) pF。 信号发生器作为现代测量领域必备的产品,必须满足高速度、高精度、高分 辨率等要求。信号的产生采用DDS 专用芯片 AD9854。而信号发生器的控制部 分则则采用爱特梅尔公司的8 位单片机 AT89S52芯片。使用爱特梅尔公司高密 度非易失性存储器技术制造,与80C51 产品在引脚和指令完全兼容。由于 AT89S52拥有十分灵活的八位CPU 以及能够编程的 Flash芯片,让 AT89S52能 够为大部分嵌入式开发提供高效、灵活的解决方案 6 。 设计中信号的控制由AT89S52完成,而信号的发生则由 AD9854

21、 完成。用户 通过键盘输出指令,由AT89S52接收这个指令,经过处理之后,将指令所代表 的控制字发送给 AD9854。由 AD9854 产生频率幅度可控的信号。 在本设计中。 AD9854 ASQ 具有许多优异的性能,如可控扫频和自动扫频, 价格便宜,适合大规模生产。 89S52 XTAL2 XTAL1 89S52 XTAL2 XTAL1 悬空 外部时 钟信号 C1 C2 J 图 3-2 外部时钟图 3-3 内部时钟 常州大学本科生毕业设计 ( 论文) 8 3.2 AT89S52 与 AD9854的接口 由于 AD9854 不存在内置 RAM ,所以在 DDS 芯片和单片机的接口电路中, 实

22、现可编程调制功能时,必须使用高速并行接口来及时刷新内部寄存器的方法。 单片机作为控制中心除了要控制AD9854 以外,还得控制其它外围电路如键盘及 显示等,单片机的引脚有限,所以地址线和数据线需要复用。 由于 AT89S52工作电压为 5V 而 AD9854 的工作电压为 3.3V, 所以需要使用 74LVCH16245 16 位低压 CMOS 收发器来协调 3.3V 和 5V 器件的信号传输。在 本系统中传输数据的方向为单向,即AT89S52向 AD9854 传输数据 7 。对 74LVCH16245 来说,引脚 1DIR 和 2DIR 分别控制 lA1B 和 2A2B 端口,当 1 DIR

23、 和 2DIR 均为高电平时,数据由 1A 和 2A 端口传到 1B 和 2B 端口;当 1 DIR 和 2DIR 都为低电平时,数据反过来由1B 端口和 2B 端口传到 1A 和 2A 端口。在本系统 中,可以将高电平接引脚1 DIR 和 2DIR 引脚,这样连接以后, AT89S52 就将数 据从 A 端口传送到 B 端口,再由 B 端口传送给 AD89548。 74LVCH16245 的 1OE 和 2OE 引脚为片选信号端, 低电平时工作, 当 1OE和 2OE 接高电平时, 芯 片的数据线则处于高阻状态。 常州大学本科生毕业设计 ( 论文) 9 图 3-4 AT89S52与 74LV

24、CH16245的连接图 如图 3-4 所示,AT89S52的 P0.0P0.7端口与 74LVCH16245 电平转换芯片的 1A11A8 端口连接, 1B11B8 输出端口则与 AD9854 的 DO 至 D7 端口相连, P2.0至 P2.5端口通过 LOCH 16245A 的 2A12A6 端口输入, AO 至 A5 端口和 2B12B6 端口相连,从而输出传输寄存器地址信息,P3.6, P3.7通过 LVCH 16245A 的 2A7,2A8 端口输入, 2B7, 2B8 端口输出分别与 WR,RD 两个引脚相连 控制读写操作,由这三部分共同组成并行传输控制 9 。AT89S52的 P

25、3.5引脚控 制 LVCH 16245 的 OE 引脚,当向 AD9854 传输数据时置低电平,当单片机 AT89S52向液晶显示器传送数据时, 接高电平,使得 LVCH 16245 处于高阻状态。 AT89S52的 P3.3引脚与 AD9854 的 71 引脚(MASTER RESET)相连,对其进行复 位控制;如果要控制数字调制方式,则必须使P3.4引脚与 29引脚 (FSK/BPSK/HOLD) 相连。 通过这个倍频器,有效的降低了参考时钟在频率方面的问题,而电路也变得 简介,但这样一来,就使得输出频率的性能不理想。因为根据PLL 理论可知, PLL 的相位噪声性能与倍频倍数和环路宽度有

26、关,提高了倍频数, 相位噪声也会 常州大学本科生毕业设计 ( 论文) 10 增加。如果使用环路滤波器, 它可以有效的对带外的参考时钟分量进行滤除,但 却会恶化带内的频率。 当电路的参考时钟端出现噪声时,在环路带宽内, 此噪声 都会成比例的增加。根据公式dB=lO1gX(其中 X 代表倍频数)来看,噪声对窄 带 SFDR 有着严重的影响。 图 3-5 AD9854 与 74LVCH 16245 的连接图 除此之外,由于 PLL 还会使工作电流在原来的基础上增大约100mA10,这 将增加 DDS 发热量。本设计的目标是输出频率可达80MHz,通过计算可知,参 考时钟必须有 200MHz 以上。如

27、果直接购买200MHz 的时钟,成本太高,考虑 到实际的情况,还是采用PLL 的方法用低频晶振来作为参考时钟。 在电路中, AT89S52和 AD8954 使用同一个 20MHz 的晶振。这个晶振可以 作为单片机最小系统的一部分。而20MHz 的晶振经过 AD9854 内部的倍频器倍 频 15 倍后,能够产生高达300MHz 的频率,足以满足要求。 常州大学本科生毕业设计 ( 论文) 11 3.3 键盘电路原理 在实际的应用中,为了向系统输入指令或者可以改变控制系统的工作状态, 需要连接键盘来达到目的。通常按键的两个触点连接则按键导通,反之则断开, 多个按键可以组成键盘来输入复杂的命令。从键盘

28、的结构来看, 可以分为矩阵键 盘和独立式键盘。 而按键的识别, 如果有专门的硬件芯片来实现,就是编码式键 盘,反之,如果使用软件来识别按键, 则是未编码键盘。 本设计采用未编码键盘。 3.3.1独立式键盘结构的工作原理及接口 当一个系统只需要几个按键即可满足指令的输入时,可使用独立式键盘来满 足要求。独立式键盘的原理图如3-4-1 所示,当没有按键按下时,输入线的电压 为高电平, 而当有键按下时, 按键的一脚连接到地线, 使得按键相应的输入线为 低电平,此时, CPU就可以通过检查输入线的状态来知道是哪个键按下了。每 一个按键都需要独立的输入线,每增加一个按键, 就要增加一根地址线, 可以看

29、出,独立式键盘适用于按键较少的电路,一旦按键数量有较大的要求时,独立式 键盘就不适用了, 此时可以采用矩阵式键盘 11。独立式键盘的原理图如图 3-6 所 示。 +5V 图 3-6 独立式未编码键盘 3.3.2矩阵式键盘的工作原理 K1 K2 K3 K3 4.7K 4.7K 4.7K 4.7K X0 X1 X2 X3 常州大学本科生毕业设计 ( 论文) 12 如图 3-4-2 所示是一个 3*2 矩阵式键盘,按键处于行线(X0X1)与列线 (Y0Y2)的交叉处。当键盘上没有按键按下时,行线和列线都处于断开状态, 列线连接接了 +5V 电源的电阻。当有按键按下时, 该键位置上的行线与列线则被 短

30、路。例如:按下S1 键时,行线 X1 和列线 Y0 都被短路,此时 X1 的电平由 Y0 的电位所决定。 把电路的行线与单片机的输入口相连,列线则与输出口相连, 此时可令 Y0 为低电平, Y1、Y2、皆为高电平,读行线的状态。如果行线X0、 X1 都处于高电平的状态,则Y0 这一列没有按键按下。反之,如果行线的状态 不全为高电平,则低电平的那条行线与Y0 交叉点上,有按键按下。依此类推, 最后使列线 Y2 处于低电平,其余的列线为高电平,检查Y2 这一列上是否有键 闭合。其结构图如3-7 所示。 图 3-7 3*2矩阵式未编码键盘结构图 通过这种逐行逐列的扫描, CPU 能够知道哪个按键被按

31、下, 这也叫做对键盘 的一次扫描。对键盘扫描的方式有很多,如定时扫描,每隔上固定的时间,CPU 对键盘扫描一次, 也可以采取程序控制的随机方式,如当 CPU 空闲时间时扫描。 还可以采用中断方式,当有按键被按下时,向CPU 发出中断请求, CPU 收到请 求后,对键盘进行扫描,判断是那个键按下,从而执行相关的指令。CPU对键 盘上究竟哪个键被按下, 可以根据行线和列线状态查表求得,也可以根据行线和 列线的状态计算求得。 X0 X1 Y0 Y1 Y2 常州大学本科生毕业设计 ( 论文) 13 3.4 液晶显示电路 本设计通过液晶 1602显示输出的波形、频率。 LCD1602 能同时显示 16x

32、02 即 32 个字符。 (16列 2 行) 1602 采用标准的 16 脚接口,其中: 第 1 脚: VSS 为电源地 第 2 脚: VDD 接 5V 电源正极 第 3 脚: V0(VEE)可以调节液晶显示器的对比度,接高电平时,对比度 最弱,接低电平(通常是地线)时,对比度最高。通常连接一个10K 的电阻来 调节对比度。 第 4 脚: RS 为寄存器选择,低电平时为指令寄存器,高电平时为数据寄存 器。 第 5 脚: RW 为读写信号线,低电平时进行写操作,高电平时进行读操作。 第 6 脚: E(或 EN)端为使能 (enable)端。 第 714 脚: D0D7 为 8 位双向数据端。 第

33、 1516 脚:空脚或背灯电源。15 脚为背光正极,16 脚为背光负极。 常州大学本科生毕业设计 ( 论文) 14 图3-8 液晶 1602显示 由图 3-8 所示, LCD1602 的三个使能端 RS 、 RW 、 E分别与单片机的P3.2、 P3.3、 P3.4 连接。而单片机的P1口则与 LCD1602 的八位数据端连接。可以通过软件 编程的方法来显示波形的种类和频率。 3.5 幅度调节电路 本次设计的信号发生器,要求可以对它进行幅度上的调节,调节范围是0 至 图 3-9 幅度调节模块电路 5V。而 AD9854的输出信号幅度为0.5V,达不到要求。因此必须使用信号放大电 路来调节幅度的

34、大小。 常州大学本科生毕业设计 ( 论文) 15 如图 3-9 所示,通过使用 MAX437 芯片组成电路, MAX437 性能优异,信号的 抗干扰能力很强。可以调节电位器的电阻来达到调节信号幅度的目的。 常州大学本科生毕业设计 ( 论文) 16 4. 系统软件设计 4.1 系统软件设计方案 在本设计中当操作者按下不同的按键后,单片机的主要工作就是执行与之对 应的任务,而按键的键码决定任务的先后顺序。操作者通过键盘发出指令, 同时, 监控主程序接收到命令后进行分析,再把具体的命令发送给执行子程序。 系统软件设计采用模块化的设计方案,通过将一个具有完整功能的程序,按 照特定的类型,分成几个具有独

35、立功能的程序模块。分别对这些模块进行设计、 编程、调试,调试完成之后,再把所有的模块组合成完整的程序。采用模块化的 程序设计方法, 其独立设计的功能模块容易调试,功能也十分明确, 不容易出现 各个功能相互影响的情况。一个模块可以为多个程序所共享。 使用模块化编程就是将主程序写成一个不断循环检测的结构,而把各个相对 独立的功能模块写成子函数。 当系统初始化之后, 主程序就在不断循环查找按键 的状态,如果有按键按下,则执行相应的命令。在本系统中,PC机可以通过串 行口来发出指令控制系统。 本系统由三个模块组成,主程序模块、人机交互模块、信号产生模块。其中 主程序模块在系统中处于至关重要的作用。主程

36、序模块的主要工作是识别键盘发 出的指令,经过处理后找到该指令所对应模块的入口。主程序模块统筹了整个系 统的功能。 4.2 主程序模块 上电复位后, 系统将运行初始化程序, 包括单片机 AT89S52的初始化、 DDS 芯片 AD9854 的初始化 , LCD 液晶显示的初始化等。 完成初始化后, CPU 不断扫 描键盘状态, 一旦检测到有按键按下时, 计算出键值, 根据键值来执行相应的子 程序。同时也将相应的输入信息显示在LCD 液晶面板上。当输入完成时,CPU 检测到按下设置键,单片机计算出波形的数据,把数据传给DDS 芯片,最终输 出所需波形。主程序流程图如图4-1 所示。 常州大学本科生

37、毕业设计 ( 论文) 17 图 4-1 系统主程序流程图 当完成一次任务后,重新执行主程序,接着扫描键盘状态,检测是否有按键 按下。初始化程序主要是以下工作: (1) 设置 PSW 的 RSO,RS1均为 0, 将当前工作寄存器选择为第一组寄存器; (2)将堆栈指针设置为SP=70H; (3)调用 LCD 液晶显示器的初始化程序; (4)设置键盘输入值存放区,为20H,21 H,22H,23H,24H,25H; (5)初始化串行口通信,允许定时器0 中断,置中断允许触发器IE=92H, 允许串行口中断 12; (6)转键盘扫描程序; 系统主程序图如图4-2 所示。用 20 个系统周期的高电平输

38、入至AD9854 的 71 引脚,从而使得 AD9854 初始化。初始化之后,就能对将控制字写入AD9854 中。在接收到系统发送的控制字之后,DDS 可以保持输出信号参数不变,直到 再次接收到初始化命令。 常州大学本科生毕业设计 ( 论文) 18 4.3 信号产生软件的设计 在本设计中 AT89S52根据键盘上得到信号,得出所需信号的频率和幅度, 再计算出频率控制字和幅度控制字,DDS 芯片 AD9854 得到控制字后,它可以 根据控制字来产生相应的波形。当DDS 工作时,接收到 AT89S52发出的 48 位 的频率控制字,当接收到控制字之后,AD9854 便在 DDS 核内进行相关信号的

39、 合成。再经过内部的D/A 转换,把合成的数字信号转换成模拟信号。 在 AD9854 内部有一个寄存器表, 地址范围是 00H27H,这个寄存器的功能 就是用来存储各种状态字和控制字。所以外部设备就可以通过I/O 端口和这个寄 存器进行数据的传输。 在通信之前, 首先通过地址端口A1A6 来确定写入的寄 存器,再通过数据端口 D0D7 写入控制字或状态字, I/O 缓冲区的内容必须在更 新脉冲的作用下才能刷新到寄存器表中,这样可以很好地达到同步。 相位控制字为 14位,频率控制字为 48 位。相位控制字 1 存放在寄存器表中 的 00H、01H 中,而相位控制 2 存放于 02H、03H 中。

40、输出信号的相位精确度与 它有很大的关系。最低相位可达 0.022度。 与之相对应的频率控制字1 存放在 04H 至 09H,频率控制字 2 则存放在 0AH 至 0FH 中13。输出信号的频率与之相关。 最低频率可达 1.066*10-6Hz。在生成波形前, 需要知道波形的频率, 根据频率计 算出频率控制字,这样系统才能识别。其计算公式为: CLK f N f FC W/)2( (4-3) 在 4-3 这个公式中, fCLK 代表时钟频率, N 代表相位累加器的位数,我们 使用的 AD9854 为 48 位,f 代表输出频率, WFC 代表频率控制字。由于本设计 采用 AD9854 芯片,其相

41、位累加器的位数高达48,由此可知,计算比较复杂。 考虑到计算精度的问题,可以将频率寄存器中的16 位置零,只使用其中的32 位就能够达到精度要求。根据4-4 公式来看,当输出的频率为20MHz 的时候, 与之对应的频率控制字为: (4-4) 常州大学本科生毕业设计 ( 论文) 19 为了避免较大的误差,可以把 11E1A300向右移动四位,可以得到 11E1A30H。 这时再进行除法运算,得15H。15H 是一个固定的值,如此,为了方便计算,可 以将 15H 与所需要的频率相乘,这样就能够十分容易的得到频率控制字的低16 位。此时,频率控制字低32 位为 1312D00H* 15H=1908B

42、100H,再在高 16 位补 上 0000H,则 48 位的频率控制字为00001908B100H。当未产生更新脉冲时,数 据并不会被传输。得到频率控制字之后,系统会把控制字分成几个数据块送到 AD9854 中的 DDS 核中,在核中进行频率的合成。 表 4-1 AD9854 控制寄存器表 常州大学本科生毕业设计 ( 论文) 20 由上表 4-1 所示的 AD8954 控制寄存器表可以看出,从1DH 至 20H 都是用 来存放控制数据的。由于本设计采用20MHz 的晶振,而参考时钟频率高达 300MHz,所以必须进行 15 倍的倍频。表中的Bit6 到 Bit0 是用来控制输入时钟 的频率,在

43、 Bit6 上置一,在 Bit5 上置零。当倍频数为15 时,可将 Bit4 至 bit1 都置一,其余置零,由此可以得到1EH 的单元控制字是4FH。如果把 1FH 中的 Bit1 单元置一,可以使用内部更新时钟。 由上表 4-1 的 AD9854 控制寄存器表可知,通过合理得设置第九位到第十一 位,即 Mode0、Mode1、Mode2,可以进行多种数字调试,如BPSK 和 FSK。使 用芯片 AD9854 所输出的正弦波作为数字调制时的载波。 根据芯片资料可知,可以根据需求修改控制寄存器里面的数据,来使得 AD9854 进行工作模式的切换,它一共有五种工作模式,分别为FSK、BPSK、 Ramped FSK 、Single-Tone、Chirp。 4.4 人机交互模块设计 4.4.1 键盘程序设计 在信号发生器中,键盘起到了输入指令的重要作用。系统的控制和参数的输 入都需要键盘来完成。如图4-2 所示,本信号发生器根据要求,设计了一个4*4 的矩阵键盘。其中0 到 9 十个数字和

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

当前位置:首页 > 其他


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