模拟信号源
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于proteus仿真
——模拟信号源
一、需求分析:
作为一名电子专业的学生,模拟信号源是必不可少的。在模拟电路实验中,需要一个正弦信号源来测量三极管的放大倍数,在数字电路实验中,需要一个方波信号源来测试某一芯片的逻
辑功能。课堂上实验应用是一方面,在平时学习中,我们或多
或少的需要一个信号源来辅助我们的电路设计。实验室中配备
的信号源功能强大,但价格昂贵,难以维护。因此,如果能自
己制作一个简易的信号源,不仅能方便我们的学习,而且可以
把我们所学知识应用于实践。所以模拟信号源的前景是很广阔
的。
二、系统设计:
可以产生模拟信号的方法很多。一是我们可以用运算放大器、电阻、电容构成自激振荡回路来产生各种波形,二是我们可以用555构成多谐振荡器产生一个方波,然后设计各种性能的滤波器来获取我们需要的波形。另外,当我们所需要信号源频率不太高时,可以用D/A 转换的方法来产生各种波形。前两种方法较为复杂。第三种方案,较易实现,而且可以数字显示频率,按键选择频率。因此选用第三种方案.
以下是系统的结构图:
该方案可以产生1—10HZ的正弦波、方波和三角波。可以用按键选择波形和调整频率,并用数码管显示波形的频率。
单片机选用AT89C51。D/A转换芯片选用ADC0832,它是一种具有两个输入数据寄存器的8位D/A转换器,能直接与MCS-51单片机相连,不需要其他的I/O口接口芯片。其主要指标如下:
(1)分辨力为8位
(2)电流稳定时间为1s
(3)具有两个数据寄存器,可双缓冲,单缓冲或是直接数字接入。
(4)单一供电。
按键部分有四个按键,key1—key3为波形选择按键,key4为
频率调整按键。
显示部分为两个数码管,采用动态扫描方式显示频率。三、详细设计
硬件部分:
1、D/A转换:
DAC0832控制信号线ILE、WR1、XFER、WR2接有效电平,CS接单片机的P3.5口。采用直通型接口的方法,通过P3.5的电平来控制0832的片选。参考电压接5v(在实际中应接一个高稳定的电源,参考电压直接影响输出电压的精度)。0832的数据总线接P2口。
以下是0832的输出接口电路图:
第一级电路中,Iout1接LM324反向输入端,Iout2接运放同向输入段,并接地,Rfb接运放输出。构成单极性输出电路,把0832输出的电流信号转换为电压。输出的电压为V o=-Vn*Rf/R, 其中Vn为参考电压,Rf为0832内部的反馈电阻,R为接入电阻网络阻值。第二级电路是负反馈放大电路,增大电压值和。(该图为0832datasheet 标准接法)。特别要注意的是LM324必须是双电源供电,否则信号底部会出现失真,在仿真中运放负极电压最大值为-5v。
2、显示部分:
P1口接74hc573的输入端,74hc573的输出段接数码管的段选。74hc573是8位的锁存器,在这里它的控制信号接有效电平,它主要作用是增大输入数码管的电流。P3.6 P3.7接数码管1和2的位选.
3.按键部分:
4个触发式按键一端接地,另一端分别接P3.0—P3.3。前三个按键选择波形,后一个调整频率。
2、软件设计及程序流程图:
主函数流程图:
(注:频率初值为1HZ,当key4按到11下时频率返回1。如此循环。)
程序的主要思想是:在程序中定义了三种波形的幅值抽样数组(可以在matlab中用linspace函数实现),在选择了波形和频率时,定时器按一定时间间隔送数据,在输出端就会再现抽样数组的幅值波形,因为每个幅值间隔很短,因此可以近似模拟波形。
在程序设计中每一个波形的幅值抽样数组个数为256个(其中正弦数组通过特定软件生成,因为方波和三角波的幅值特殊性,可以定义指针来实现,但那样增加了中断函数的执行时间,因此没有采用)。设中断时间为t,信号频率为freq,则有如下关系:t=1/(256*freq)。在实际中采用12M晶振,一个时钟周期为1us,因此送入定时器的初值n=3906/freq。当freq为1时,n为3906. 但当freq很大时,n很小,当中断时间和时钟周期差不了多少的时候会产生很大的误差,在仿真中最大频率为65Hz。
子程序流程图:
1波形选择函数流程图: 2显示子