欢迎来到天天文库
浏览记录
ID:463581
大小:380.45 KB
页数:37页
时间:2017-08-05
《基于单片机的信号发生器设计【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
本科毕业论文系列开题报告电气工程及其自动化基于单片机的信号发生器设计一、课题研究意义及现状信号发生器作为集成电路的基本模拟单元,被广泛应用于信号处理系统和各种便携式设备中。振荡器作为信号发生电路的核心,各种结构层出不穷,但大多采用复杂的结构来实现幅度和频率的稳定。这不仅增加了系统的复杂度,同时也增加了芯片面积。而且在电路调试、教学实验和产品开发等领域,信号发生器被广泛用作测量仪器的信号源,为开发和测试提供输入信号。现在人们都运用DDS(直接数字合成)技术、FPGA技术(现场可编程门阵列技术),单片机等来实现信号发生器的一些功能。在用单片机来实现信号发生器的一些功能方面。如805lF330的音频信号发生器的系统结构。它主要由805lF330单片机、MMC、SD卡存储器、RS232串行通信接口、上位机、液晶显示、键盘以及信号调理电路等部分组成。将写入MMC、SD卡中的音频数据存储在上位机.单片机通过RS232串行通信接口写入MMC、SD卡,以中断方式读取键盘接口命令。并根据命令控制选择相应的音频信号数据.再由信号调理电路输出不同频率和强度的音频信号。系统通过液晶显示模块显示信号频率、信号强度及信号类型。该系统突出的特点是上位机采用Inbwindam,CVI软件,通过RS232串行通信接口与单片机通讯:以文本格式存储在上位机的音频信息则通过RS232串行通信接口下载到MMC、SD卡。而且用单片机来实现的正弦信号发生器也很有发展前景的,它主要由集成压控振荡ICL8038构成的函数信号源电路,它是一种可以同时输出方波、三角波和正弦波的专用集成电路,常用作多波形发生器、模拟信号源等,本文用集成函数发生器ICL8038联结少量外部元件组成扫频信号发生器。扫频信号发生器是一种输出信号的频率随时间在一定范围内反复变化的正弦信号发生器,他是频率特性测试仪即扫频仪的核心,主要用于直接测量各种网络的频率响应特性。二、课题研究的主要内容和预期目标主要利用单片机设计并制作一个信号发生器。要求达到以下性能指标: a.产生三角波、方波和正弦波;b.频率范围:1Hz~1MHz;c.输出幅度的峰峰值为Vp-p=10V;d.正弦波非线性失真小于1%;e.具有频率的数字显示功能,分辨率为1Hz。三、课题研究的方法及措施函数信号发生器由单片机控制单元、DDS芯片AD9850、分频单元、波形整形单元、显示单元等组成,其组成如下图。工作原理如下:首先,从键盘输入一频率值,由单片机AT89S51控制单元进行运算处理,利用AD9850芯片产生1Hz~1MHz范围的频率,然后通过AT89S51单片机再通过整形放大电路和LCD1602液晶显示,可以输出幅度峰峰值为10V的波形,要求正弦波的非线性失真小于1%,具有频率的数字显示功能,分辨率在1HZ。同时,通过整形放大电路,可以把整形波变成三角波或方波输出,并在LCD1602液晶上显示。AD9850芯片整形放大键盘输入LCD1602显示单片机AT89S51信号输出四、课题研究进度计划毕业设计期限:自2010年10月18日至2011年4月22日。2010年10月18日至2010年11月21日:分析任务,收集资料,系统总体方案设计。完成文献综述,外文翻译,开题报告。2010年11月22日至2011年12月5日:主模块的选择,时钟电路,复位电路,DDS芯片AD9850与单片机的连接,LCD1602、键盘与单片机的连接。2010年12月6日至2011年12月30日:软件设计,系统联调。2011年1月1日至2011年1月21日:设计与写论文。2011年2月22日至2011年4月1日:设计作品完善,论文修改。 2011年4月4日至2011年4月15日:准备答辩,答辩资料审查。五、主要参考文献:[1]黄立新.基于单片机控制的数字函数信号发生器的设计与实现[J].科学技术与工程,2009,6:3278-3282.[2]韩叶祥等.基于MAX038的程控函数信号发生器的设计[J].电子元器件应用,2008,5:22-25.[3]李岁劳等.基于C8051单片机信号发生器设计与应用[J].微计算机信息,2009,25:89-91.[4]胡必武等.基于ARM及FPGA实现的嵌入式触摸屏任意信号发生器[J].仪表技术及传感器,2008,3:62-65.[5]张庆顺等.基于单片机与DDS的多功能正弦信号发生器设计[J].仪器仪表学报,2008,4:215-218.[6]王本有,汪德如,苏守宝.基于FPGA的DDS信号发生器系统的设计[J].电子技术,2008,45:40-42.[7]姚益武,袁秋晨,王筱萌,张琬菁,江丹.基于FPGA的正弦信号发生器设计[J].微型机与应用,2010,12:87-89.[8]刘杰,牛燕雄,董伟,司宾强,刘佳栋.基于FPGA的视频信号发生器设计与应用研究[J].仪器仪表学,2008,3:655-657.[9]宁敏东,宁宁,王松德,张栓记.模.数.差信号发生器的设计与实现[J].半导体技术,2010,7:630-633.[10]周云波.ICL8038扫频信号发生器[J].现代电子技术,2003,17:37-40.[11]胡聪权,石军广,黄亚丽.ICL8038在中频电源满功率输出启动控制中的应用[J].电力电子技术,2006,4:41-43.[12]Scott.UnitedStatesPatent[J].1981,11:4283168. 毕业论文文献综述电气工程及自动化信号发生器的综述摘要:本文通过介绍信号发生器在国内外的研究状况,介绍了用单片机、DDS和FPGA技术、AD9850芯片等来实现信号发生器的功能。关键词:FPGA;正弦模拟发生器;单片机;波形发生器;ICL8038课程背景信号发生器作为集成电路的基本模拟单元,被广泛应用于信号处理系统和各种便携式设备中。振荡器作为信号发生电路的核心,各种结构层出不穷,但大多采用复杂的结构来实现幅度和频率的稳定。这不仅增加了系统的复杂度,同时也增加了芯片面积[1]。而且在电路调试、教学实验和产品开发等领域,信号发生器被广泛用作测量仪器的信号源,为开发和测试提供输入信号[2]。研究现状目前市场上常见的信号发生器及相关资料基本都是以DDS(直接数字合成)技术为基础,它是一种新的频率合成方法,它的发明和使用是信号频率合成领域里的二次革命,是信号发生器研究的一个重要方向。DDS技术的基本原理是利用采样定理,通过查表法产生波形。它首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后再通过查找表将数据读出,经过D/A转换器转换成模拟量,把存入的波形重新合成出来。对每一个时钟脉冲,N位加法器将频率控制字FSW与累加寄存器输出的累加相位数据相加,把相加后的结果送至相位累加寄存器的输入端。相位累加寄存器一方面将上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制字FSW相加,另一方面将这个值作为取样地址值送入幅度/相位转换电路,幅度/相位转换电路根据这个地址值输出相应的波形数据。最后经数/模转换和低通滤波器将波形数据转换成所需要的模拟波形[3-4]。还有就是目前的FPGA技术-现场可编程门阵列技术,它是二十年前出现,而在近几年快速发展的可编程逻辑器件技术。这种基于EDA技术的芯片正在成为电子系统设计的主流。大规模可编程逻辑器件FPGA是当今应用最广泛的可编程专用集成电路(ASIC )。设计人员利用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成本。此外,FPGA还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。因此,FPGA技术的应用前景非常广阔[5-6]。当然现今的A/D信号发生器也是很有发展前景的,单片机控制AD9850芯片接口电路部分:因为要实现1Hz~10MHz的频率范围,传统的DAC0832芯片无法实现。所以D/A芯片选用由AD公司生产的AD9850,它具有编程控制简单、接口简单、小型化等优点。它是最高时钟为125MHz,结合一个片内高速、高性能DAC和比较器构成一个完全数字控制可编程频率合成器,并具有时钟产生功能的高集成度芯片。AD9850芯片的工作电压为3.3-5.0V,可与AT89C51单片机直接接口。波形整形及放大电路部分:由于经AD9850及外接运算放大器输出波形仍然不够平滑,还有AD9850进行D/A转换时上升沿,因此必须对输出波形进行整形以满足我们实验要求。波形整形芯片选用MAX4624,它是MAXIM公司生产低开路电阻。要得到满足实验要求波形,还必须通过AD9850输出端接运算放大器来实现。为了与AD9850较高转率换速相匹配,这里选用NationalSemiconductor公司生产LF357运算放大器与之配合使用,LF357具有高转换速率。为得到较大功率脉冲信号,还必须对第二级放大后输出信号进行电流放大,同时为满足实验时对不同功率脉冲信号要求,将第二级放大增益设计为可调。范围内反复变化的正弦信号发生器,他是频率特性测试仪即扫频仪的核心,主要用于直接测量各种网络的频率响应特性[7-9]。另外,波形发生器也作为一种很好的发生器被人们使用,它所说的信号发生器是一种常用的信号源,广泛应用于通信,雷达,测控,电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备,和示波器、电压表、频率计等仪器一样是最普通、最基本也是应用最广泛的电子仪器之一,几乎所有电参量的测量都要用到波形发生器[10-12]。在用单片机来实现信号发生器的一些功能方面。如805lF330的音频信号发生器的系统结构。它主要由805lF330单片机、MMC、SD卡存储器、RS232串行通信接口、上位机、液晶显示、键盘以及信号调理电路等部分组成。将写入MMC、SD卡中的音频数据存储在上位机。单片机通过RS232串行通信接口写入MMC、SD卡。以中断方式读取键盘接口命令,并根据命令控制选择相应的音频信号数据,再由信号调理电路输出不同频率和强度的音频信号。系统通过液晶显示模块显示信号频率、信号强度及信号类型。该系统突出的特点是上位机采用Inbwindam,CVI软件,通过RS232串行通信接口与单片机通讯:以文本格式存储在上位机的音频信息则通过RS232串行通信接口下载到MMC、SD卡[13-15]。 总结与展望信号发生器已有很长一段时间的发展,如FPGA(可编程逻辑器件技术)、DDS技术、波形发生器和单片机芯片来实现它的一些功能,而且技术也比较成熟,给人们带来很大的效益和方便,我相信随着科学发展的不断进步,研究力度的不断加深,信号发生器将在更多的领域会得到运用。参考文献[1]胡夏融,刘伦才,黄文刚.一种幅频稳定的正弦信号发生器[J].微电子学,2009,5:616-618.[2]王小立,李莹,张一工.一种基于PWM原理的多路信号发生器[J].继电器,2007,9:42-55.[3]余勇,郑小林.基于FPGA的DDS正弦信号发生器的设计和实现[J].电子器件,2005,3:597-599.[4]王本有,汪德如,苏守宝.基于FPGA的DDS信号发生器系统的设计[J].电子技术,2008,45:40-42.[5]姚益武,袁秋晨,王筱萌,张琬菁,江丹.基于FPGA的正弦信号发生器设计[J].微型机与应用,2010,12:87-89.[6]刘杰,牛燕雄,董伟,司宾强,刘佳栋.基于FPGA的视频信号发生器设计与应用研究[J].仪器仪表学,2008,3:655-657.[7]宁敏东,宁宁,王松德,张栓记.模.数.差信号发生器的设计与实现[J].半导体技术,2010,7:630-633.[8]周云波.ICL8038扫频信号发生器[J].现代电子技术,2003,17:37-40.[9]胡聪权,石军广,黄亚丽.ICL8038在中频电源满功率输出启动控制中的应用[J].电力电子技术,2006,4:41-43.[10]沈伟,王军政,汪首坤,张宇河.基于存储扫描方式的任意波形信号发生器卡的设计[J].北京理工学报,2005,3:217-220.[11]石书祝,赵正予,李婷,陈罡.武汉电离层斜向返回探测系统波形发生器设计[J].深圳大学学报,2009,4:417-430.[12]黄小翰.基于FPGA的多功能波形发生器的设计[J].价值工程,2010,9:233-236.[13]何万库,李会江.基于DDS的8051F330音信号发生器[J].国外电子元器件,2008,10: 333-335.[14]王瑜,郝迎吉,呼靳宏.基于8051F330的音频信号发生器的设计与实现[J].国外电子元器件,2007,10:43-46.[15]杨萍,兀旦晖,杨良煜.DDS技术在正弦信号发生器中的应用[J].计算机测量与控制,2008,11:332-335. 毕业设计(20__届)基于单片机的信号发生器设计 摘要信号发生器作为集成电路的基本模拟单元,被广泛应用于信号处理系统和各种便携式设备中。振荡器作为信号发生电路的核心,各种结构层出不穷,但大多采用复杂的结构来实现幅度和频率的稳定。这不仅增加了系统的复杂度,同时也增加了芯片面积。而且在电路调试、教学实验和产品开发等领域,信号发生器被广泛用作测量仪器的信号源,为开发和测试提供输入信号。现在人们都运用DDS(直接数字合成)技术、FPGA技术、单片机来实现信号发生器的一些功能。本系统是以AT89S51单片机作为主控模块,并用到了DDS芯片AD9850、4*4键盘输入模块、LCD1602液晶显示模块。利用AD9850芯片产生要求的频率,然后通过AT89S51单片机再通过整形放大电路,在LCD1602液晶屏上显示出波形,要求正弦波的非线性失真小于1%,具有频率的数字显示功能,分辨率在1Hz。同时,通过整形放大电路,可以把整形波变成三角波或方波输出,做到一个系统可以同时做到输出正弦波、方波和三角波。本系统硬件设计合理、结构简单、成本低,程序简单,效率高。关键词:信号发生器;AT89S51;AD9850;LCD1602 AbstractSignalgeneratorasthebasicintegratedsimulationcircuit,iswidelyusedinsignalprocessingsystemandvariousportabledevices.Oscillatorasasignalgeneratorcore,variousstructuresemergeinendlessly,butmostlyusingcomplexstructuretoachieveamplitudeandfrequencystability.Thisnotonlyincreasedthecomplexityofthesystem,alsoincreasedachiparea.Andinthefieldsofcircuitdebugging,experimentalteachingandproductdevelopment,signalgeneratoriswidelyusedformeasuringinstrumentforthesource,developmentandtestprovidesinputsignal.Nowpeopleareusingdirectdigitalsynthesis(DDS)technology,FPGAtechnologyandmicrocontrollertoachievesomefunctionsofsignalgenerator.ThesystemisbasedonAT89S51whichworkasthemastermodule,andDDSchipAD9850,4*4keyboardinputmodule,LCDmoduleLCD1602.SignalgeneratordesignisusingtheratethatproducedbytheAD9850chip,thenthroughtheAT89S51andplasticmagnifyingcircuit,lastlyshownonthewaveformin1602LCDscreen.Itrequiresthatthenonlineardistortionsinusoidalislessthan1%,withratedigitaldisplayfunction,theresolutionin1HZ.Meanwhile,throughtheplasticmagnifyingcircuit,itcanputplasticwaveintoatrianglewaveorsquarewavetooutput.Itisasystemthatoutputsinewave,square-waveanddeltawavesatthesametime.Thissystem’shardwareisreasonabledesign,simplestructure,lowcost,simpleprogramandhighefficiency.Keywords:SignalGenerator;AT89S51;AD9850;LCD1602 目录1 引言12 总体设计22.1方案论证及比较22.1.1主控模块的选择22.1.2信号发生模块22.1.3显示模块的选择32.2系统的总体设计方案33 硬件设计53.1单片机主控模块53.1.1时钟电路53.1.2复位电路53.2信号发生模块AD985063.2.1AD9850性能63.2.2AD9850的控制字与控制时序63.2.3AD9850的外部引脚及功能73.2.4AD9850与单片机连接图83.2.5AD9850与低通滤波器连接图93.3显示模块103.3.1LCD1602简介103.3.2LCD1602与单片机的连接图113.4键盘输入模块124 软件设计134.1DDS基本原理134.2总体程序流程图134.3LCD1602控制指令154.4键盘功能实现模块164.4.1键盘功能流程图164.4.2按键选择控制函数174.4.3键盘按键读取、消抖185 制作和调试195.1测试仪器195.2硬件调试195.3软件调试196 结论20致谢21附录1实验原理图23 附录2程序代码24 1 引言信号发生器作为集成电路的基本模拟单元,被广泛应用于信号处理系统和各种便携式设备中。振荡器作为信号发生电路的核心,各种结构层出不穷,但大多采用复杂的结构来实现幅度和频率的稳定。这不仅增加了系统的复杂度,同时也增加了芯片面积。而且在电路调试、教学实验和产品开发等领域,信号发生器被广泛用作测量仪器的信号源,为开发和测试提供输入信号。现在人们都运用DDS(直接数字合成)技术、FPGA技术、单片机等来实现信号发生器的一些功能[1]。目前市场上常见的信号发生器及相关资料基本都是以DDS(直接数字合成)技术为基础,它是一种新的频率合成方法,它的发明和使用是信号频率合成领域里的二次革命,是信号发生器研究的一个重要方向。DDS技术的基本原理是利用采样定理,通过查表法产生波形。它首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后再通过查找表将数据读出,经过D/A转换器转换成模拟量,把存入的波形重新合成出来。对每一个时钟脉冲,N位加法器将频率控制字FSW与累加寄存器输出的累加相位数据相加,把相加后的结果送至相位累加寄存器的输入端。相位累加寄存器一方面将上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制字FSW相加,另一方面将这个值作为取样地址值送入幅度/相位转换电路,幅度/相位转换电路根据这个地址值输出相应的波形数据。最后经数/模转换和低通滤波器将波形数据转换成所需要的模拟波形[2]。本次设计的是基于51单片机的信号发生器,其外设电路简单。它采用编程的方法来实现波形,将产生波形的程序用子程序的形式编写,在需要波形时再调用相应子程序,运算放大器处理后,作为该信号源输出,其线路简捷、功能强大、性价比较高,具有一定的使用价值。 2 总体设计2.1方案论证及比较2.1.1主控模块的选择主控模块作为整个系统的控制核心,其性能的好坏对系统工作的影响是非常重要的,经过资料翻阅:方案一:以单片机AT89S51为核心,AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,运用于很多方面,如用它来控制DDS的芯片的信号发生器[3]。方案二:目前FPGA技术已经远远超出了先前版本并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。FPGA内部有丰富的触发器和I/O引脚。它是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。也可用它来做信号发生器的主模块[4]。相比较,此实验需要高精度,非易失性等功能,而且单片机操作简单,所以选择方案一,用单片机作为主控模块。2.1.2信号发生模块方案一:DDS芯片AD9850的特点是频率切换时间短,频率分辨率高,相位变化连续具有低相位,噪声和低漂移易于集成、易于调整。而且它的外设电路并不复杂,可用编程的方法来产生波形,而且DDS技术已被广泛应用于雷达、通信、电子对抗和仪器仪表和信号发生器等领域[5]。 方案二:采用D/A转换芯片结构简单、原理清楚转换速度慢、精度低,在需要波形时再调用相应子程序,经过D/A转换、运算放大器处理后,作为该信号源输出,其线路简捷、功能强大、性价比较高,而且你频率要求并不能达到实验所要求的系数,故不采用[6]。综上所述,选择方案一。2.1.3显示模块的选择显示部分是用来显示要的信息,根据调查,显示部分基本上只用两种显示器。方案一:采用数码管显示。数码管亮度高、体积小,但是由于端口比较多接线比较麻烦,操作复杂易错。方案二:采用液晶LCD1602显示。液晶显示功耗低,轻便防震,没有电磁辐射,不闪烁,不伤眼,可视面积大,而且具有多种接口,方便连接,而且性价比也不错,是作为显示模块的一个极佳选择。综上所述,选择方案二。2.2系统的总体设计方案本系统结构框图如图2-1所示。它以AT89S51单片机作为主控模块,并用到了DDS芯片AD9850、4*4键盘输入模块、LCD1602液晶显示模块。信号发生器的设计,利用AD9850芯片产生要求的频率,然后通过AT89S51单片机再通过整形放大电路,在LCD1602液晶屏上显示出波形,要求正弦波的非线性失真小于1%,具有频率的数字显示功能,分辨率在1Hz。同时,通过整形放大电路,可以把整形波变成三角波或方波输出,做到一个系统可以同时做到输出正弦波、方波和三角波。 AD9850芯片整形放大键盘输入LCD1602显示单片机AT89S51信号输出图2-1系统结构框图 3 硬件设计本系统采用了单片机AT89S51芯片,信号发生模块AD8950,液晶屏LCD1602以及4*4矩阵键盘。3.1单片机主控模块3.1.1时钟电路时钟电路是为单片机提供精确定时的内置电路,主要用于计时、通讯时钟发生器、时间中断源等等。如图3-1,外接晶振时,C1、C2的值通常选择为30pF左右;C1、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2MHz~12MHz之间选择。图3-1单片机时钟电路图3.1.2复位电路在上电或复位过程中,控制MCU的复位状态:在这段时间内让MCU保持复位状态,而不是一上电或刚复位完毕就工作,防止MCU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 图3-2单片机复位电路图3.2信号发生模块AD98503.2.1AD9850性能AD9850分为可编程序DDS系统、高性能数/模变换器(DAC)和高速比较器三部分,其中可编程DDS系统包含输入寄存器、数据寄存器和高速DDS三部分。高速DDS包括相位累加器和正弦查找表,其中相位累加器由一个加法器和一个32位相位寄存器组成,相位寄存器的输出与一个5位的外部相位控制字相加后作为正弦查找表的地址。正弦查找表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0~360范围的一个相位点。查找表输出后驱动10b的DAC转换器,输出两个互补的电流,其幅度可通过外接电阻Rset来调节,输出电流可由Iset=32(1.248V/Rset)来计算,Rset的典型值为3.9kΩ。输出信号经过外部的一个低通滤波器后接到AD9850内部自带的高速比较器,即可产生一个与正弦波同频率且抖动很小的方波[7]。3.2.2AD9850的控制字与控制时序AD9850有40位控制字,32位用于频率控制,5位用于相位控制。1位用于电源休眠(Powerdown)控制,2位用于选择工作方式。这40位控制字可通过并行或串行方式输入到AD9850,在并行装入方式中,通过8位总线A0…D7将可数据输入到寄存器,在重复5次之后再在FQ-UD上升沿把40位数据从输入寄存器装入到频率/相位数据寄存器(更新DDS输出频率和相位),同时把地址指针复位到第一个输入寄存器。接着在W-CLK的上升沿装入8位数据,并把指针指向 下一个输入寄存器,连续5个W-CLK上升沿后,W-CLK的边沿就不再起作用,直到复位信号或FQ-UD上升沿把地址指针复位到第一个寄存器。在串行输入方式,W-CLK上升沿把25引脚的一位数据串行移入,当移动40位后,用一个FQ-UD脉冲即可更新输出频率和相位[8]。图3-3控制字串行输入时序图3.2.3AD9850的外部引脚及功能AD9850采用了先进的CMOS工艺,支持5V和3.3V两种供电电压,在3.3V供电时功耗仅为155mW,扩展工业级温度为-40~+80℃。支持并行或串行输入控制接口形式,最大支持时钟频率为125MHz,此时输出的频率分辨率达0.0291Hz。采用28脚SSOP表面封装形式,其管脚功能如图3-3所示。AD9850的引脚功能如下:lD0-D7:控制字并行输入,其中D7可做串行输入。lDGND:数字地。lDVDD:为内部数字电路提供电源。lW_CLK:控制字加载时钟,用于加载并行/串行的频率/相位控制字。lFQ_UD:频率更新控制,在上升沿依寄存更新频率。lLCLKN:外部晶振的输入端,最大值为125MHZ。lAGND:模拟地。lAVDD:为内部模拟电路提供电源。lRset:外部复位连接端。 lVINN:内部比较器的负向输入端。lVINP:内部比较器的正向输入端。lDACBP:DAC旁路连接端。lIOUTB:“互补”DAC输出。lIOUT:内部DAC输出端。lRESET:复位端。低电平清除DDS累加器和相位延迟器为0HZ和0相位,同时置数据输入为串行模式以及禁止6倍参考时钟倍乘器工作[9]。图3-4AD9850芯片管脚功能图3.2.4AD9850与单片机连接图AD9850控制字的写入方式有串行和并行两种。并行写入方式的优点是数据传输的速度快,能够提升整个系统的处理速度,但占用的单片机的I/O口资源太多。与并行方式相比,串行写入方式在数据传输的速度上要慢些[10]。所以,本系统采用单片机作为控制核心,通过并行写入控制字的方式控制AD9850芯片,加上键盘和LCD显示部分等外围电路,构成整个系统电路。为了详细介绍AD9850的用法,这里重点给出本系统中单片机与AD9850芯片连接电路,如图3-4所示,单片机晶振选用12MHz,电容采用30pF经典值。它的高电平时间能够满足AD9850复位要求,故可将AD9850的复位端与单片机的复位端直接相连。 图3-5AD9850与单片机的连接图3.2.5AD9850与低通滤波器连接图低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss滤波器、平滑数据的数字算法、音障(acousticbarriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。它让某一频率以下的信号分量通过,而对该频率以上的信号分量大大抑制的电容、电感与电阻等器件的组合装置。在这里就是利用它通过1Hz-1MHz的频率段的波,从而来形成正弦波、方波与三角波。 图3-6AD9850与低通滤波器的连接图3.3显示模块3.3.1LCD1602简介LCD1602是工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。它的引脚功能如下:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。第6脚:E(或EN)端为使能(enable)端。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极[11]。3.3.2LCD1602与单片机的连接图LCD1602与单片机的连接图如图3-4所示。单片机的P0.0-P0.7口分别与LCD1602上的D0-D7口相连,E口与P2.0连接,RW口于P2.1相连,RS与P2.2连接。图3-7LCD1602与单片机的连接图 3.4键盘输入模块矩阵键盘又称为行列式键盘,它用4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中的个数是4*4个。这种行列式键盘结构能够有效地提高单片机中I/O口的利用率。图3-8矩阵键盘 4 软件设计4.1DDS基本原理AD9850的DDS系统包括相位累加器和正弦查找表,其中相位累加器由一个加法器和一个32位相位寄存器组成,相位寄存器的输出与外部相位控制字5位相加后作为正弦查找表的地址。每到来一个外部参考时钟,相位寄存器便以步长M递加。相位寄存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0°~360°范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号,然后驱动DAC以输出模式量,输出2个互补的电流,其幅度可通过外接电阻R进行调节。相位寄存器每过64/M个外部参考时钟后返回到初始状态一次,相位正弦查询表每经过一个循环也回到初始位置,从而使整个DDS系统输出一个正弦波。输出的正弦波周期T=T64/M,频率f=Mf/64,T、f分别为外部参考时钟的周期和频率[12]。AD9850还包括一个高速比较器,将DA变换器的输出经外部低通滤波器后接到此比较器上由ANALOGIN引入,即可产生一个抖动很小的方波,这使得AD9850可以方便地用作时钟发生器。4.2总体程序流程图程序开始后,运行初始化程序,包括初始化单片机AT89S51、初始化AD9850、初始化液晶显示模块等。然后扫描键盘状态,检查到有键按下就运行键值处理程序,对按键值进行查表处理,然后执行相应的子程序。输入的信号相关信息通过运行液晶显示程序,在LCD上显示正确的输入数据和提示字符。在按下执行键后AT89S51计算出所需信号的数据或控制命令,将其传送到AD9850,输出最终信号。接下来返回主程序,继续扫描键盘,等待下一次命令的输入。 图4-1总程序流程图 4.3LCD1602控制指令LCD1602液晶模块内部的控制器共有11条控制指令,如表4-1所示。表4-1LCD1602控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存储器地址0001字符发生存储地址8置数据存储地址001显示数据存储地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容LCD1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示。F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。 指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。LCD1602显示子程序流程图如图4-3所示。图4-3LCD1602显示子程序流程图4.4键盘功能实现模块4.4.1键盘功能流程图 图4-4按键模块流程图4.4.2按键选择控制函数voidkey_choose(void){key_read=read_key();//读取键值while(read_key()==key_read);//判断键值switch(key_read)//通过键值选择函数{case7:time0++;break;//选择、读取后跳出case11:key1_control();//count+=10;break;case13:time2++;break; default:;break;//默认跳出}}通过键盘扫描,得到输入的按键值,再利用按键所获得的值传送给AT89S51单片机,然后利用单片机对产生的波形,幅度,频率进行控制,得到使用者需要的符合要求的波形。4.4.3键盘按键读取、消抖具体程序如下:ucharread_key(){uchartempkey,tempnew;//定义函数tempkey=read();if(tempkey!=0x0f){delay(25);//延时25mstempnew=read();if(tempnew==tempkey)//判断給值{returntempkey;//返回读取的键值}else{;}//循环读值}为了更加人性化,再按键时做了消除抖动的软件设计。能够保证一次按键得到的只有一个数值输入,而不会按机器的读取速度获取数值。 5 制作和调试5.1测试仪器和软件万用表、示波器、调试软件KeilC。5.2硬件调试1、硬件调试时,可先检查印制板及焊接的质量是否符合要求,有无虚焊点及线路有无短路、断路。然后用万用表测试或通电检测,检查无误后,可通电检查显示管亮度情况,如果不够亮可外接电阻增强其亮度。2、与单片机连接的电路比较复杂,上电前最后先检查下电源及各管脚是否接好,与单片机的管脚是否接错。5.3软件调试首先要调试AT89S51芯片的是否能驱动,在这之前要将其进行初始化,通过调用其子程序调试该芯片是否可以工作;如果调试成功再将程序加进去,初始化后,经过AD9850芯片进行频率调整和功率放大或减小后,在经过整形分频后输出波形,这样整个系统设计部分就完成了。显示部分,虽然在显示上没有出现问题,但因为采用了while(1)死循环语句,使得程序无法跳出按键6,也曾使用for()语句,但出现频率只有一秒闪过的情况。 6 结论本设计方案按照任务书的要求,通过坚持不懈的努力终于基本上完成了信号发生器的软硬件的设计。但在程序设计过程中却困难重重,由于是在大一学习过C语言的设计和大二学习单片机,到大四已经基本上忘得差不多了,设计起来十分的困难,但通过翻阅书籍及请教导师,设计终于得以完成。但正因为这些困难,让我觉得这大学四年的学习是有价值的,没有白白浪费掉。在这次设计过程中,我复习了很多曾经学习过的专业知识,能将这些知识应用于实践觉得无比的欣慰。这次的课题设计涉及了有关Protel99的制图过程。以前上课对于这些软件的应用也只是跟着老师一步一步的操作,自己完全没有加以思考,现在到了自己设计才知道对于该软件应用的生疏,后悔当初的半知半解,只好找些相应的书籍进行能够自学。经过一番的努力,基本操作终于可以运用自如。之后关于芯片的操作,虽然查阅了很多的资料,但真正应用到实际的时候却不知所措,幸好老师细心指导,慢慢地对该芯片的应用有了深入的认识和理解。然后针对该资料进行细心研究,设计了最终的方案。在本次课题设计中,遇到了很多的问题,通过这些问题反映了我至今所存在的不足之处,还有待在今后的工作学习过程中不断的改正,进步。 参考文献[1]黄立新.基于单片机控制的数字函数信号发生器的设计与实现[J].科学技术与工程,2009,6:3278-3282.[2]韩叶祥等.基于MAX038的程控函数信号发生器的设计[J].电子元器件应用,2008,5:22-25.[3]李岁劳等.基于C8051单片机信号发生器设计与应用[J].微计算机信息,2009,25:89-91.[4]胡必武等.基于ARM及FPGA实现的嵌入式触摸屏任意信号发生器[J].仪表技术及传感器,2008,3:62-65.[5]张庆顺等.基于单片机与DDS的多功能正弦信号发生器设计[J].仪器仪表学报,2008,4:215-218.[6]王本有,汪德如,苏守宝.基于FPGA的DDS信号发生器系统的设计[J].电子技术,2008,45:40-42.[7]姚益武,袁秋晨,王筱萌,张琬菁,江丹.基于FPGA的正弦信号发生器设计[J].微型机与应用,2010,12:87-89.[8]刘杰,牛燕雄,董伟,司宾强,刘佳栋.基于FPGA的视频信号发生器设计与应用研究[J].仪器仪表学,2008,3:655-657.[9]宁敏东,宁宁,王松德,张栓记.模.数.差信号发生器的设计与实现[J].半导体技术,2010,7:630-633.[10]周云波.ICL8038扫频信号发生器[J].现代电子技术,2003,17:37-40.[11]胡聪权,石军广,黄亚丽.ICL8038在中频电源满功率输出启动控制中的应用[J].电力电子技术,2006,4:41-43.[12]Scott.UnitedStatesPatent[J].1981,11:4283168. 附录1实验原理图 附录2程序代码// 程序 ////---------------------------------------------------//#include#include#include//***************************************************//// ad9850复位(并口模式) ////---------------------------------------------------//voidad9850_reset(){ad9850_w_clk=0;ad9850_fq_up=0;//rest信号ad9850_rest=0;ad9850_rest=1;ad9850_rest=0;}voidad9850_wr_parrel(unsignedcharw0,doublefrequence){unsignedcharw;longinty;doublex;//计算频率的HEX值x=4294967295/40;//适合40M晶振//如果时钟频率不为40MHZ,修改该处的频率值,单位MHz!!!frequence=frequence/1000000;frequence=frequence*x; y=frequence;//写w0数据w=w0;P1=w;//w0ad9850_w_clk=1;ad9850_w_clk=0;//写w1数据w=(y>>24);P1=w;//w1ad9850_w_clk=1;ad9850_w_clk=0;//写w2数据w=(y>>16);P1=w;//w2ad9850_w_clk=1;ad9850_w_clk=0;//写w3数据w=(y>>8);P1=w;//w3ad9850_w_clk=1;ad9850_w_clk=0;//写w4数据w=(y>>=0);P1=w;//w4ad9850_w_clk=1;ad9850_w_clk=0;//移入始能ad9850_fq_up=1;ad9850_fq_up=0;} main(){P0=0x00;P1=0x00;P2=0x00;P3=0x00;//---------------------------------------------------////并行写1000Hz程序ad9850_reset();ad9850_wr_parrel(0x00,1000);//---------------------------------------------------//while(1);}
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处