基于单片机的函数信号发生器设计【优秀】_第1页
基于单片机的函数信号发生器设计【优秀】_第2页
基于单片机的函数信号发生器设计【优秀】_第3页
基于单片机的函数信号发生器设计【优秀】_第4页
基于单片机的函数信号发生器设计【优秀】_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河海大学学士学位论文 - 1 - 摘 要 直接数字频率合成 (简称 DDS)是一种以固定的精确时钟源为基准,利用数字处理模块产生频率和相位均可调的输出信号的技术。随着超大规模集成电路和微电子技术的发展,现代高性能、高集成度和小体积的 DDS 产品正快速取代传统的模拟信号频率合成技术,成为了这类问题新的解决方案。 本文主要介绍 用单片 机 芯片 89C51 控制 直接数字频率合成 器 ( DDS) 芯片EP1K30设计的高精度信号发生器 , 并 产生稳幅正弦波 和方波 。 本文着重讨论了89C51 与外部电路的接口 ,单片微机控制系统的硬件结构及软件设计框图。 整个系统电路简单,功能 强大,可扩展性强。 文章首先介绍了 DDS 函数信号发生器的产生背景以及课题的主要任务,然后介绍了基于 DDS 信号发生器的系统方案的提出、总体结构及其特点。之后介绍了在硬件电路设计过程中所使用的主要芯片及其功能,之后是详细的硬件电路设计方案和单片机程序及流程图。然后介绍 EDA 工具和电路调试。还有FPGA/CPLD 的结构及其原理、各模块程序及其仿真结果、顶层程序及顶视图。最后针对设计过程中所遇到的问题对方案提出了进一步的改进及总结。 关键词 单片机 流程图 硬件电路 FPGA 河海大学学士学位论文 - 2 - Abstract Direct Digital Synthesis (DDS) is a constant source of accurate clock as the base, using digital processing module can be generated frequency and phase for the output signal technology. With the ultra-large-scale integrated circuits and micro-electronics technology, modern high-performance, high level of integration and small size of the DDS products are rapidly replacing traditional analog frequency synthesis technology, such as the issue of new solutions. This paper introduced one kind of multi-signal generator based on DDS chip EP1K30 and derectly controled by MCU 89C51,and a steady increase sine and square. This article focuses on the 89 C51 interface with the outside of the circuit, single-chip computer control system hardware and software design structure diagram. The whole system circuit simple, powerful, scalable and strong. First, this thesis introducts the background and design of main mission of the DDS function signal occurrence machine of creation. Then introduct direct numeral the frequency synthesize(DDS) a technique and it application, machine happen according to the DDS signal of put forward of system project, total structure and its characteristics.Then introduction design in the process main chip for use and its function, hardware electric circuit of design.After detailed related structure and its principle, each mold piece procedure of FPGA/CPLD and it imitate true result, crest layer procedure and crest see diagram.The end aim at a design process in the problem the other party case meet put forward further of improvement and summary. Keyword Micro Controller Unit Flow Chart Hardware Circuit Field Programmable Gate Array 河海大学学士学位论文 - 3 - 目 录 摘 要 . 1 ABSTRACT . 2 绪 论 . 5 一、课题背景 . 5 二、 DDS 函数信号发生器概 述 . 5 三、课题的主要任务 . 6 第一章 基于 DDS 函数信号发生器设计方案 . 8 一、基于 DDS 信号发生器的系统设计方案的提出 . 8 二、本系统所采用的方案及其特点 . 8 第二章 主要芯片的选择及其功能 . 9 一、单片机 AT89C51 . 9 二、移位寄存器 74LS164 . 11 三、 8 路 D/A 转换器 DAC0832 . 11 四、 3 线 -8 线译码器 74LS138 . 12 五、 EP1K30 . 13 第三章 硬件电路的设计 . 15 一、键盘接口电路的设计 . 15 二、 LED 数码显示电路的设计 . 16 三、 D/A 转换电路的设计 . 17 四、看门狗电路部分硬件设计 . 18 五、电源电路的设计 . 19 第四章 单片机程序及流程图 . 20 一、主程序及流程图 . 20 二、显示子 程序及流程图 . 23 三、频率控制字的计算 . 24 河海大学学士学位论文 - 4 - 第五章 EDA 工具与电路调试 . 26 一、 PROTEL99SE 介绍 . 26 二、 EWB 平台的介绍 . 27 三、 D/A 转换电路在 EWB 上的仿真 . 28 第六章 FPGA 编程及调试 . 30 一、 FPGA/CPLD 介绍 . 30 二、 MAX+PLUS的介绍 . 30 三、 VHDL 顶层设计程序及顶层视图 . 30 四、各模块程序及其仿真结果 . 31 毕业设计小结 . 33 致 谢 . 34 参考文献 . 35 附 录 . 36 河海大学学士学位论文 - 5 - 绪 论 一、课题背景 随着数字技术在仪表和通信系统中的广泛应用,一种从参考频率源生成多种频率的数字控制方法应运而生,这种技术就是 DDS(即直接数字合成)。 DDS技术是一种从相位概念出发直接合成所需波形的一 种新的全数字频率合成技术。 在电子行业的基础设施和制造等领域,函数发生器都是有效的通用仪器。它可以生成不同频率和幅度的大量信号,用来评估新电路的运行情况,代替时钟信号,对新产品进行制造测试,及用于许多其它用途。自第一部正弦波发生器问世以来,函数发生器的设计已经发生了多次演进,在当前数字领域中,大多数新型函数发生器正采用 DDS 这 种新技术。 DDS 在大部分操作中使用数字电路,从而提供了数字操作拥有的许多优势。由于信号只在合成的最后阶段转换到模拟域中,所以在多个方面降低了函数发生器的复杂度,提高了函数发生器的稳定性。 最新的函数发生器利用了 DDS 的优势,能够把多台不同仪器中的功能融合到一部仪器中。基于 DDS 的函数发生器现在不仅可以执行函数发生器的功能,还可以执行任意波形发生器 (ARB)的功能。除此之外,某些仪器还是功能强大的脉冲发生器。这些功能将会给传统测试方案带来一次革命。 二、 DDS 函数信号发生器概述 从本质上看, DDS 是一个以恒定高频率运 行的多位计数器。在溢出时 , 通过利用一个多位控制字来设置计数器步进的尺寸,允许计数器过零。计数器的高阶位用来寻址存储设备,该设备保持有生成的一个波形周期的数字记录。高频时钟每前进一单位,计数器便步进一次,存储器也将生成一个新的地址字,而新的波形数据值将会发送到 DAC。 DAC 输出的是取样模拟波形,该波形经重构滤波器之后由发生器输出。 如果利用 RAM 波形存储器,那么 DDS 函数 信号 发生器可以重现几乎任何波形。 DDS 发生器通过播放存储器中存储的波形来运行。 DDS 电路有存储波形的 RAM,那么控制器电路可以把任何波形写入 RAM,并通过合成器重放波河海大学学士学位论文 - 6 - 形。 三、 课题 的主要任务 本课题主要是 利用现场可编程逻辑门阵列 FPGA 实现直接数字频率合成( DDS)的原理,以 DDS 为核心的信号发生器 生成正 弦波以及方波 ,并在其基础上制定改进方案。其中包括系统硬件电路部分的设计以及软件(单片机和 VHDL)部分的设计。针对 EDA 的发展趋势以及 DDS 的重要作用,并结合本次课题的基本要求,主要工作如下: 1、 论述数字频率合成( DDS)技术及其应用,发展趋势。 2、 基于 DDS 信号发生器的系统设计方案的提出,并且描述该方案的特点,构建总体结构。 3、 硬件电路的各子模块及总体设计与调试,并且在 EWB上进行仿真测试。 介绍 FPGA/CPLD 的结构及其原理,并用硬件描述语言( VHDL)编写各模块子程序及顶层总程序,设计顶视图,并将各程序及 顶层视图进行仿真测试。 需要完成的指标要求有: 1、 DDS信号发生器的功能特点及指标要求: ( 1) 正弦波信号源 : 信号频率: 20Hz 200kHz步进调整,步长为 5Hz 频率稳定度:优于 10-4 非线性失真系数 3% ( 2) 脉冲波信号源 信号频率: 20Hz 200kHz步进调整,步长为 5Hz 上升时间和下降时间: 1s 平顶斜降: 5% 脉冲占空比: 2% 98%步进可调,步长为 2% ( 3) 频率可预置。 显示器 :十进制数字显示。 ( 4)自行设计满足本设计任务要求的稳压电源。 2、 为了让毕业论文 更加清晰明了,更加有说服力,有必要附加一些电路图和事物图。 ( 1)图纸内容及张数: 河海大学学士学位论文 - 7 - 基于 FPGA 设计的 DDS信号发生器顶视图 基于 PROTEL99SE 设计的电路原理图 基于 EDA 开发装置实现电路原理图 基于 MAXPLUS的各种波形仿真图 ( 2) 实物要求: 基于 MAXPLUS的各种仿真结果 在 EDA开发装置上实现并调试所设计的电路及结果 基于 EWB 或 MULTISIM的硬件电路仿真及调试结果 基于 PROTEL 的 SCH图及 PCB图 河海大学学士学位论文 - 8 - 第一章 基于 DDS 函数信号发 生器设计方案 一、基于 DDS 信号发生器的系统设计方案的提出 1、采用高性能的 DDS 单片 电路解决方案 随着 DDS 技术和 VLSI 的不断发展, DDS 式频率合成器单片化在九十年代就已经完成。由于 DDS 芯片性能日趋完善,需求量激增,其中 AD 公司的 DDS系列产品以其较高的性价比,目前取得了极为广泛的应用。 2、自行设计基于 FPGA 芯片的解决方案 DDS 技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模大、可编程,以及有强大的 EDA 软件支持等特性,十分适合实现DDS 系统的数字部分。在高可靠应用 领域,如果设计得当,将不会存在类似MCU 的复位不可靠等问题。而且由于它的高集成度,完全可以将整个系统下载于同一芯片中,实现所谓的片上系统,从而大大缩小产品的体积,提高系统的可靠性。 另外可编程逻辑器件的开发一般都是利用先进的 EDA 工具进行电子系统设计和产品开发。开发工具的通用性、设计语言的标准化以及设计过程几乎与所用器件硬件结构无关联,使得设计成功的各类逻辑功能软件具有良好的兼容性和可移植性。 二、本系统所采用的方案及其特点 由于条件有限,所以采用了自行设计基于 FPGA 芯片的解决方案。 这种方案的特 点: 1、利用 FPGA 则可以根据需要方便地实现各种比较复杂的调频、调相和 调幅功能,具有良好的实用性。 2、设计操作平台简单: Max+plusII 是 Altera 提供的一个完整的 EDA 开发软件,可完成从设备输入、编译、逻辑综合、器件适配、设计仿真、定时分析、器件编程的所有过程。用 Max+plusII 设计 DDS 系统数字部分最简单的方法是采用原理图输入。 3、利用 FPGA先进的结构特点,可以用 FPGA实现的 DDS能够用在很高的频率上。 河海大学学士学位论文 - 9 - 第二章 主要芯片的选择及其功能 一、单片机 AT89C51 89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8 位微处理器。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8位 CPU和闪烁存储器组合在单个芯片中, ATMEL的 89C51是一种高效微控制器。 主要性能: 128*8 位内部 RAM 4 个 8 位 I/O 口 片内有 4KB 可在线重复编程的快闪擦写存储器 存储数据保存时间为 10 年 宽工作电压范围: Vcc 可为 2.7V 到 6V 全 静态工作:可从 0Hz 至 16MHz 程序存储器具有 3 级加密保护 三 个 16 位定时器 /计数器 中断结构具有 6 个中断源和 4 个优先级 可编程全双工串行通道 空闲状态维持低功耗和掉电状态保存存储内容 4 个 8 位 I/O 口 全双工增强型 UART 可编程时钟输出 异步端口复位 低 EMI (禁止 ALE 以及 6 时钟模式 ) 掉电模式可通过外部中断唤醒 河海大学学士学位论文 - 10 - 其 引 脚结构如图 2-1 所示。 图 2-1 AT89C51 引 脚结构 引脚功能简述 : VCC:供电电压。 GND:接地。 P0 P3:可编程输入输出口。 RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。 ALE/PROG : 地址锁存允许信号。在存取外部存储器时,这个信号用于锁存低字节地址。 PROG :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 PROG 有效。但在访问外部数据存储器时,这两次有效的 PROG信号将不出现。 EA /VPP:当 EA 保持低电平时,在此期间外部程序存储器,不管是否有内部程序存储器。注意加密方式 1 时, EA 将内部锁定为 RESET;当 EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程河海大学学士学位论文 - 11 - 电源 。 XTAL1:反向振荡放大器的输入及内部时钟工作电 路的输入。 XTAL2:来自反向振荡器的输出。 二、移位寄存器 74LS164 8 位移位寄存器(串行输入,并行输出) 引出端排列图如图 2-2 所示 图 2-2 引出端排列图 引出端符号 功能简述 : CLOCK 时钟输入端 CLEAR 同步清除输入端(低电平有效) A, B 串行数据输入端 QA QH 输出端 当清除端( CLEAR)为低电平时,输出端( QA QH)均为低电平。 串行数据输入端( A, B) 可控制数据。当 A、 B 任意一个为低电平,则禁止新数据输入,在时钟端( CLOCK)脉冲上升沿作用下 Q0 为低电平 。 当 A、 B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态。 三、 8 路 D/A 转换器 DAC0832 DAC0832 是 8 位分辨率 D/A 转换集成芯片,与处理器完全兼容,其价格低廉,接口电路及程序简单,转换控制容易等优点,在单片机应用系统中得到了广泛的应用。 河海大学学士学位论文 - 12 - 它由三大部分组成:一个 8 位输入寄存器,一个 8 位 DAC 寄存器和一个 8位 D/A转换器。 其 引脚 结构如图 2-3 所示: 图 2-3 DAC0832的引脚图 引脚功能简述: DI0 DI7:数据输入线, TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为 DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为 1时 Iout1最大。 Iout2:电流输出线。其值与 Iout1之和为一常数。 Rfb:反馈信号输入线 ,芯片内部有反馈电阻 Vcc:电源输入线 (+5v +15v) Vref:基准电压输入线 (-10v +10v) 。 AGND:模拟地 ,摸拟信号和基准电源 的参考地 。 DGND:数字地 ,两种地线在基准电源处共地比较好 。 四、 3 线 -8 线译码器 74LS138 河海大学学士学位论文 - 13 - 引脚结构如图 2-4所示: 图 2-4 74LS138的引脚图 引脚功能简述: 0A、1A、2A: 译码地址输入端 1S: 选通端 2S、3S: 选通端(低电平有效) 0Y7Y: 译码输出端(低电平有效) 低电平时,可将地址端(0A、1A、2A)的二进制编码在一个对应的输出端以低电平译出。 利用1S、2S和3S可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时, 74LS138 还可作数据分配器。 功能表 如图 2-5所示 : 五、 EP1K30 EP1K30 芯片属 ALTERA 公司的 ACEX 系列,该系列是 ALTERA 公司着眼于通信、音频处理及类似场合应用而推出的 FPGA器件系列芯片,它采用 0.22/0.18微米混合工艺,密度从 10000门到 100000门。所有 ACEX系列器件均兼容 64bit、66MHz 的 PCI,并支持锁相环电路。 ACEX1K 采用查找表( LUT)和 EAB(嵌入式阵列块)相结合的结构,可用来实现存储器、专用逻辑功能和通用逻辑功能,每个 EBA 能提供 4096 比特的存储空间,每个 LE 包含 4 个输入 LUT、一个可编程的触发器、进位链和一个层叠链。合理运用进位链能够提高系统 运行速度。 河海大学学士学位论文 - 14 - 引脚结构如图 2-5所示: 图 2-5 EP1K30引脚结构 引脚功能如图 2-6所示: 图 2-6 EP1K30引脚功能表 河海大学学士学位论文 - 15 - 第三章 硬件电路的设计 一、 键盘接口电路的设计 键盘输入的硬件图,如图 3-1 所示。 图 3-1键盘输入 电路 键盘的工作方式一般有程控扫描方式、定时扫描方式、中断扫描方式三种。 程控扫描方式就是只有当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。 程控扫描方式的一般步骤为:判断有无键按下,扫描键盘得按键参 数,计算键号,判断闭合键是否释放,执行键操作子程序,返回。 定时扫描方式 即利用内部定时器,产生 10ms 的定时中断, CPU响应中断时对键盘进行扫描,在有键按下时识别出该键,并执行相应键处理功能程序。定时扫描方式的键盘右键电路和程控扫描方式相同 。 键盘工作于程控扫描状态时, CPU 要不间断的对键盘进行扫描工作,以监视键盘的输入情况,知道有键按下为止。其间 CPU 不能干任何其他工作,如果CPU 工作量大,这种方式将不能适应,定时扫描进了一步,除了定时监视一下键盘输入情况外,其余时间可进行其他任务的处理, 因此 CPU 效率提 高了,为了进一步提高 CPU 工作效率,可采用中断扫描方式,即只有在键盘按下时,才执行键盘扫描并执行该按键功能程序。 图 3-1示出了图个 4 4键盘,此键盘 即 采用中断扫描方式,当键盘上有键闭合式产生中断请求,执行中断服务程序,判别键盘上闭合键的键号,并做出相应处理。 河海大学学士学位论文 - 16 - 键盘的列线接到 P1口的低 4位,键盘的行线通过 74LS04反相器 连接到 P1口 的 高四位,因此 P1.0 P1.3 作为键输入线, P1.4 P1.7 作为扫描输出线,初态时 P1.4 P1.7全为“ 0”。 键盘上没有闭合键时 ,INT0 为高电平,当键盘上有任意一个键按下时, INT0 变低,向 CPU 发出中断请求,若 CPU 开放外部中断,则响应中断请求,执行中断服务程序扫描键盘。 经查阅相关资料可得,正常情况下,当操作人员进行按键操作时,由于机械触点的弹性作用,在闭合及断开瞬间均有抖动过程,会出现一系列负脉冲。抖动时间的长短,与开关的机械特性有关,一般为 5 10ms.而按键的稳定期,又由操作人员的按键动作所确定,一般为十分之几秒到几秒的时间。为了保证单片机对键的一次闭合,仅作一次键输入处 理,必须取出抖动的影响。 常用的去抖动的措施有硬、软件两种方法。在这里,我们采用的是软件去抖动,既实用又有效。其工作方式为:当检测到有按键按下后,先将键值送寄存器,然后执行一个 10ms的延时,再次执行键盘扫描程序,如果本次程序执行后,该键依然存在,则认为出现了一个有效按键,下面就根据其键值转到相应的处理子程序,完成相应的操作。 二、 LED 数码显示 电路的设计 图 3-2 LED 数码显示电路 在显示方面, 需要 8 位 LED 显示,为了简化硬件电路, 将所有位的段选线相应的并联在一起, 通过单向移位寄存器 74LS164,采用 串行方式,直接利用单片机的串行口,将需要显示的数据直接输送到 LED。数据从 RXD 引脚串行输出, TXD 引脚输出同步脉冲。当一个数据写入串行口发送缓冲器时,串行口即将 8 位数据以 /12oscf的波特率从 RXD 引脚输出,从低位到高位,发送完后置中断标志位 TI 为“ 1” 。 在 LED的入口处,再利用 单向移位寄存器 74LS164 进行河海大学学士学位论文 - 17 - 串并转换,再显示出来,节省了端口。 74LS164 属于位移位串并转换芯片,在接收到移位数据和移位脉冲之后,会将这一位数据显示到 74LS164 的 Q0 端,同时将原来端口上的 Q0 Q6 移位到Q1 Q7,同时原来 Q7 端口上的数据将自然丢失。 在此,我们利用这一特性,达到多位显示的功能。 并利用二进制译码器74LS138达到对 LED 进行选通的目的 。 LED显示器采用的是共阳极 LED,所以在二进制译码器的输出端加一个反相器 4069,以达到高电平选通的目的。 在把 数据送显示后,要执行一个延时,使输送的数据在 LED 上能够暂存一段时间,由于人眼的视觉暂存时延为 0.1 秒左右,所以显示的数据要保留 0.1秒以上,但考虑到如果闪动的频率过高, 会对人眼带来相当大的负担, 同时 造成眼疲劳。 三、 D/A 转换电路的设计 图 3-3 D/A转换电路 在 D/A 转换方面,采用 8 位 D/A 转换器 DAC0832 和运算放大器 OP-07 构成D/A转换电路。 如图 3-3 所示, EP1K30 与 DAC0832 之间不加锁存器,直接利用 DAC0832内部锁存器, 待转换的 8 位数字量由芯片的 8 位数据输入线 DI0 DI7 输入,经DAC0832 转换后,通过 2 个电流输出端 IOUT1 和 IOUT2 输出, IOUT1 是逻辑电平为 1的各位输出电流之和, IOUT2 是逻辑电平为 0的各位输出电流之和。河海大学学士学位论文 - 18 - 另外, ILE 、 CS 、1WR、2WR和 XFER 是控制转换的控制信号。 DAC0832 由 8 位输入寄 存器、 8 位 DAC 寄存器和 8 位 D/A 转换电路组成。输入寄存器和 DAC 寄存器作为双缓冲,因为在 CPU 数据线直接接到 DAC0832的输入端时,数据在输入端保持的时间仅仅是在 CPU 执行输出指令的瞬间内,输入寄存器可用于保存此瞬间出现的数据。有时,微机控制系统要求同时输出多个模拟量参数,此时对应于每一种参数需要一片 DAC0832,每片 DAC0832的转换时间相同,就可采用 DAC 寄存器对 CPU 分时输入到输入寄存器的各参数在同一时刻开始锁存,进而同时产生各模拟信号。 控制信号 ILE 、 CS 、1WR用来控制输入寄存器。当 ILE 为高电平, CS 为低电平, 1WR为负脉冲时,在 LE 产生正脉冲;其中 LE 为高电平时,输入寄存器的状态随数据输入线状态变化, LE 的负跳变将输入数据线上的信息存入输入寄存器。 控制信号2WR和 XFER 用来控制 8 位 A/D 转换器。当 XFER 为低电平,2WR输入负脉冲时,则在 LE 产生正脉冲;其中 LE 为高电平时, DAC 寄存器的输入与输出的状态一致, LE 负跳变,输入寄存器内容存入 DAC 寄存器。 四、看门狗电路部分硬件设计 为了防止系统由于种种原因进入死循环或者程序跑飞,在外围又设置了看门狗芯片 IMP813L,汇编程序在设计时,有意识的在部 分子程序的开始处加入了简单的喂狗程序段: CLR WDOG ;将喂狗端置 LCALL D25US ;调用 25 S 的延时,保证足够长的时钟宽度 NOP NOP NOP ;空操作,继续延时,无意义 SETB WDOG ;再次将喂狗端拉高,完成一次喂狗 这样,由于本芯片的喂狗时钟溢出上限为 1.6 秒,而单片机程序完成一次主循环的时间是远远短于这个时间,所以,只要程序不跑偏,不进入死循环,主程序在每一个循环中,会数次完成喂狗操作,而在系统出现跑偏等非正常情河海大学学士学位论文 - 19 - 况时,最长 1.6秒之后,系统就会 复位,重新开始主循环,而单片机在复位时,虽然端口和特殊寄存器全部回到初始值,但其内部的 RAM数据保持不变,所以,复位后的单片机会很快回到复位前的工作状态,而在短暂的 1.6 秒时间内,系统的变化并不是很大,完全可以忽略在这段时间内的变化。 在外加看门狗芯片后可以发现,系统的稳定性被大大加强,运行更加稳定。 五、电源电路的设计 原理图如图 3-5所示: 图 3-5 电源电路 在电源的设计过程中,最需要考虑的依然是干扰的抑制问题,在前面也已经提到了,使用弱电的 CPU 部分对外界的干扰相当敏感,一不小心就会带来灾难性 的后果。而且作为零电位的地线,如果共地的元件过多,或者连接的线路过长,也有可能使干扰从地线引入,造成无法预期的后果。 因此, 5V和 24V 电源被分开设计,分别接地。没有物理上的连接关系,截断了干扰的通路,从根本上解决了电源部分的干扰问题。 河海大学学士学位论文 - 20 - 第四章 单片机 程序及流程图 一、主程序及流程图 流程图如图 4-1所示: 图 4-1 主程序流程图 主程序: START: MOV TMOD,#01H; 令 T0为定时器方式 1 MOV TH0,#3CH; MOV TL0,#B0H; CLEAR:CLR P1; 清零两个计数器 ,CLR和 P1连的 CLR P3; 清零两个计数器 ,CLR和 P3连的 MOV P?,#00H; 禁止计数器计数 ,置低 cl,cl和 P?连的 RET; 子程序返回 MOV IE,#82H; 开 T0中断 SETB TR0; MOV R0,#14H; 河海大学学士学位论文 - 21 - LOOP: SJMP $; 等待中断 中断服务子程序: ORG 000BH AJMP BRT0 ORG 00BH; BRT0: DJNZ R0,NEXT AJMP XIANSHI; 跳转到显示子程序 DJNZ: MOV R0,#14H; 恢复 R0值 MOV TH0,#3CH; 重装入定时器初值 MOV IE,#82H; RET END ORG 1000H IO51K16:LCALL D10MS LCALL KEYIN JNZ LKOUT RETI LKOUT:MOV R2,#0EFH MOV R4,#00H CONU:MOV P1,R2 MOV A,P1 JB ACC.0,LONE KEYBOARD: MOV A,#00H AJMP LKP LONE:JB ACC.1,LTWO MOV A,#04H AJMP LKP LTWO:JB ACC.2,LTHR MOV A,#08H 河海大学学士学位论文 - 22 - AJMP LKP LTHR:JB ACC.3,NEXT MOV A,#0CH LKP:ADD A,R4 PUSH A WKFE:LCALL KEYIN JNZ WKFE POP A LJMP KJMP NEXT:INC R4 MOV A,R2 JNB ACC.5,KND RL A MOV R2,A LJMP CONU KND:RETI KEYIN:MOV P1,#0FH MOV A,P1 CPL A ANL A,#0FH RET DELAY10MS: MOV R6,#20 LOOP1: MOV R7,#248 DJNZ R7,$ DJNZ R6,LOOP1 RET KJMP: ZHOUQI: SETB P0.0 ;置高 P0.0 LJMP DELAY10MS 河海大学学士学位论文 - 23 - SETB P3.7 ;置高 3.7,准备读入 MOV AX P0.0 ;读 入操作 LJMP LED CLR AX PINLV: SETB P0.1 LJMP DELAY10MS SETB P3.7 MOV AX P0.1 LJMP LED CLR AX 二 、显示子程序及流程图 流程图如图 4-2所示: 显 示 子 程 序 入 口保 护 现 场查 表 确 定 将 要 显 示 的 内 容选 通 最 右 边 一 位 L E D在 屏 幕 上 显 示 接 收 的 字 符内 容 是 否 显 示 完 ?选 通 左 边 一 位 , 字符 顺 序 左 移 一 位恢 复 现 场返 回YN 图 4-2 显示子程序流程图 显示子程序: IOLED4:MOV R1,#50H ;显示缓冲区首地址入 R1 MOV R2,#0FFH ;首位 (LED4)显示控制字 (保证 P3.3=0)入 R2 DISC:MOV A,R2 ANL P3,A ;送 P3口控制字 (使 P3.0=0其他不变 ) MOV A,R1 ;查段码 ,待查 BCD码送入 ACC中 河海大学学士学位论文 - 24 - MOV DPTR,#TAB ;段码表首址入 DPTR MOVC A,A+DPTR ;查段码指令 MOV P1,#A ;段码送入 P1 口 LCALL DL1 ;延时使视觉暂留 ,可以延时 1ms INC R1 ;指向下一位显示缓冲单元 MOV A,R2 ;判断 4位轮流显示完 ? JNB ACC.7,DEND ;8位显示完 ACC.7(P3.7=0)转结束 RL A ;8 位未显示完 ,左移一位使下一显示位控制口线为 0 MOV R2,A AJMP DISC ;8位未显示完继续显示 DEND:RET ;8位显示完子程序结束 TAB:DB 3FH,06FH,5BH,4FH,66H,6DH,6DH,07H 0 1 2 3 4 5 6 7 DB 7FH,6FH,77H,7CH,39H,5EH,79H 71H 8 9 A B C D E F DL1:MOV R7,#20 ;延时子程序 DL7:MOV R6,#20 DL6:DJNE R6,DL6 DJNE R7,DL7 RET 三 、 频率控制字的计算 课题要求本次设计的信号发生器的输出频率范围为( 20Hz fo 200kHz)步进 可 调整, 且 步长为 5Hz。我们可以知道最大值 200KHz,所以参考时钟频率必须取 500KHz以上,(因为一般输出频率0maxf 40% X cf) 。在此我们 fc = 1 M Hz。 因为要求步长为 5Hz,即要求分辨率 fo 5Hz 。所以, fc/2N 5Hz N 18 因此,我们选择相位累加器的位数 N = 32 。 河海大学学士学位论文 - 25 - 另外,波形存储器是存储相位 幅度序列的转换值的。为了使输出的信号更加稳定和精确,要求该序列的个数尽量多。因此,波形存储器要有更大的容量,即有更大的空间。波形存储器的容量越大,成本也越高。基于成本的限制,在此,我们取转换序列个数为 1024。所以取波形存储器的位数 A 为 10,既有10条地址线。 由于数模转 换器 DAC 的位数 D 直接关系到 DDS 的输出杂散噪声性能, D 取值越大,杂散性能就越高,但是当位数增加到一定程度后,得到的改善不再明显。所以,这里取位数 8位。 河海大学学士学位论文 - 26 - 第五章 EDA 工具与电路调试 一、 Protel99SE 介绍 Protel 是目前国内最流行的通用 EDA 软件,它是将电路原理图设计、 PCB板图设计、电路仿真和 PLD 设计等多个实用工具软件组合后构成的 EDA 工作平台,是第一个将 EDA 软件设计成基于 Windows 的普及型产品。 Protel 98 率先集成了软件界面, Protel 99 增加了仿真功能和 PLD设计和信号完整性分析。 Protel99se的窗口如图 5-1所示 : 图 5-1 Protel99se 的窗口 Protel99SE主要由以下几部分组成: 1.原理图设计系统( Advanced Schematic) 原理图设计系统主要用于电路原理图的设计。这部分主要包括原理图编辑器 Sch和元件库编辑器 SchLib。 2.印制电路板设计系统( Advanced PCB) 印制电路板设计系统主要用于印制电路板的设计。这部分印制电路板编辑器 PCB和封装库编辑器 PCBLib。 3.PCB自动布线 系统( Advanced Route) PCB自动布线系统用于印制板的自动布线。 4.信号模拟仿真系统( Advanced SIM) 信号模拟仿真系统主要一个数模混合信号电路仿真器 ,以提供模拟信号和数字信号的仿真。 河海大学学士学位论文 - 27 - 5.信号完整性分析系统( Advanced Integrity) 信号完整性分析系统主要用来分析 PCB设计、检查设计参数及信号测试等。 6.可编程逻辑设计系统( Advanced PLD) 可编程逻辑设计系统用来设计大规模可编程逻辑器件,包括用于文本编辑器 Text、用于编译和仿真设计结果的 PLD和用来观 察仿真波形的 Wave。 二、 EWB 平台的介绍 电子设计自动化( EDA)技术,使得电子线路的设计人员能在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板的自动设计。EDA是在计算机辅助设计( CAD)技术的基础上发展起来的计算机设计软件系统。与早期的 CAD 软件相比, EDA 软件的自动化程度更高、功能更完善、运行速度更快,而且操作界面友善,有良好的数据开放性和互换性。 电子工作平台 Electronics Workbench (EWB)软件具有这样一些特点: ( 1)采用直观的图形界面创建电路 :在计算机屏幕上模仿真实实验室的工作台,绘制电路图需要的元器件、电路仿真需要的测试仪器均可直接从屏幕上选取 。 ( 2)软件仪器的控制面板外形和操作方式都与实物相似, 能 实时显示测量结果。 ( 3) EWB软件带有丰富的电路元件库,提供多种电路分析方法。 ( 4)作为设计工具,它可以同其它流行的电路分析、设计和制板软件交换数据。 ( 5) EWB还是一个优秀的电子技术训练工具,利用它提供的虚拟仪器可以进行电路实验,仿真电路的实际运行情况,熟悉常用电子仪器测量方法。 EWB的主窗口如图 5-2所示 : 图 5-2 EWB的主窗口 河海大学学士学位论文 - 28 - 三、 D/A 转换电路在 EWB 上的仿真 1用虚拟工作台仿真电路的步骤 : 由于 EWB增加了虚拟测量仪器、实时交互控制元件和多种受控信号源模型,除了可以给出以数值和曲线表示的 SPICE 分析结果外, EWB 还提供了独特的虚拟电子工作台仿真方式,可以用虚拟仪器实时监测显示电路的变量值,频响曲线和波形。仿真的步骤为: ( 1) 输入原理图,在工作区放置元件的原理图符号,连 接导线,设置元件参数; ( 2) 放置和连接测量仪器,设置测量仪器参数; ( 3) 启动仿真开关,在仪器上观察仿真结果。 2仿真实例 1: RC低通滤波器电路的仿真 在电路工作区输入如下图电路。其中包含两个正弦交流电压源,一个为 1V 2kHz, 一个为 5v 60Hz,另有一个周期脉冲电压源(时钟源),幅度 5V, 频率50Hz, 占空比 50%,两组电源用开关来切换。电路的输入为节点 8,输出为节点3。如图 5-3所示 连接波特图仪、示波器和电压表。 图 5-3 波特图仪、示波器和电压表 连接示意图 (1)测试电路的频率特性曲线 双击波特图仪图标打开其面板,然后单击仿真启动开关,在波特图仪的显示屏幕上可以观看电路的幅度频率特性和相位频率特性曲线。曲线如下两图所示。 图 5-4 幅度频率特性 曲线 河海大学学士学位论文 - 29 - 图 5-5 相位频率特性曲线 (2)观测电路的滤波效果 按空格键将开关连接到两个正弦交流信号源上。双击连接示波器输入的导线,将两个通道的输入导线设置成不同的眼色以便于波形的观察。打开示波器面板,启动电路仿真开关,这时在示波器上可以看到两个波形 (图 5-6 所示) 。输入波形为 60H正弦波与 2kHz小幅度正弦波的叠加波形。输出波形中, 2kHz正弦波成分已经基本上被 滤除。 图 5-6 滤波效果示意图 (3)观察电路对周期脉冲序列的瞬态响应 按空格键将开关连接到周期脉冲信号源上。启动电路仿真开关,这时在示波器上可以看到两个波形(下图)。输入波形为周期方波,输出波形为按指数规律上升、下降的脉冲序列。改变输入脉冲波的频率,可以看到输出波形的形状发生变化。 河海大学学士学位论文 - 30 - 第 六 章 FPGA 编程及调试 一、 FPGA/CPLD 介绍 FPGA( 现场可编程门阵列 ) 与 CPLD(复杂可编程逻辑器件 )都是可编程 逻辑器件,它们是在 PAL,GAL 等逻辑器件的基础之上发展起来的。这样的 FPGACPLD 实际上就是一个子系统部件 。 尽管 FPGA,CPLD 和其它类型 PLD 的结构各有其特点和长处,但概括起来,它们是由三大部分组成的 : 1、 一个二维的逻辑块阵列,构成了 PLD 器件的逻辑组成核心。 2、 输入输出块: 3、 连接逻辑块的互连资源。连线资源:由各种长度的连线线段组成, 其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑 块与输入输出块之间的连接。 FPGA CPLD 芯片都是特殊的 ASIC 芯片,它们除了具有 ASIC 的特点之外,还具有以下几个优点: 1、 FPGA CPLD 芯片的规模也越来越大,能实现的功能也越来越强,同时也可以实现系统集成。 2、 FPGA CPLD 的资金投入小,节省了许多潜在的花费。 3、 FPGA CPLD 软件易学易用,可以使设计人员更能集中精力进行电路设计 。 二、 MAX+PLUS的介绍 MUX+PLUS是 Altera提供的 FPGA/CPLD开发集成环境, Altera是世界最大的可编程逻 辑器件供应商之一。 MUX+PLUS界面友好,使用便捷,被誉为业界最易用易学的 EDA软件。 MUX+PLUS编译器支持的硬件描述语言有 VHDL、 VerilogHDL及 AHDL。前两种为 IEEE标准支持的硬件描述语言,最后一种 AHDL是 Altera公司自己设计、制定的硬件描述语言,是一种以结构描述方式为主的硬件描述语言,只有企业标准。 MUX+PLUS允许来自第三方的 EDIF文件输入, 可以与其他 EDA工具进行接口。 三、 VHDL 顶层设计程序及顶层视图 VHDL顶视图由一个 32位加法器和一个 32 位寄存 器作相位累加器部分, 10位正弦波数据文件 sindata.mif,一个数据( 1024 个点)的数据文件,用来定河海大学学士学位论文 - 31 - 制 LPM-ROM 的,即生成 rom-sin 的,数据 ROM 用来存放得到的数据,正弦波和方波的选择器用来选择长生正弦波还是方波, 方波生成器的作用说明:输入 A为方波一个周期的采样点数,输入 B 为方波一个周期高电平部分的采样点数,当时钟脉冲 CLK 为高电平时 A 与 B 都进行减 1 运算,同时输出一个脉冲。当 A与 B 都不为零时,输出高电平脉冲至 B 减为 0,当 A 减为 0 时一个周期脉冲结束 。 主程序见附录 中 1: 图 6-1 顶层视图 四、 各模块程序及其仿真 结果 1、 32位加法器: 图 6-2 32位加法器仿真图形 输入 32位数据 A和 B,输出 32位数据为 S,公式 为 S=A+B。 32位加法器程序见附录中 2: 2、 32位寄存器: 图 6-3 32位寄存器仿真图形 输入为 Load和 Din,输出为 Dout,当 Load高电平脉冲时,输入数据就通过输出端口输出。 河海大学学士学位论文 - 32 - 32位寄存器程序见附录中 3: 3、数据 ROM: 数据 ROM的 程序见附录 中 4: 4、 波形 选择器: 图 6-4 波形 选择器仿真图形 当 s= 0时, a 通过 y输出,当 s= 1时 b通过 y输出。 波形选择器 的程序见附录中 5: 5、 方波生成器: A为方波一个周期的采样点数, B为方波一个周期高电平部分的采样点数,当 CLK为高电平时 A与 B都进行减 1运算,同时输出一个脉冲。当 A与 B都不为零时,输出高电平脉冲至 B减为 0,当 A减为 0时一个周期脉冲结束。 方波生成器程序见附录中 6: 河海大学学士学位论文 - 33 - 毕业设计小结 直接数字频率合成( DDS)是继直接频率合成和间接频率合成之后发展起来的第三代频率合成技术,主要通过数字控制方法从一个参考频率源产生多种频率。 DDS 具有高速频率 转换、高分辨率、高稳定度、低相位噪声,输出信号易数字式调制等特点。 DDS 直接频率合成器件的诸多优点使其逐渐成为未来信号源发展方向。 由于之前对 DDS 技术不是很了解 , 所以 在设计的 一开始遇到了很多困难,后来 在老师的指导、帮助下,我对 DDS 技术的 理论知识有了更深一步的 了解 ,同时对以前所学的知识有了更深的理解,也拓宽了自己的知识面。 此次 毕业 设计, 使我看清 了 差距,扩大 了 视野,认识 到 自己的真实水平。正是在学校所学的扎实的专业基础知识和不断培养的实践 动 手能力,使我能很快地处理和解决做毕设过程中遇到的问题。我 从 毕业设计 中 学到了许多知识,提高了能力,受益匪浅。 河海大学学士学位论文 - 34 - 致 谢 本论文是在李东新老师的悉心指导下完成的。 他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,郑老师都始终给予我细心的指导和不懈的支持。 可以说无论在学习上、生活上,李老师都给予了我们无微不至的关怀和鼓励。另外,他渊博的知识,严谨的治学态度和锲而不舍的精神使我受益匪浅,使我在学习能力、思维方法等各方面有了长足的长进,为今后工作打下了坚实的基础,令我终生难忘。在此,特向李老师致以真 诚的谢意和最崇高的敬意!同时,在设计工作中,我们小组郑威、吴文政、郑进军同学给了我莫大的关心和帮助,在此向他致以真诚的谢意。 最后,对审阅本论文的各位老师表示衷心的感谢! 河海大学学士学位论文 - 35 - 参考文献 1. 潘松,黄继业 .EDA 技术使用教程 .北京:科学技术出版社, 2005 2. 楼然苗,李光飞 .51 系列单片机设计实例 .北京:北京航空航天大学出版社,2006 3. 江太辉,石秀芳 .MCS-51 系列单片机原理与应用 .广州:华南理工大学出版社, 2002 4. 朱定华,戴汝平 .单片微机原理与应用 .北京:北方交通大学出版社, 2003 5. 张毅刚,彭喜元,姜守达,乔立岩。新编 MCS-51单片机应用技术 .哈尔滨:哈尔滨工业大学出版社, 2003 6. 房小翠,王金凤 .单片机实用技术设计技术 .北京:国防工业出版社, 1996 7. 何立民 .单片机应用系统设计 .北京:北京航空航天大学出版社, 1990 8. 孙育才等 .单片微型计算机应用系统设计与实现 .南京:东南大学出版社,1990 9. 何立民 .单片机应用技术选编 .北京:北京航空航天大学出版社, 1993 10.张迎新 .单片微型计算机原理、应用及接口技术 .北京:国防工业出版社, 1993 11.徐爱均 .单片机高级语言 C51应用程序设计 .北京 :电子工业出版社, 1998 12.武庆生 .单片机原理及应用 .北京:电子科技出版社, 1998 河海大学学士学位论文 - 36 - 附 录 1、主程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DDS_VHDL IS PORT(CLK: IN STD_LOGIC; FWORD: IN STD_LOGIC_VECTOR(7 DOWNTO 0); A,B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); S : IN BIT; FOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END; ARCHITECTURE ONE OF DDS_VHDL IS COMPONENT REG32B PORT( LOAD: IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT; COMPONENT REG32B2 PORT( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT1:OUT STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT2:OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); END COMPONENT; COMPONENT ADDER32B PORT( A: IN STD_LOGIC_VECTOR(31 DOWNTO 0); B: IN STD_LOGIC_VECTOR(31 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT; 河海大学学士学位论文 - 37 - COMPONENT PULSE1 PORT( LOAD: IN STD_LOGIC; A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); Q :OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END COMPONENT; COMPONENT MUX PORT( A :IN STD_LOGIC_VECTOR(7 DOWNTO 0); B :IN STD_LOGIC_VECTOR(7 DOWNTO 0); S :IN BIT; Y :OUT IN STD_LOGIC_VECTOR(7 DOWNTO 0); END COMPONENT; COMPONENT SIN_ROM PORT ( INCLOCK: IN STD_LOGIC; ADDRESS: IN STD_LOGIC_VECTOR(9 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END COMPONENT; SIGNAL F32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL M8B : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL N8B : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL A32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL B32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL D32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL D10B : STD_LOGIC_VECTOR(9 DOWNTO 0); SIGNAL DIN32B : STD_LOGIC_VECTOR(31 DOWNTO 0); BEGIN F32B(27 DOWNTO 20)=FWORD; F32B(31 DOWNTO 28)=0000; F32B(19 DOWNTO 0)=00000000000000000000; A32B(27 DOWNTO 20)=A; A3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论