基于单片机的正弦波信号发生器设计..doc
《基于单片机的正弦波信号发生器设计..doc》由会员分享,可在线阅读,更多相关《基于单片机的正弦波信号发生器设计..doc(35页珍藏版)》请在沃文网上搜索。
1、 目录绪论1第1章 系统概述和方案21.1 引言21.2方案选择21.3 DDS的理论分析与参数计算21.3.1 DDS的基本原理21.3.2 参数计算31.4 信号发生芯片选择4第2章 系统硬件设计52.1系统总体设计52.2单片机介绍及与AD9835(DDS)连接电路52.2.1 单片机AT89S51介绍52.2.2 AD9835芯片介绍72.3信号发生电路82.4低通滤波电路102.5 DA转换及幅度控制电路112.6 信号放大电路132.7 显示电路142.8 键盘电路162.9 电源电路17第3章 系统软件流程图193.1 主程序流程图193.2 键盘处理子程序流程图203.3 D/
2、A转换子程序流程图21展 望22致 谢23参考文献24附录一25附录二26绪 论 基于单片机的正弦波信号发生器设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察信号发生器的基本功能,完成一个基本的实际系统的设计全过程。通过单片机控制一个有特殊功能的信号发生芯片,可以产生一系列有规律的幅度和频率可调的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。直接数字频率合成(DDS)是近年来发展起来的一种新的频率合成技术。其主要优点是相对带宽很宽、频率转换时间极短(可小于20ns)、频率分辨率很高、全数字化结构便于集成、输出相位连续、频率、相位和幅度均可实现程控。因此,能够与计算机紧密
3、结合在一起,充分发挥软件的作用。作为应用,现在已有DDS产品用于接收机本振、信号发生器、通信系统、雷达系统、跳频通信系统等。本文介绍一种由直接数字频率合成(DDS)芯片AD9835设计的正弦信号发生器,该芯片支持高达50MHz的时钟频率,可以产生最高可达25MHz的正弦波形。通过单片机控制完全可以满足设计所要求的正弦波信号的生成。本文主要分六大部分:绪论、系统概述和方案、硬件部分、软件部分,展望和致谢。绪论,首先对课题研究背景和所涉及的相关技术领域进行了介绍;第一章对系统所要完成的功能和可扩展的功能进行描述,确定系统的设计方案主要元器件的选择。第二章对系统的硬件结构和各部分组成作了简要的介绍和
4、讲解;第三章是软件部分,这部分重点介绍了主程序的流程框图及各个子程序的流程框图,最后对整篇文章进行了总结。第1章 系统概述和方案1.1 引言信号发生器的实现方法有多种,传统的波形发生器通常由晶体管、运放IC 等分离元件制成。与此相比,基于集成芯片的波形发生器具有高频信号输出、波形稳定、控制简便等特点,且大多能产生正弦波、矩形波(含方波)和三角波(含锯齿波)等多种波形。根据设计要求,又基于DDS芯片AD9835在正弦波产生方面的 优良特性,这里提出一种基于DDS AD9835的正弦波信号发生器的设计方案。本次设计的基于单片机的信号发生器设计就是设计一个单片机控制系统,对信号发生芯片进行的控制。通
5、过这个单片机对信号发生芯片进行精密控制,实现对波形的频率及幅度的控制。这些控制可以通过键盘设定,这就要求对选择的信号发生芯片,选用的单片机有初步的了解,并且对整个系统的结构有个合理的分配。1.2方案选择方案一:直接利用单片机编程产生正弦波。优点:简化了产生正弦波的硬件和软件,电路结构简单。缺点:编程复杂,波形失真较大,不能达到要求输出的高频率信号。方案二:利用单片机控制直接数字频率合成芯片(DDS)产生的正弦波,通过单片机,键盘,LED数码管显示实现波形的数字控制。优点:控制简单,波形效果好,频率带宽。缺点:硬件电路复杂。为了满足设计要求,取得较好的效果,显然方案二较为理想。1.3 DDS的理
6、论分析与参数计算1.3.1 DDS的基本原理DDS的基本原理是:在高速存储器中放入正弦函数相位数据表格,经过查表操作将读出的数据送到高速DAC产生正弦波。可编程DDS系统原理如同所示: N:相位,累加器位数; M:相位累加器实际对ROM寻址的位数; S:ROM输出正弦信号(离散化)的位数; 位数:相位累加器的位数,满足位数=N-M图1-3-1 DDS的基本原理图DDS系统由频率控制字,相位累加器,正弦查询表,数模转换器和低通滤波器组成,参考时钟为高稳定度饿晶体振荡器,其输出用于同步DDS各组成部分的工作。DDS系统的核心是相位累加器,它由N为相位寄存器构成,类似于一个简单的计数器。每来一个时钟
7、脉冲,相位寄存器的输出就增加一个步长的相位增量值,加法器将频率控制数据与累加寄存器输出的累加相位数据相加,把相加结果送至累加寄存器的数据输入端。相位累加器进入线性相位累加,累加至满量程时产生一次计数溢出,这个溢出频率即为DDS的输出频率。正弦查询表是一个可编程只读存储器(PROM),存储的是以相位为地址的一个周期正弦信号的采样编码值,包含一个周期正弦波的数字幅度信息,每个地址对应于正弦波中0360范围的一个相位点将相位寄存器的输出与相位控制字相加得到的数据作为一个地址对正弦查询表进行寻址,查询表把输入的地址相位信息映射成正弦波幅度信号驱动DAC,输出模拟信号。低通滤波器平滑并滤除不需要的取样分
8、量,以便输出频谱纯净的正弦信号。1.3.2 参数计算对于计数容量为2n的相位累加器和具有M个相位取样点的正弦波形存储器,若频率控制字为K,输出信号频率为f0,参考时钟频率为fc,则DDS系统输出信号的频率为 f0=(k2n)fc输出信号的频率分辨率为 fmin=(12n)fc由奈奎斯特采样定理可知,DDS输出的最大频率为 fmax=fc2频率控制字可由以上公式推出 K=f02nfc当外部参考时钟频率为50MHz,输出频率需要为1MHz时,系统时钟经过6倍频,使得fc变为300MHz,这样就可利用以上公式计算出DDS的需要设定的控制频率字 K=12483001.4 信号发生芯片选择系统采用数字波
9、形合成技术产生任意波形,其基本原理是设法将任意波形的采样点的值依次通过数模转换器转换成模拟量输出。具体原理如下:首先自定义一个周期波形函数,其值按等距采样个点,然后进行离散化取值。采样后,得到该波形一个周期内点的波形数据,把它们按DA位数进行取整转换,合成偏移码表存放在单片机数据存储器(RAM)中,根据波形时间参数值,依次取每个点的偏移码通过IO输出给DA转换器。如此循环取值,便可以得到连续的波形信号。 根据设计要求,本系统的设计基于直接数字频率合成技术,采用单片机AT89S51控制DDS芯片AD9835,通过改变AD9835内部编程控制寄存器所选的操作模式、相位累加器的位数、频率控制字和幅度
10、控制字,以产生频率稳定度达10-6,最小频率步进为1Hz,多档可调的正弦信号,再使用可编程放大器对输出电压进行精确控制,在频率范围内能产生二进制PSK、ASK信号。在100KHz固定频率载波进行二进制键控,二进制基带序列码速率固定为10Kbps,二进制基带序列信号自行产生,能够产生模拟调制AM信号。正弦波发生器是本设计的核心部分,波形发生器要求能产生模拟AM、FM调制信号和二进制PSK、ASK信号,以及优于10-6的频率稳定度,且在1KHz10MHz的大范围内以1Hz的步进调整。采用直接数字频率合成技术,用随机读写存储器RAM存储所需波形的量化数据,按照不同频率要求,以频率控制字K为步进对相位
11、增量进行累加,以累加相位值作为地址码读取存放在存储器内的波形数据,经DA转换和幅度控制,再滤波即可得所需波形。由于DDS具有相对带宽很宽、频率转换时间极短(可小于20s),频率分辨率高,全数字化结构便于集成等优点以及输出相位连续,频率、相位和幅度均可实现程控,因此,可以完全满足。第2章 系统硬件设计2.1系统总体设计整机有七大模块组成,分别是电源产生电路,按键电路,单片机外围控制电路,正弦波信号发生电路,滤波电路,DA转换电路及幅度控制电路,信号放大电路。如图2-1示: 图2-1总体设计系统原理图基于DDS芯片AD9835的正弦波信号发生器主要由AT89S51、DDS芯片AD9835、DA芯片
12、TLC7524和射频运算放大器AD829组成,如图2-1所示。单片机AT89S51控制DDS集成电路AD9835,输出所期望的频率正弦波信号。单片机还用于控制输出信号幅值,检测按键,控制LED显示,并与PC通讯接收远程指令。AD9835输出的信号经低通滤波器滤除高频干扰后送至DA转换器TLC7524,控制其幅值,TLC7524输出后经运算放大器AD829放大,最后输出满足要求的正弦波。2.2单片机介绍及与AD9835(DDS)连接电路2.2.1 单片机AT89S51介绍单片机作为系统设计的核心部分,在系统功能实现上起到了决定性的作用。AT89S51是美国ATMEL公司生产的低电压,高性能CMO
13、S 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶休或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷诺振器)及电容C1,C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有十分严格的要求,但电容容量的
14、大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,这里选择使用石英晶休,我们的电容使用30pF。如使用陶瓷谐振器的话,应选择40pF士10pF的容值的电容。也可以采用外部时钟。采用外部时钟的电路的情况时,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。AT89S51有强大的I/O口分别是P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P3.7,一共有32个引脚,这32个引脚都可以作为输N输出用,这32个引脚,就构成了AT89S51的4个并行I/O接口,完成数据的传送和控制。本系统控制电路所采用的单片机AT89S51是4
15、0引脚,PDIP封装的集成电路芯片。随着半导体工艺的成熟和生产的工业化,使它的价格越来越低,是经济型系统首选机型,AT89S51具有丰富的I/O口内置定时计数器和中断系统。单片机的引脚分布和功能如下:图2-2-1 AT89S51的PDIP封装图由于工艺及标准化等原因,芯片的引脚数目是有限的。MCS-51系列把芯片引脚数目定为40个,但单片机为实现其功能所需要的信号数目却远远超过这个数。那么如何才能解决这个供需矛盾呢?正像有的人为了增加收入,要做一些兼职工作。单片机也同样如此,当引脚数量有限时,“兼职”是唯一可行的办法,即给其中的一些信号引脚赋以双重功能。对于同一系列中各种型号的单片机,其此脚的
16、基本功能是相同的,所不同的一是引脚的第二功能。有的引脚的第二功能比它的第一功能还有用,有时可以不利嚣用它的基本功能,但是不能没有它的第二功能。缺少了它的第二功能,单片机甚至还不能工作。P0-P3口的基本功能都是作为通用的双向I/O口,它们的第二功能分别如下:P0口:第二功能是在访问外部存储器时,用于分时使用的低8位地直输出和8位数据总线的输入,输出。Pl口:只有在52子系列中,P1.0和1.1具有第二功能在5l子系列中,Pl口就作为通用的I/O口使用。P2口:第二功能是在访问外部存储器时,输出高8位地址。P3口:在51单片机中,P3口的8引脚都具有特定的第二功能,而且都是很重要的功能。单片机各
17、端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当单片机外接RAM或有外部FO口时,它们被用作第二功能,它们就自动充当着传输“写”或“读”信号的作用,不能作为通用I/0口使用,也就是说,只要CPU执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。P3口的第二功能信号都是单片机的重要控制信号。因此在实际使用时,都是按需要选用其第二功能信号,剩下的才以第一功能的身份做数据的I/O使用。在本系统中,我们采用P3口,完成了一系列控制。比如,缺相指示信号,用从P3.0输出,缺相输入信号,从P3.2输入等。本设计采用AT89S51
18、的P3口的部分IO口的第二功能P3.3、RXD、TXD分别于AD9835的FSYNC、SDATA、SCLK连接。2.2.2 AD9835芯片介绍AD9835芯片主要技术指标如下:频率范围:0.1Hz10MHz频率分辨率:0.1Hz频率稳定度:110-7输出幅度:010V可调。AD9835的相位累加器为32位,取其高12位作为读取余弦波形存储器的地址。每一次,时钟使相位累加器的输出也即余弦ROM寻址地址递增频率设定数据,对应的波形相位变化为: P2nK/232 (3) 因此,改变相位累加器设定值K,就可以改变相位值P,从而改变合成信号频率f。经简化,合成信号频率由下式决定: fKfmc/232
19、(4)式中,fmc50MHz,用高稳定度晶体振荡器获得。K值在1K231之间。最低频率为fminfmc/232,根据Nyquist采样定律,重建信号频率最高可达fmc/2,但通常取最高频率为fmaxfmc/3。AD9835的封装图如下图所示: 图2-2-2 AD9835封装图2.3信号发生电路作为系统设计的核心,信号发生电路是由AD9835和单片机构成。其中,AD9835是一款低功耗、可编程波形发生器,最高时钟频率为50MHz。当AD9835的时钟为25MHz时,其输出频率范围为DC 12.5MHz,分辨率是0.00582Hz。AD9835控制灵活方便,采用串行方式加载数据,只需3根单片机端口
20、线即可控制。图2.3为信号发生电路,SCLK、SDATA、FSYNC连接到单片机,接受控制命令。为了保证性能和抗干扰,最好将数字电源DVDD和模拟电源AVDD分开供电。电路布局时,电容应该尽可能地靠近AD9835放置。AD9835输出后进行低通滤波,滤除干扰波后将信号送至D/A转换器TLC7524。AD9835与AT89S51接口图如下所示: 图2-3-1 AT89S51与AD9835接口图AD9835与AT89S51通过3个引脚相连:如上图所示。AT89S51串行口工作在方式0,TXD输出固定频率为fosc的时钟脉冲(fosc为AT89S51外接晶振频率)来驱动AD9835的SCLK, 在该
21、时钟信号的驱动与P3.3的控制下,AD9835接收从AT89S51串行口的RXD发出的命令字节和数据字节。AD9835的FSYNC控制信号由AT89S51可编程控制引脚P3.3提供。在数据从AT89S51串行口发往AD9835时,该引脚程控为低电平。由于AD9835接收的大部分命令和参数为16位,而AT89S51每次只能发送1字节数据,因此FSYNC应在AT89S51串行口连续发送2个字节的过程中保持低电平。AT89S51从串行口输出数据时低位先发出,而AD9835首先接收高位。AD9835接收到的16位数据中,最高4位是命令码,接下来的4位是地址码,低8位是数据码。为了保证AD9835按这个
22、次序接受数据,在软件设计中将要传输的命令码、地址码和数据码逆序编码从AT89S51串行口发出。图2-3-2 信号发生电路波形的输出时间参数是指输出波形中每两点的时间间隔。单片机程序中设定寄存器1、0是定时器、T1是计数器,1、0和T1串联起来使用,满足定时时间要求。当计算出C65 536时,CPU只使用定时器TO;当计算出C65 536时,CPU将把定时器1、0和计数器T1两者结合起来使用,将C开平方后的值给1、0、T1作为初值。8位的DAC0832单位周期输出最多含有256个点,系统的晶振频率fo:25MHz f 0是4位数字组合成的频率值;P为频率小数点对应的值,两者相除就是实际频率值;K
23、(K=1,2,3,4)是分辨率的调整,根据波形频率值,调整一个周期内输出波形的点数。 T0/T1被调用后,开始计数。当定时器1、0计数溢出时,产生中断信号,给P3.5写一个脉冲信号,T1用于记数该脉冲信号,当T1产生中断后,总定时时间到,输出一个点。反复循环,从而可在一个周期内输出完整波形。 2.4低通滤波电路低通滤波器是直接数字频率合成器的重要组成部分,其性能的优劣直接影响整个直接数字合成器的特性。在整个DDS实现过程中,低通滤波器除了滤掉高频信号之外,还有除去杂散的作用。DDS的杂散主要来源以下三个方面: (1)ROM幅度量化误差:相位转化为幅度,是通过寻址ROM实现的,然而ROM地址中存
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 正弦波 信号发生器 设计
