0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过环形振荡器、555 定时器和 Arduino 进行数字方波发生器设计

海阔天空的专栏 来源:Nicholas St. John 作者:Nicholas St. John 2023-01-27 13:44 次阅读

了解使用环形振荡器、基于 555 定时器的振荡器和 Arduino 生成的方波振荡器的数字方波发生器。

之前,我们介绍了 设计方波振荡器即 运算放大器(运算放大器) 和基于晶体管模拟实现 非稳态多谐振荡器。在本文中,我们将研究实现 方波

振荡器,同时讨论其优点和局限性。

在深入研究之前,让我们注意,我们将分析三个示例:

环形振荡器

基于 555 定时器的振荡器

用于产生方波振荡器的 Arduino

使用环形振荡器的方波发生器

环形振荡器具有相当简单的架构,它利用一串 逆 变 器 最终输出馈入第一个输入,形成一个环,如图1所示。

通用环形振荡器架构

图1. 通用环形振荡器架构

不仅架构简单,而且该电路的操作也很简单。启动时,让我们假设 INV1 从逻辑 0 转到逻辑 1。随着该逆变器的输出开始上升,一旦INV的跳变点2

命中,该输出将开始减少到逻辑

0。这种连锁反应一直持续到最终逆变器INVN,然后该输出反馈到起点以维持反应。总体而言,该反应会产生恒定的振荡,并且假设所有逆变器具有相同的上升/下降时间,将产生方波输出。

为了使电路按所述工作,环中的逆变器数量(在图1中用N表示)必须是奇数。这个要求是必要的,因为正如我们在图1中看到的,任何逆变器的输出,INVX,其中

X 是偶数,将具有补充 INV 输出的输出1.如果此值反馈给

INV1,不会有任何变化,因此也不会振荡。虽然在这个简单的例子中,我们只使用逆变器,但您可以使用任何 逻辑门

在整个电路中。但是,在这个环形示例中,必须有奇数个反相级才能振荡。

现在,您可能会问的一个问题是:电路的哪些方面决定了工作频率?基本上,每个逆变器的固有延迟(td),阶段数 (N) 根据等式确定:

f=12tdNf=12tdN

由于 td 通常很小,并且希望最小化N,频率通常很高,大约为数百

MHz甚至GHz。对于低速应用或精确的频率控制,用户通常必须为每个逆变器的输出增加一个负载,最简单地通过 遥控电路,如图2所示。

带RC负载的环形振荡器

图2. 带RC负载的环形振荡器

展望未来,假设所有逆变器都以 VDD2VDD2 跳闸,其中 VDD 是供应 电压,振荡频率变为:

f=12(td+0.69RC)Nf=12(td+0.69RC)N

接下来,假设 RC 》d,我们可以说振荡频率完全取决于RC时间常数和级数。

至于优点,这种设计的简单性使其对高速振荡器设计具有吸引力;但是,对于较低的频率,很难控制这些频率。另一个缺点是,由于开关速率高,这种架构通常很耗电。

使用 555 定时器作为方波发生器

接下来,我们将讨论使用 555定时器。该通用IC用于:

各种脉冲产生

延迟

定时

振荡器应用

几家公司创建的 555 计时器种类繁多,但我们将专注于 LM555 来自德州仪器。 数据表 第 7.4.2 节

说明了计时器的不稳定操作,正如我们从上一篇文章中知道的那样,这是我们感兴趣的。实现原理图如图3所示。

LM555 定时器设置,用于非稳定运行模式

图3. LM555 定时器设置,用于不稳定操作模式。图片由 德州仪器

在这里, 电容器,C,由 电阻, R一个 和 RB.一旦它到达上跳变点(在计时器的情况下,V 的 2/3抄送),C 然后放电至 V 的 1/3抄送

通过 RB.此时,电容器再次开始充电,并且这种行为无限期地持续下去。由此,我们可以通过以下等式获得充电和放电时间以及振荡周期:

trise=0.69(RA+RB)Ctrise=0.69(RA+RB)C

tfall=0.69RBCtfall=0.69RBC

T=trise+tfallT=trise+tfall

f=1T=1.44(RA+2RB)Cf=1T=1.44(RA+2RB)C

在这里,我们可以看到,我们不仅可以控制振荡频率,还可以控制 输出占空比。但是,这些不能短于 t秋天,这意味着占空比必须大于 50%,但如果 RB

》·一个。

这种实现的优点是简单,需要最少的硬件,也是低速振荡器的稳定可靠的解决方案。至于限制,此设计不适用于需要小于50%的占空比或需要高速的情况。

基于 Arduino 的方波发生器,使用 Arduino UNO R3

最后,我们将讨论通过 Arduino 实现振荡器。对于我们的示例,我们将查看 Arduino UNO R3.该板的引脚排列如图4所示。

Arduino UNO R3 引脚排列。

图4. Arduino UNO R3 引脚排列。图片由 阿杜伊诺 [点击图片放大]

对于我们的生成器,我们将使用 Arduino UNO 的数字 I/O

引脚,具体来说,D7。实现此解决方案不需要外部硬件,因为这都可以通过如下所示的Arduino程序定义:

整数频率 = 100; 以 Hz 为单位设置用户定义的频率值

int per_ms = 1e3*(1/频率);将一种状态(高或低)的时间设置为 T/2(以毫秒为单位)

int dutyCyc = 0.5;设置输出波形的占空比

void setup() {

引脚模式(7,输出);将 D7 设置为数字输出

}

振荡环

void loop() {

数字写入(7,高);将 D7 设置为逻辑 1

延迟(Cyc*per_ms);在逻辑 1 处保留 T/2

数字写入(7,低);将 D7 设置为逻辑 0

延迟((1-Cyc)*per_ms);在逻辑 0 处保留 T/2

}

在上面的代码片段中,我们声明了三个全局变量,允许用户设置频率和占空比。在本例中,我们可以创建一个占空比为 50% 的 100 Hz

输出,从而产生方波。从那里,我们可以使用“pinMode”功能在空隙设置块中初始化我们的数字输出引脚。接下来,我们可以进入一个连续循环,将D7设置为HIGH,并将输出保持在该值,时间等于占空比乘以周期。最后,我们可以将输出调至逻辑低电平,并在剩余的周期内将信号留在那里。因此,一旦Arduino打开,此循环将无限期地继续。

如您所见,该软件实现允许高度灵活性,无需外部硬件。虽然这相当简单,但我们仅限于 Arduino

的带宽,除非我们在需要高速振荡器时使用外部振荡器来推动更高的频率。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 振荡器
    +关注

    关注

    28

    文章

    3811

    浏览量

    138859
  • 发生器
    +关注

    关注

    4

    文章

    1362

    浏览量

    61618
  • 定时器
    +关注

    关注

    23

    文章

    3237

    浏览量

    114435
收藏 人收藏

    评论

    相关推荐

    环形振荡器的仿真

    环形振荡器的仿真
    发表于 12-16 14:04

    如何使用逆变器设计环形振荡器

    `如何使用逆变器设计环形振荡器...求大佬帮帮忙`
    发表于 06-17 12:26

    分享四款555定时器产生方波的电路

    可调的方波信号发生器电路图图 利用CB555定时器设计方波电路原理图占空比可调的方波信号
    发表于 04-03 11:00

    带有RC的非门环形振荡器电路

    带有RC的非门环形振荡器实验电路
    发表于 09-23 17:46 5580次阅读
    带有RC的非门<b class='flag-5'>环形振荡器</b>电路

    定时器构成的方波发生器

    定时器构成的方波发生器
    发表于 03-21 09:25 532次阅读
    由<b class='flag-5'>定时器</b>构成的<b class='flag-5'>方波</b><b class='flag-5'>发生器</b>

    环形振荡器,环形振荡器工作原理是什么?

    环形振荡器,环形振荡器工作原理是什么? 环形振荡器的工作原理 环形振荡器是利用门电路的固有传输延迟时间将奇数个反相首尾相
    发表于 03-22 14:23 2.9w次阅读

    基于CPLD的片内环形振荡器的设计方案

    本文介绍一种通用的基于CPLD的片内振荡器设计方法,它基于环形振荡器
    发表于 11-08 10:38 3335次阅读
    基于CPLD的片内<b class='flag-5'>环形振荡器</b>的设计方案

    环形振荡器设计

    环形振荡器设计的设计文件,很有实用性的文件。
    发表于 05-03 16:42 0次下载

    环形振荡器介绍_反相构成环形振荡器

    环形振荡器,是由三个非门或更多奇数个非门输出端和输入端首尾相接,构成环状的机器。
    发表于 01-12 17:27 2w次阅读
    <b class='flag-5'>环形振荡器</b>介绍_反相<b class='flag-5'>器</b>构成<b class='flag-5'>环形振荡器</b>

    555定时器产生方波原理(四款555定时器产生方波的电路详解)

    悬空时,则电压比较C1的同相输入端的电压为2VCC/3,C2的反相输入端的电压为VCC/3。在单稳态工作模式下,555定时器作为单次触发脉冲发生器工作。双稳态工作模式下的
    发表于 01-22 09:07 36w次阅读
    <b class='flag-5'>555</b><b class='flag-5'>定时器</b>产生<b class='flag-5'>方波</b>原理(四款<b class='flag-5'>555</b><b class='flag-5'>定时器</b>产生<b class='flag-5'>方波</b>的电路详解)

    环形振荡器原理及应用_环形振荡器的实用电路

    环形振荡器,是由三个非门或更多奇数个非门输出端和输入端首尾相接,构成环状的机器。
    的头像 发表于 03-27 11:31 2.9w次阅读

    使用555定时器设计的函数信号发生器

    设计要求:用555定时器设计一个信号发生器,要求输出方波、三角波、正弦波并,设计输出电压及频率。
    发表于 03-31 17:31 44次下载

    555定时器多谐振荡器振荡周期为多少?

    555定时器多谐振荡器振荡周期为多少 555定时器是一种非常重要的集成电路,广泛应用于电子电路
    的头像 发表于 09-02 16:10 7455次阅读

    基于多级反馈环形振荡器的真随机数发生器设计

    电子发烧友网站提供《基于多级反馈环形振荡器的真随机数发生器设计.pdf》资料免费下载
    发表于 09-14 14:56 0次下载
    基于多级反馈<b class='flag-5'>环形振荡器</b>的真随机数<b class='flag-5'>发生器</b>设计

    基于555电路的频率发生器

    RS触发,配合外部的电阻和电容,可以构成多谐振荡器,从而产生方波信号。通过调整外部电阻和电容的值,可以改变输出方波的频率。 二、电路组成
    的头像 发表于 11-12 10:35 114次阅读