交流信号发生器设计
- 格式:doc
- 大小:1.23 MB
- 文档页数:22
学号:0121211360718能力拓展训练题目交流信号发生器设计学院自动化学院专业自动化专业班级自动化1202班姓名席礼洋指导教师孙晓明2015年6月24日能力拓展训练任务书学生姓名:席礼洋专业班级:自动化1202班指导教师:孙晓明工作单位:自动化学院题目: 交流信号发生器设计初始条件:计算机、Max+plusⅡ、EDA实验箱。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)控制产生1-99Hz(精度0.1Hz)的正弦交流信号,通过DAC 0832转换后输出。
通过按键操作,可对输出信号的峰值与频率进行控制。
任务安排:(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述,写出设计方案结构图。
(4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(5)调试记录及结果分析、(6)总结(7)参考资料5篇以上(8)附录:程序清单时间安排:D1:安排设计任务;收集资料;方案选择D2:程序设计D3:实验室内调试程序并演示D4:撰写报告D5:交能力拓展训练报告主要参考资料:[1] 谭会生,张昌凡.EDA 技术及应用.西安:西安电子科技大学出版社.2004[2] 孙晓明.EDA实验指导书.武汉:武汉理工大学教材中心,2007.1指导教师签名:年月日系主任(或责任教师)签名:年月日目录1.设计意义及要求 (1)1.1设计意义 (1)1.2设计要求 (1)2.方案的比较及选择 (2)3.设计原理 (3)3.1设计思想 (4)3.2原理说明及方框图 (4)3.3 单片机AT89C51 (5)3.4 A/D转换 (8)4.主程序及流程图 (10)4.1程序流程图 (10)4.2程序代码 (11)5.仿真结果 (14)6.小结与体会 (17)7.参考文献 (18)本科生能力拓展训练成绩评定表 (1)1.设计意义及要求1.1设计意义在计算机控制技术、电子技术飞速发展的今天,信号发生器的应用越来越广,对信号发生器的频率稳定度、频谱纯度、频率范围和输出信号的频率微调分辨率提出越来越高的要求,普通的频率源已经不能满足现代电子技术的高标准要求。
国内外纷纷设计制作先进的信号发生器,从实用价值来看,各高校中信号发生器应用极为广泛,能够设计出低成本、高精度的信号发生器并推广使用具有非常重要的意义。
而基于单片机的交流信号发生器的设计,以性价比相对较高的AT89C51单片机为核心,以简单、廉价的元器件构筑,能够产生高精度、高纯度的正弦波,同时可以实现波形频率和幅度在线调整。
目前购买的信号发生器价格昂贵,功能强大,实际在高校开展实验过程中用到最多的是低频信号发生器。
如果能够在高校实验领域应用它们,将具有重要的实际意义。
1.2设计要求在初始条件为计算机、Max+plusⅡ、EDA实验箱的情况下设计交流信号发生器。
要求:控制产生1-99Hz(精度0.1Hz)的正弦交流信号,通过DAC 0832转换后输出。
通过按键操作,可对输出信号的峰值与频率进行控制。
2.方案的比较及选择方案一:采用分立元件组成的函数发生器,通常是单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高,不容易调试。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:采用晶体管、运放IC等通用器件制作,可产生正弦波,通过调整外部元件可改变输出频率,但它们的精度不高,调节方式也不够灵活。
方案四:采用单片机编程的方法来实现。
即采用AT89C51单片机和DAC0832芯片以一定的模拟数字电路,通过编程可以产生正弦交流信号。
不但设计简单,而且可以很简便的通过编程的方法来控制信号波形的频率和幅度,在硬件电路不变的情况下,通过改变程序来实现频率的变换。
此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。
调节幅度和频率,扩展性强。
鉴于方案一的信号频率不够稳定和方案二、三的电路复杂、精度达不到要求等缺点,所以决定采用方案四的设计方法。
它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。
3.设计原理图1电路原理图晶振采用单片机内部晶振频率内存分配:P3口的P3.1-P3.4分别和幅值、频率的高低变换可调相连接。
P0口与DAC0832的DI0-DI7数据输入端相连。
P3.6口用来控制DAC0832的输入寄存器选择信号CS、输入寄存器写选通信号WRI 及DAC寄存器写选通信号WR2和数据传送信号XFER。
3.1设计思想(1)利用单片机产生正弦波信号波形,信号的频率和幅度可变。
(2)将一个周期的信号分离成256个点(按X 轴等分),每两点之间的时间间隔为∆T ,用单片机的定时器产生,其表示式为:∆T=T/256。
如果单片机的晶振为12MHz ,采用定时器方式0,则定时器的初值为:X=213—∆T/T mec (2.1)定时时间常数为:TL =(8192—∆T )/MOD256 (2.2)TH=(8192∆T)/256 (2.3)MOD32表示除32取余数(3)正弦波的模拟信号是D/A 转换器的模拟量输出,其计算公式为:Y=(A/2sin ∆t )+A/2 (其中A=VREF) (2.4) ∆t=N∆T (N=1~256)(2.5)那么对应着存放在计算机里的这一点的数据为:(2.6)(4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以TAB1—TAB4为起始地址的存储器中。
3.2原理说明及方框图数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
AT89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU 、随机存取存储器RAM 、只读存储器ROM 、I/O 接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及其接口、显示器及其接口、数模(A/D )转换及波形输出及其接口等几部分,即可构成所需的波形发生器(sin 1)255(255)/2t Di Y A ∆+⨯=⨯=硬件原理框图如下图所示:图2 硬件原理框图交流信号发生器系统主要是由CPU、D/A转换电路、频率变换电路、电流电压转换电路、按键幅频变换电路、电源等电路组成。
而AT89C51是整个发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘按键接收数据,进行各种信号频率和幅度的调节。
当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
也就是说其工作原理为当按键电路按下相应的按键时,可以改变幅值和频率。
3.3 单片机AT89C51AT89C51单处机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。
在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。
模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。
中断系统是使处理器具有对外界异步事件的处理能力而设置的。
当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。
在波形发生器中,只用到片内定时器/计数器溢出时产生的中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形。
AT89C51从P0口接收来自键盘的信号,并通过P2口输出一些控制信号,将其输入到8155的信号控制端,用于控制其信号的输入、输出。
如果有键按下,则在读控制端会产生一个读信号,使单片机读入信号。
如果有信号输出,则在写控制端产生一个写信号,并将所要输出的信号输出。
图3 AT89C51管脚图管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。