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

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

3天内不再提示

是否可使时钟走时更精确些

电子设计 来源:电子设计 作者:电子设计 2022-02-21 11:21 次阅读

单片机应用中,常常会遇到这种情况~~在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。那么,是否可使时钟走时更精确些呢?

现探讨如下:

一、误差原因分析

1. 单片机电子时钟的计时脉冲基准,是由外部晶振的频率经过12分频后提供的,采用内部的定时,计数器来实现计时功能。所以,外接晶振频率的精确度直接影响电子钟计时的准确性。

2. 单片机电子时钟利用内部定时,计数器溢出产生中断(12MHz晶振一般为50ms)再乘以相应的倍率,来实现秒、分、时的转换。大家都知道,从定时,计数器产生中断请求到响应中断,需要3_8个机器周期。定时中断子程序中的数据人栈和重装定时,计数器的初值还需要占用数个机器周期。此外。从中断人口转到中断子程序也要占用一定的机器周期。例如:

pIYBAGAHwUqAY-qxAADSaJ5-qNQ707.jpg

从上述程序可以看出,从中断人口到定时/计数器初值的低8位装入需要占用2+2+2=6个机器周期。所以,在编程时一般会把这6个机器周期加入定时/计数器的初值中。但是,从定时,计数器溢出中断请求到执行中断需要几个机器周期(3~8个机器周期)。就很难确定准确值,正是这一原因导致了电子时钟计时的不准。

二、解决方法

1、采用高精度晶振方案

虽然采用高精度的晶振可以稍微提高电子钟计时的精确度,但是晶振并不是导致电子钟计时不准的主要因素,而且高精度的晶振价格较高,所以不必采用此方案。

2、动态同步修正方案

从程序人手,采用动态同步修正方法给定时,计数器赋初值。动态同步修正方法如下:由于定时,计数器溢出后,又会从O开始自动加数,故在给定时/计数器再次赋值前,先将定时,计数器低位(TLO)中的值和初始值相加,然后送人定时,计数器中,此时定时,计数器中的值即为动态同步修正后的准确值。

具体程序如下:

o4YBAGAHwYiAPBz-AABFq0twbXY917.jpg

采用此种方法后,相信制作的电子时钟的精度已有提高了。

3、自动调整方案

采用同步修正方案后,电子时钟的精度虽然提高了很多,但是由于晶振频率的偏差和一些其他未知因素的影响(同一块电路板、同样的程序换了一片单片机后,走时误差不一样,不知是何原因),时间长了仍然会有积累误差。为此,可采用自动调整方案。实际上是一种容错技术。其自动调整原理为:实测出误差Is所需的时间,然后每隔这样一段时间后就对秒进行加“1”或减“1”调整。例如:电子钟每过50小时就慢1秒,其自动调整程序如下:

pIYBAGAHwceADSI7AABT256hpro351.jpg

以下是一个完整实例:

o4YBAGAHwg-APZKPAAJgbCfZ2J0407.jpg

来源:畅学电子,转载此文目的在于传递更多信息,版权归原作者所有。
审核编辑:何安

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

    关注

    6037

    文章

    44558

    浏览量

    635357
  • 时钟
    +关注

    关注

    10

    文章

    1734

    浏览量

    131485
收藏 人收藏

    评论

    相关推荐

    无线电时钟的dcf信号是什么意思

    DCF信号,即德意志联邦共和国的无线电时钟信号,是德国的一种无线电时钟信号,用于校准时钟和提供精确的时间信息。这种信号由德国的无线电发射站发出,覆盖整个德国以及周边一
    的头像 发表于 09-07 09:25 655次阅读

    爱普生晶振SG-8018CG为无线通信设备提供精确时钟信号

    随着无线通信技术的快速发展,设备对高精度时钟源的需求也变得越来越迫切。精确时钟信号是确保无线通信设备稳定运行、信号同步和数据传输准确性的关键因素。爱普生SG-8018CG
    发表于 09-06 14:01 0次下载

    如何实现更精确的电流限制并避免损坏受测器件

    电子发烧友网站提供《如何实现更精确的电流限制并避免损坏受测器件.pdf》资料免费下载
    发表于 08-29 11:09 0次下载
    如何实现<b class='flag-5'>更精确</b>的电流限制并避免损坏受测器件

    实时时钟模块与实时时钟分立元器件的比较

    内建晶体单元的实时时钟模块的特征【序文】社会中存在着为数众多的需要更精确时间的应用程序,例如金融处理系统、安全系统、电表、产业用测试仪器、办公自动化工具、医疗或娱乐产品等。为了获得精确的时间,必须
    的头像 发表于 08-16 14:00 393次阅读
    实时<b class='flag-5'>时钟</b>模块与实时<b class='flag-5'>时钟</b>分立元器件的比较

    TCXO RTC实时时钟模块的特性

    和损失。时间是我们的生活中不可缺少的部分。近几年,我们周围的产品也搭载了时间功能,可能很难找到没有时间功能的产品。在社会的各个领域还存在着为数众多的需要更精确时间
    的头像 发表于 08-14 11:44 373次阅读
    TCXO RTC实时<b class='flag-5'>时钟</b>模块的特性

    是否内部高速时钟有问题?

    是否内部高速时钟有问题?
    发表于 06-26 12:43

    【京准】标准时钟系统:精确、可靠的时间计量工具

    【京准】标准时钟系统:精确、可靠的时间计量工具
    的头像 发表于 06-04 11:26 949次阅读

    纯硅振荡器替代SiTime助力3D打印机精确时钟信号

    纯硅振荡器替代SiTime助力3D打印机精确时钟信号
    的头像 发表于 05-23 10:10 406次阅读
    纯硅振荡器替代SiTime助力3D打印机<b class='flag-5'>精确</b>的<b class='flag-5'>时钟</b>信号

    cy863c47如何很精确的发出固定数目的脉冲?

    使用 cy863c47,请问如何很精确的发出固定数目的脉冲?使用定时器好一点还是利用脉冲产生的中断来计数更精确
    发表于 05-21 07:03

    cypd5225和其他PD控制器是否可使用cy8ckit-042-ble-A进行编程?

    1.cypd5225和其他PD控制器是否可使用cy8ckit-042-ble-A进行编程(这是我们所拥有的,如果不能,需要哪些编程器?) 2.编程需要哪些引脚--SWDio、SWDclk、Xres--这三个引脚就够了,还是需要 GND 和一
    发表于 05-20 08:12

    影响音质的晶振参数有哪些?晶振对音响有何影响?

    晶振提供时钟信号,用于同步音频设备中的各个部分的运行。高质量晶振可能会带来更清晰、更精确的音质。
    的头像 发表于 04-08 14:22 1235次阅读
    影响音质的晶振参数有哪些?晶振对音响有何影响?

    让单片机电子时钟走时更精确的方法

    根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。 于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。那么,是否
    发表于 04-08 07:19

    富唯智能案例|电子钟机芯走时测试

    某钟表制造企业每天需要进行时钟准确度的测试,通常情况下,工人需要在一块规格为2100*1200的测试板上累计安装15*29电子时钟,以测试时钟走时准确度。传统人工作业存在效率低下、测
    的头像 发表于 04-03 14:38 476次阅读
    富唯智能案例|电子钟机芯<b class='flag-5'>走时</b>测试

    北斗卫星时钟同步装置:实现全球时间精确同步

    北斗卫星时钟同步装置是一项令人惊叹的科技研究,可以通过卫星系统实现全球时间的精确同步。   现行的 卫星时钟同步 系统支持硬对时(脉冲节点PPS、PPM、PPH)、软对时(串口报文)、编码对时
    的头像 发表于 03-07 14:27 2097次阅读
    北斗卫星<b class='flag-5'>时钟</b>同步装置:实现全球时间<b class='flag-5'>精确</b>同步

    请问使用M051作为SPI主机,SPI口的时钟频率需要30M,使用内部时钟精确度可以达到要求吗?

    请问使用M051作为SPI主机,SPI口的时钟频率需要30M,使用内部时钟精确度可以达到要求吗? 如果不可以的话,多少频率以下的可以使用内部时钟
    发表于 01-16 07:34