历史上的今天
返回首页

历史上的今天

今天是:2025年04月15日(星期二)

正在发生

2021年04月15日 | 一种基于单片机的函数发生器的设计实现

2021-04-15 来源:eefocus

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单片机也可方便地实现嵌入应用。


推荐阅读

史海拾趣

Advanced Photonix公司的发展小趣事

Advanced Photonix一直注重研发团队的建设和培养。公司投入大量资源用于研发创新,鼓励团队成员不断探索新技术和新应用。在这种氛围下,公司的研发团队不断取得新的突破和进展。他们成功开发出了一系列具有自主知识产权的光电产品和解决方案,这些产品不仅提升了公司的技术实力,也为公司的长期发展奠定了坚实的基础。

Display Engineering Services公司的发展小趣事

随着产品的不断成熟和市场的日益扩大,Advanced Photonix开始寻求与全球分销商的合作。在经过一番谨慎的筛选和谈判后,公司与全球知名的半导体和电子元器件授权分销商贸泽电子签订了全球分销协议。这一合作使得Advanced Photonix的产品能够更快地进入全球市场,同时也提高了公司的知名度和影响力。通过贸泽电子的分销网络,Advanced Photonix的光电二极管、混合器件以及光电管等产品得到了广泛应用,进一步巩固了公司在电子行业的领先地位。

Amplitronix LLC公司的发展小趣事

在快速发展的同时,Amplitronix LLC也积极承担社会责任,关注绿色环保。他们投入大量资源研发环保型电子产品,减少生产过程中的污染排放。同时,公司也积极参与公益活动,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展注入了新的动力。

这些故事旨在展示Amplitronix LLC公司在不同阶段的发展过程和成就,但并非基于真实事件。实际的Amplitronix LLC公司的发展历程可能有所不同,这些故事仅为虚构示例,供您参考。

Excel-Display Corporation公司的发展小趣事

EDC深知人才是企业发展的核心动力。因此,公司一直致力于人才培养和团队建设。

公司建立了完善的人才培养机制,为员工提供各种培训和学习机会,帮助他们不断提升自己的专业能力和综合素质。同时,EDC还注重员工的福利待遇和职业发展,为员工创造了一个良好的工作环境和发展空间。

在团队建设方面,EDC注重营造积极向上的企业文化和团队合作精神。公司定期组织各种团队活动和文化交流活动,增强员工的凝聚力和归属感。这些举措不仅提高了员工的工作积极性和效率,也为公司的长远发展提供了有力保障。

Dytran Instruments Inc公司的发展小趣事

尽管已经被收购并进行了业务整合,但Dytran并没有停止其创新的步伐。公司继续加大研发投入,推动传感器技术的不断创新和升级。同时,Dytran还积极探索新的应用领域和市场空间,以满足不断变化的客户需求。

在未来,Dytran将继续致力于为客户提供高质量、高性能的传感器产品和解决方案。同时,公司还将积极参与国际竞争和合作,推动传感器技术的国际化和标准化进程。通过不断创新和发展,Dytran有望在电子行业中继续保持其领先地位并实现更加辉煌的未来。

以上五个故事框架概述了Dytran Instruments Inc.公司在电子行业中的发展历程、技术创新、市场拓展、被收购与业务整合以及未来展望等方面的重要事件和里程碑。这些故事展示了Dytran如何凭借其技术实力和市场洞察力在竞争激烈的电子行业中脱颖而出并实现持续发展。

BLT Circuit Services公司的发展小趣事

BLT Circuit Services公司深知人才是企业发展的根本。因此,公司注重人才培养和引进,建立了一套完善的人才培训体系。公司不仅为员工提供系统的职业技能培训,还鼓励员工参与各种行业交流活动,提升个人综合素质。这些举措不仅提高了员工的技能水平,也为公司的长期发展提供了有力的人才保障。

问答坊 | AI 解惑

KEIL uVISION2学习笔记

KEIL uVISION2学习笔记…

查看全部问答>

串行静态数码管显示

本帖最后由 paulhyde 于 2014-9-15 03:34 编辑 两个数码管通过74LS595级联 相应的硬件电路图相当简单 三根信号线便可控制多个数码管的显示(本程序只连接了两个) 为MCU的I/o口紧张的系统省下不少端口资源 需要更详细的信息请留言讨论 &n ...…

查看全部问答>

电路疑问?谢谢

电路是怎么工作的??如果V1导通后AK两端的电压不是为0了吗?后面的场效应管还怎么工作,控制还有作用吗???谢谢…

查看全部问答>

请大侠帮忙分析一下Cortex-m3的启动代码文件

大侠好,我最近买了STM3210E-EVAL开发板用来学习,还下载了最新的配套示例程序,用的开发环境是:IAR Embedded Workbench for ARM 5.40 在示例工程里有一些代码不懂,请大侠帮我分析一下,最好对照代码在后面写出一些详细的注释,先谢谢了。 文件 ...…

查看全部问答>

Dsp怎么实现对片外Flash的读和写操作

各位大侠,正在做一个系统,里面在程序运行过程中会涉及到对片外FLASH的读写操作,现在只知道读数据是只要知道地址,通过指针直接读取就可以,但写数据的时候好像需要先擦除再写,而且擦出的时候一般只能通过对块(sector)擦除,不知道这个该怎么 ...…

查看全部问答>

公司花1W5买了个自动售货机,拆了研究学习准备重新设计一个,有无有兴趣的兄弟?[附图]

有没有有兴趣的同学? 全拆了,先学习它的MDB协议VMC实现: 用52单片机读MDB总线上的数据,再送到PC上: …

查看全部问答>

求购带WINCE6.0 BSP并且有activesync功能的ARM开发板

有没有哪位知道现在在哪里可以买到 wince6.0 BSP的ARM开发板,要求有BSP源代码, 能够通过USB连接activesync,并且能更新wince image …

查看全部问答>

模态对话框的创建和关闭方法

Wince下,我在Dialog1中创建了一个模态对话框Dialog2。 CDialogTime m_DiaTime; m_DiaTime.DoModal(); 然后在Dialog2中分别使用下面函数,关闭。 用 (1)OnOK(); (2)DestroyWindow(); (3)CDialog::EndDialog(0); 这三个函数都不行。 win ...…

查看全部问答>

求给ARMS3C2440开发板wince5.0下自制矩阵键盘具体方法!

同过注册表和oal_intr.h文件可知开发板外部中断EINT1是板子的默认键盘中断号,接口设置为GPG3,GPG5,GPG6,GPG7为SPI接口,现在请高手说下在那些函数要加入寄存器的设置!设置哪些寄存器!设成什么值!谢谢了!!…

查看全部问答>

菜鸟求助:20V转5V

如果20V的直流电源转为5V直流电源,高手们会怎样做?…

查看全部问答>