老古开发网首页
导航:老古开发网首页文章索引文章分类单片机→[基于单片机的函数发生器的设计实现]
| -文章搜索 - 最新文章 - |

基于单片机的函数发生器的设计实现

发布时间:2006年7月4日 点击次数:2654
来源:电子工程师   作者:淮阴工学院 张新荣,常 波
 

1 引言
 
在自动控制系统设计及调试过程中,不同频率的正弦波、三角波和方波常作为信号源,应用十分方便。过去常由分立元件及集成运放构成振荡器,后来出现的ICL8038其最高频率仅能达到100kHz。而MAX038芯片性能更好,最高频率可达20MHz,且三种波形由同一端输出。单片机控制品质卓越,基于单片机的函数发生器运行可靠,操作方便。

2 高频信号发生器芯片MAX038简介
 
MAXIM公司生产的MAX038芯片是一种高频精密的函数发生器,可产生三角波、锯齿波、正弦波、方波及脉冲波,且频率及占空比的控制可独立进行。

  Lin管脚电流范围在10~400μA时电路获得最佳工作性能。输出波形的选择由逻辑地址引脚A0和A1的组合来决定:A1A0=10或11时,输出正弦波;A1A0=00时,输出方波;A1A0=01时输出三角波。波形切换可在0.3μs内完成,但输出波形有0.5μs的延迟时间。输出频率由Lin引脚的电流、SOSC引脚的对地电容量和FADJ的电压来决定。当FADJ引脚接地时,输出频率由公式给出:
  F0=Lin/CF
 
式中,F0是输出频率,单位MHz;Lin是管脚输入电流,单位μA;CF是决定输出频率的串入电容值,单位pF。

3 基于单片机的函数发生器的设计与实现

3.1 系统硬件接口电路设计
 
Intel公司的MCS-51系列中的8051单片机应用已很成熟,以其为基核的其他8位机都有极好的兼容性,应用十分方便。图1所示为以8051和MAX038为核心的系统硬件电路。

  用8279完成键盘输入和LED显示控制两种功能,键盘按键设置:数字键0~9,小数点,正弦波、方波和三角波切换键,频率选择Hz、kHz、MHz切换键,占空比键,回车键。采用外部译码方式,8279的SL0~SL2经74LS138(2)输出接键盘,同时经74LS138(1)输出驱动后送LED。8279的显示输出B0~B3,A0~A3作8位数据输出,当键盘出现有效闭合键时,数据自动进入8279的RAM存储器,并向CPU申请中断。

  MAX038的频率控制电压由10位DAC1020提供,经Rin=50kΩ的电阻进入Lin引脚,8051的P2.6作为DAC1020的片选信号,采用双缓冲器方式,锁存10位数据。DADJ引脚电压范围-2.4V~+2.4V由8位DAC0832的双极性输出电压提供,即占空比调节的控制电压。用8051的P2.5作为DAC0832的片选信号,基准电压采用MAX038内部2.5V基准电压,接入VR端。DAC0832的ILE接+5V,片选端和数据传送端都与74LS373输出线A0相连。

设Lin输入端电压为Vin,串接电阻为Rin,则有公式:
  F0=Vin/〔Rin×CF
  式中,F0是输出频率,单位MHz;Vin是输入端电压,单位V;Rin是串接电阻,单位Ω;CF是决定输出频率的串入电容值,单位pF。

  取Rin=50kΩ,Vin的范围0.5~5V,这样对于某一电容,可提供十倍扫频范围,从而电容的选择就可确定输出频率范围,即频段。第一频段电容取100μF,频率范围0.1~1Hz,第二频段到第九频段电容选择按十倍衰减,即可获得各频段频率范围,第九频段频率范围是10~20MHz,每一频段步进值选各频段低段频率的0.5%。有九个频段供选择切换,8051的P1.2~P1.5通过T1042译码后送入频段设定电路,由软件启动频段设定电路中的开关来进行频段选择。

3.2 系统软件设计方案及实现
   系统的主程序流程框图如图2所示。  

  先对8279进行初始化,即允许中断申请,清8279状态,置键盘显示方式及时钟编程等,再置MAX038初始波形与频率、占空比。然后测试回车键是否闭合,以决定是否进行中断处理,判断输出波形并输出控制信号,有关输出波形频率的控制电压及占空比的计算送DAC1020及DAC0832,最后将波形频率及占空比送显示缓冲区,调显示子程序显示。

4 结束语
 
利用单片机对MAX038的实时程序控制可产生高频高精度的输出波形,系统运行稳定,输出波形失真小、漂移小、频率范围宽,基于8051的CHMOS单片机也可方便地实现嵌入应用。


 


欢迎进入老古论坛进行讨论
[单片机] 相关文章:
Hex to bcd转换的算法比较
简介:
语言主程序部分 // 左移移位法作hex to bcd转换的算法程序,加上这一段调用演示,以察看运行结果 // 12M晶振时汇编算法运行时间大约为1339ns,C语言减法转换时间大约897ns // 不同的输入数据在C语言的减法转换时间略有不同,最大时间59999时为1231ns // 所以C语言的减法运算还是略快一些。 // http://www.xiao-qi.com/晓奇工作室收集整理,Keil C51下调试运行通过 #include <reg51.h> unsigned char bcdData[3]; unsigned int ihexs; unsigned cha......

MCU系统低功耗设计问题
用单片机设计频率计
[转载]AVR Studio 调试快速入门
实时多任务操作系统(RTOS)进入单片机开发领域
编程修养
学习AVR(六)CPU中状态寄存器
如何正确选择AD/DA器件
单片机系统中红外通信接口的设计
单片机扩展中断的简便方法
 
下一个:[无线通讯]印度新手机只有5个键 市场价格约90元人民币
简介:
  印度国家设计研究院首席设计师维亚斯近日为印度市场设计出一款微型手机。这种手机既不用SIM卡,也没有显示屏,而且在长80毫米、宽35毫米的机身上只有5个按键:开机、关机和3个快捷键,其市场价格为500卢比(约90元人民币)。   维亚斯表示,市场调查表明“80%的手机消费者只使用了20%的手机功能”。在他设计的这款手机中,3个快捷键分别对应着手机拥有者设定的3个最重要号码,如医生、秘书和家人等,并且设定后只能由电信运营商来更改。除这3个号码外,手机无法呼出或接听其他任何电话。在接听电话时,按键上的对应指示灯会闪烁,因此接听者可以知道是谁打进来的电话。   这款手......
 

上一个:[电源技术]多路输出开关电源的设计及应用原则

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:否 执行时间:16毫秒