1.2 方案选择与设计
设计任务和要求。
(1) 能产生正弦波、方波和三角波三种周期性低频波形。
(2) 输出信号频率在0Hz-1000Hz范围内可调。
(3) 输出正弦波的电压峰-峰值在0-5V范围内可调。
(4) 输出信号波形无明显失真。
信号发生器的构成一般有以下方法。
方案一:由分立元件构成的函数信号发生器,一般是单函数信号发生器而且其频率不高、工作不太稳定、不容易调试。
方案二:由运放IC、晶体管等器件构成的函数信号发生器[3],则是更多的用专有的信号发生器IC形成。以前的信号发生器IC,如BA205、XR2207/2209、L8038等,其功能比较少,精度不太高,占空和频率比不能独立调节,二者相互影响,频率上限仅达到300kHz,不能产生频率更高的信号源,调节方式亦不灵活。
方案三:直接用专门的数字合成芯片DDS构成的函数信号发生器[4]:能够产生任意函数波形并且频率能够实现高频率,但其成本比较高。
方案四:采用AT89C51单片机和DAC0832芯片,直接连接键盘和显示。该种方案主要对AT89C51单片机的各个I/O口充分利用。P1口是连接键盘以及接显示电路,P2口连接DAC0832输出波形。这样总体来说,能对单片机各个接口都利用上,而不在多用其它芯片,从而减小了系统的成本。也对按照系统便携式低频信号发生器的要求所完成。占用空间小,使用芯片少,低功耗。
综合考虑,方案四各项性能和指标都优于其他几种方案,能使输出频率有较好的稳定性,充分体现了模块化设计的要求,而且这些芯片及器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案四。
1.3 设计原理简介
该函数信号发生器原理框图如图1所示。
图1 原理框图
总体原理为:利用AT89C51单片机构造低频信号发生器,可产生正弦波、方波、三角波、锯齿波四种波形,通过C语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的波形信息。
本方案其主要模块包括复位电路、时钟信号、键盘控制、D/A转化及LED 显示。其各个模块的工作原理如下。
(1) 键盘模块是用于控制信号输入的类型频率,当按键按下时,可以通过单片机编程读取闭合的键号,实现相应的信号输出。其步骤主要是:(a)判断是否有键按下;(b)去抖动,延时100ms左右;(c)识别被按下的键号;(d)处理,实现功能。
(2) 复位电路[5]是为单片机复位使用,使单片机接口初始化AT89C51等CMOS51 系列单片机的复位引脚RET是施密特触发输入脚,内部有一个上拉低电阻,当振荡器起振以后,在RST引脚上输出2个机械周期以上的高电平,器件便进入复位状态开始,此时ALE、PSEN、P0、P1、P2、P4 输出高电平,RST上输入返回低电平以后,便退出复位状态开始工作。该方案采用的是人工开关复位,在系统运行时,按一下开关就在RST端出现一段高电平,使器件复位。
(3) D/A 转换也称为数模转换,是把数字量变换成模拟量的线性电路。单片机产生的数字信号通过DAC0832转化成模拟信号,输出相应的电流值,通过LM358集成运算放大器可以取出模拟量的电压值,最后利用示波器获得输出的模拟信号的波形,衡量数模转换的性能指标有分辨率、转换时间、精度、线性度等。 51单片机函数信号发生器的设计+源码+电路图(3):http://www.751com.cn/tongxin/lunwen_335.html