智能信号函数发生器的设计与实现_第1页
智能信号函数发生器的设计与实现_第2页
智能信号函数发生器的设计与实现_第3页
智能信号函数发生器的设计与实现_第4页
全文预览已结束

付费下载

下载本文档

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

文档简介

智能信号函数发生器的设计与实现

1成智能信号函数发生器电子技术的发展在智能仪表和外部监控等方面取得了广泛应用。幅值、波形和频率、可调的智能信号发生器经常要用在各种科学技术领域和工程实践中,因此我们用单片机和支持软件及其外设电路构成智能信号函数发生器。它采用编程的方法来实现三角波、锯齿波、矩形波、正弦波以及其他函数波形等。用户可根据自己的需要,将要输出的波形和频率的编辑程序写入单片机的程序存储器中,在需要某种波形时再调用其相应的子程序,经数模转换、运算放大器处理后,作为该信号源的输出。这种信号源的频率改变十分方便,而且线路简单,调试和修理简捷,功能强大,性能价格比较高,根据波形的不同要求只要改变相应的程序,而不需要花费大量的时间来改装电路就可以产生较复杂信号。并且可通过外置按键或键盘来设定所需要产生信号源的种类和频率,还可接入显示部件,显示出波形的相关信息。2显示电路:n该智能信号发生器以AT89C52为核心,其外围电路过程包括,时钟电路、复位电路,8255A扩展电路、键盘输入电路,LED显示模块,D/A转换电路等。工作过程为:打开电源开始工作,按复位键复位,输入所需波形,经CPU产生相应的波形和频率数据,D/A转换器DAC0832把这些数据转换成模拟量输出。2.1fpga热容量的电路设计由于系统控制方案不太复杂,数据量也不太大,我们选用AT89C52作为控制系统的核心,AT89C52是ATMEL公司的8位Flash单片机系列,这个系列单片机的最大特点是在片内含有Flash存储器,在应用中有广泛的前景和用途,特别是在便携式,省电及特殊信息保存的仪器和系统中显得更为有用。足以满足我们的要求:其晶振频率采用11.059MHz,复位电路采用按键电平复位。单片机通过P1口连接8个发光二极管,外部通过74LS138实现和8255、DAC0832的连通。2.28高效显示技术这部分利用8255的扩展功能口,扩展出4×4键盘及六位LED显示。用以输入和显示所选波形及其频率,以充分显示出易控、数字化、智能化等设计思想。LCD显示器、键盘及其接口构成人机对话系统,键盘用于改变信号参数,LCD显示器显示输出波形代码、频率代码和功能号。本系统采用8255作为键盘和LED显示器的接口,再加上一些驱动电路芯片如74LS244,MC1413(主要是用来提高驱动能力)。2.2.1a、a0端接口电路在8255与单片机的连接方面,将8255的CS连通端与地址译码器的Y1端相连,而地址锁存器的A1、A0端接到8255的工作方式选择端A1、A0,这样8255的PA口地址为2000H,PB口地址为2001H,PC口地址为2002H,控制寄存器地址为2003H。同样将8255的数据线直接与单片机的数据线相连,将8255读写信号RD、WR与单片机的读写信号RD、WR相连。2.2.2led控制器设计8255工作在基本输入输出状态下就能满足工作要求,因此将8255的PA、PB、PC口均置于0工作方式下。8255的A口作为键盘的扫描口和LEO的位控口,B口作为LED的端控口,C口作为键盘的输入口。由于LED需要的驱动电流较大,8位全亮时约40~60mA,因此PA口输出加NC1413以提高驱动能力,然后再接个LED显示器的位控端。同时PB口左端控口,为了提高显示亮度,通常加74LS244进行端控输出驱动。通过编程实现键盘的输入值送入显示缓冲区,从而实现将输入数据输入并显示的功能。2.3特性和载荷根据我们的实际目的,我们采用目前流行的D/A转换器DAC0832。它的分辨率为8位;电流稳定时间为1μs;功耗为20mw;可单缓冲、双缓冲或直通方式工作;线性误差0.02%FSR(满量程),完全能够满足我们的需要。2.3.1系统数据转移控制DAC0832的片选信号端CS与地址译码器的Y3端连接,这样DAC0832的地址为6000H。另外要将写信号WR与单片机的WR信号相连。将DAC0832的数据线与单片机的数据线直接相连。再将数据转移控制信号线XFER接地,这样我们可以通过控制端CS直接控制DAC0832。当单片机对DAC0832执行一次写操作时,地址译码直接连通DAC0832,写信号使DAC0832接收数据线上单片机送来的数据,然后单片机直接将送来的数据进行D/A转换输出。2.3.2加速度运算电路由于DAC0832的输出是电流形式,为了将它的输出变为电压形式,我们通过放大器OP07引入负反馈,这样反馈输出电压Uol的范围为-5V~0V。为了将输出电压的范围变换成双极性电压输出,我们通过放大器OP07引入了一个加法运算电路,其输入电压为Uol和+5V,通过运算后,其电压输出为Uo2=2×Uol+(+5)。这样D/A转换电路的输出变换成双极性输出,其输出范围为-5V~+5V。3人机对话模块该系统中的8255的A口和C口作为键盘控制口,以实现人机对话,完成其智能功能。单片机的flashROM存放整个系统的程序,实现软件支持下的频率、波形等变换及任意设定。程序设计的要点就是波形的产生。3.1盘盘管理系统软件可以分为以下几个功能模块:①键盘管理:监测键盘输入,启动系统等。②显示:显示波形,调试等。③D/A转换:利用软件编程,经D/A转换器输出波形。3.2查表法的关键我们采用了查表法来完成波形函数的周期性输出。查表法的关键就是波形函数表的制作,而取点数的选择和波形函数表的形成又是制表的关键,因此,下面主要介绍点数的选取和波形函数表的形成。3.2.1信号编码转换信号的产生是由D/A转换器将单片内部ROM内的信号编码转换为模拟电压的过程。选取一周期内信号的点数N,要考虑两方面的因素,即产生信号的失真度和频率。基于以上考虑,我们选取的点数为64点。3.2.2中间函数fl我们首先考虑正弦波的情况。输出信号f0要求是从-5~+5V的一个正弦信号,是一个双极性信号,但是单片机输出到DAC0832的码是00000000B到11111111B(8位DAC),为了简化问题,我们可以考虑设置一个中间函数fl,该函数为:fl=[1+sin(x×π/32)]很显然,fl是一个单位正弦函数叠加了一个直流信号,只要获得了fl,通过减法、比例运算即可获得f0。下面考虑的问题是如何将0~255的正整数与fl的对应问题。将fl扩大255/2倍,即得到了0~255的数。用下述公式可以构造出正弦函数表:Y(x)=255×[l+sin(x×π/32)]/2其中,x为“输出点”的序列号,取值范围为0~63,以64为周期,X每变化64,Y变化一个周期。3.3拉格朗日算法频率的控制可用控制CPU的延时长短,来改变从程序存储器中取波形编码的时间,使波形的频率发生变化,用这种方法,不必改变程序存储器的容量,就可以改变频率,因此可以编一个延时子程序来实现,它的循环次数,对于不同频率信号,它的值是不同的。3.4d/a转换子程序主程序和子程序放在AT89C52单片机的flashROM中。主程序的功能是:开机后负责检查键盘,键盘扫描机工作,然后根据用户所按的键转到相应的子程序进行处理。主程序框图如下图2:D/A转换

温馨提示

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

评论

0/150

提交评论