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

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

3天内不再提示

低端微控制器单元中RC振荡器的校准机制

科技观察员 来源:allaboutcircuits 作者:爱德华多·科尔佩 2022-04-26 16:17 次阅读

本文介绍了低端微控制器单元中可用的内部RC振荡器校准机制。介绍了自动校准的基本校准程序和注意事项。

MCU中的内部振荡器微调

由于它们的缺点,MCU中的内部振荡器具有微调其频率的机制,与乐器不同。这通常是通过一个微型电容替代盒调整振荡器的RC电路中的电容来完成的。

电容替换盒包含一系列开关和电容器,可在一定精度范围内产生任何电容。例如,考虑以下电容器网络,这些电容器可以并联组合以产生从0nF到255nF的任何整数电容。

pYYBAGJnqouAe4PDAABWuYfViCk344.jpg

开关有条件地包括2次方的电容器。例如,仅闭合右侧的三个开关会产生7nF。是的,它是二进制的!

现在,由于RC振荡器通过对电容器进行充电和放电来工作,因此这些开关需要是模拟的。出于这个原因,这些微型电容替代盒使用一种特殊类型的开关,称为传输门或模拟开关。这些很像继电器的半导体替代品。它们控制数字信号并切换模拟信号。有很多商用传输门IC,如CD4016、CD4066和CD4053。

有关传输门的更多信息,请阅读RobertKeim的文章TheCMOSTransmissionGate。

程序员的角度来看,内部振荡器的频率调整归结为修改内存映射寄存器的值。该寄存器中的位控制电容替换模块中的开关。

poYBAGJnqoyALXKGAAAcDjTF04Q083.jpg

内部时钟源微调寄存器,广泛用于s08系列。

对于S08系列的某些成员,该寄存器称为ICSTRM(内部时钟源微调)。这是一个8位寄存器,二进制复位值为10000000。这8位控制电容替换模块,进而影响振荡器的周期:此寄存器的值越高,电容和周期越高。当然,这对频率有相互影响。

简单的校准程序

这是您可以在MCU上执行的一个很好的修整程序:

运行一个生成1kHz方波的应用程序。

迭代直到无法改进:

测量生成信号的周期。

将Trim寄存器修改为1ms。

重新编译并运行。

迭代的原因是,由于微调模块中电容器值的不确定性(例如一组高度略有不同的楼梯),您将为微调寄存器估计的更改将因某些未知因素而关闭。迭代处理了这种不规则性。

自动化这个过程

您可能希望为您的应用程序自动执行此过程,以便您的程序在上电时校准振荡器,作为引导序列的一部分。

为此,您将需要一个可靠的时钟参考来与您的MCU生成的固定频率信号进行比较。尽管这似乎毫无意义,因为您首先要避免使用外部时钟信号,但该外部信号不必满足您的时钟要求;它必须是准确和稳定的。

自动微调过程的另一个重要细节是算法:上述过程适用于拥有示波器和漂亮计算器的工程师。然而,许多校准函数使用逐次逼近法。这与逐次逼近型ADC使用的算法相同,其本质是二分搜索算法。毫不奇怪,对于一个N位修整寄存器,这需要N次迭代。

要了解ADC中的逐次逼近,您可能需要阅读ElliottSmith撰写的文章了解逐次逼近寄存器ADC。

设备程序员

除了对ROM存储器和微控制器进行编程之外,还有一些设备编程器提供有用的附加功能。有些甚至在您的微控制器上执行此微调程序,以便您方便地对一批设备进行编程,微调每个单元上的内部振荡器。

如果您想知道在您即将切断设备电源时将正确的修整值写入RAM寄存器有什么好处,那么您就大功告成了!

MCU制造商通常在非易失性存储器中提供一个特殊位置来存储设备的微调值。这不会自动工作:您的代码仍然必须在启动时从该位置获取值并将值写入修整寄存器。

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

    关注

    48

    文章

    7542

    浏览量

    151316
  • 振荡器
    +关注

    关注

    28

    文章

    3832

    浏览量

    139032
  • rc振荡器
    +关注

    关注

    3

    文章

    48

    浏览量

    9562
收藏 人收藏

    评论

    相关推荐

    微控制器的内部RC振荡器

      一些微控制器单元通常带有一个内部 RC 振荡器,运行时可以不用外部陶瓷或石英晶体振荡器。但是,你需要微调此
    发表于 08-03 16:11 1574次阅读
    <b class='flag-5'>微控制器</b><b class='flag-5'>中</b>的内部<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b>

    MCU内部振荡器简述

      一些微控制器单元通常带有一个内部 RC 振荡器,运行时可以不用外部陶瓷或石英晶体振荡器。但是,你需要微调此
    发表于 11-22 17:09 1047次阅读
    MCU内部<b class='flag-5'>振荡器</b>简述

    低成本微控制器单元中经常使用的内部RC振荡器的优点和需求

    MCU的内部结构本文将会介绍许多低成本微控制器单元(MCU)中经常使用的内部RC振荡器的优点和需求,包括为获得最佳精度而进行的校准过程。低成
    发表于 11-04 08:38

    STM32F030如何设置微控制器以使用外部振荡器

    我试图了解如何设置微控制器(在本例为 STM32F030)以使用外部振荡器。我正在使用闪烁的 LED 来测试代码是否正在运行。为了设置 HSE,我做了以下操作:RCC下高速时钟选用晶振/陶瓷谐振
    发表于 01-31 08:49

    用于ST微控制器振荡器设计指南

    振荡器的基本知识,并提供了一些指南以获得良好的振荡器设计。它还展示了如何确定不同的外部组件,并为振荡器的良好PCB提供指南。本文件最后包含了一个简单的指南,用于选择合适的晶体和外部它列出了STM32的一些推荐晶体(HSE和LSE
    发表于 10-10 06:39

    RC振荡器 实验六

    RC振荡器 实验六 一、实训任务1 组装RC 振荡器;2 测量RC 振荡器。二、实训目标1
    发表于 04-21 15:52 54次下载

    微控制器时钟―选择晶振谐振槽路、RC振荡器还是硅振荡器

    摘要:晶振、陶瓷谐振槽路、RC (电阻、电容)振荡器以及硅振荡器是适用于微控制器(µC)的四种时钟源。针对具体应用优化时钟源设计依赖于以下因素:成本、精度和环境参数。
    发表于 04-23 14:25 1029次阅读
    <b class='flag-5'>微控制器</b>时钟―选择晶振谐振槽路、<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b>还是硅<b class='flag-5'>振荡器</b>?

    常用的振荡器类型有哪些,微控制器应用如何选择

    微控制器的时钟源可以分为两类:基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;基于相移电路的时钟源,如:RC (电阻、电容)振荡器。硅振荡器通常是完全集成的
    的头像 发表于 04-19 18:41 1w次阅读
    常用的<b class='flag-5'>振荡器</b>类型有哪些,<b class='flag-5'>微控制器</b>应用<b class='flag-5'>中</b>如何选择

    ipconfig不是内部或外部_使用MCU(微控制器单元)内部振荡器的优点和缺点

    MCU的内部结构本文将会介绍许多低成本微控制器单元(MCU)中经常使用的内部RC振荡器的优点和需求,包括为获得最佳精度而进行的校准过程。低成
    发表于 10-28 20:21 8次下载
    ipconfig不是内部或外部_使用MCU(<b class='flag-5'>微控制器</b><b class='flag-5'>单元</b>)内部<b class='flag-5'>振荡器</b>的优点和缺点

    PIC单片机RC振荡器的使用及校准方法

    ,因此,在有内部RC振荡器的单片机,它的内部RAM中都会有一个名为OSCCAL的校准寄存,通过置入不同的数值来微调
    发表于 11-16 12:06 11次下载
    PIC单片机<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b>的使用及<b class='flag-5'>校准</b>方法

    AN4631_STM32L0系列MCU内部RC振荡器校准方法

    AN4631_STM32L0系列MCU内部RC振荡器校准方法
    发表于 11-21 08:11 0次下载
    AN4631_STM32L0系列MCU内部<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b><b class='flag-5'>校准</b>方法

    AN3300 如何校准STM32L1xx的内部RC振荡器

    AN3300 如何校准STM32L1xx的内部RC振荡器
    发表于 11-24 08:34 1次下载
    AN3300 如何<b class='flag-5'>校准</b>STM32L1xx的内部<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b>

    应用笔记|如何在 STM32U5 系列上校准内部 RC 振荡器

    目录预览 0.前言 1.STM32U5 系统时钟 2.内部 RC 振荡器校准 3.内部 LSI 振荡器测量 4.X-CUBE-RC-CALI
    的头像 发表于 12-12 21:35 2127次阅读

    MCU内部振荡器的优缺点有哪些

    一些微控制器单元通常带有一个内部 RC 振荡器,运行时可以不用外部陶瓷或石英晶体振荡器。但是,你需要微调此
    的头像 发表于 02-09 17:30 1389次阅读
    MCU内部<b class='flag-5'>振荡器</b>的优缺点有哪些

    什么是RC振荡器RC振荡器的工作原理 基本RC振荡器电路设计

    使用电阻和电容元件的振荡器可以获得良好的频率稳定性和波形,这种振荡器称为 RC 或者相移振荡器
    的头像 发表于 08-31 14:20 7068次阅读
    什么是<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b>?<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b>的工作原理 基本<b class='flag-5'>RC</b><b class='flag-5'>振荡器</b>电路设计