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

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

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

    关注

    6074

    文章

    45351

    浏览量

    663947
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134567
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    系统从DeepSleep下唤醒时钟默认为原时钟,如果原时钟频率特别高,是否有存在启动不稳定问题?

    1.系统从DeepSleep下唤醒时钟默认为原时钟,如果原时钟频率特别高,是否有存在启动不稳定问题?这个地方目前有没有需要特别注意的地方? 2. 有一个独立看门狗,正常初始化启动IWD
    发表于 11-28 07:36

    时钟线是否需要包地处理?

    时钟线是否需要包地处理?有没有成熟的整改方案参考?
    发表于 11-21 06:53

    是否可以内部生成40MHz时钟并将PLL时钟设置为40MHz?

    我有一个关于内部时钟生成的问题。 外部 24MHz 时钟连接到 MHzECO 端子。 是否可以内部生成 40MHz 时钟并将 PLL 时钟
    发表于 07-30 07:26

    赛思高保持小型时钟模块:精确时间的守护者

    ,它就像是我们生活中的一位精确的时间守护者。高保持小型时钟模块是一种高精度的电子设备,它的准确性远超过了传统的机械时钟。它采用了先进的微处理器技术,可以实现秒级的
    的头像 发表于 07-22 14:37 309次阅读
    赛思高保持小型<b class='flag-5'>时钟</b>模块:<b class='flag-5'>精确</b>时间的守护者

    AD7656串行模式下CS拉高时钟是否有效?

    AD7656的串行模式时序,两个数据中间如果把CS拉高,当前时钟对应的数据是否有效,如果无效,三线模式下,总的时钟数量是否需要33个时钟
    发表于 06-24 06:54

    应用案例丨光谱共焦位移传感器,让细小孔洞的深度检测更精

    光谱共焦位移传感器采用同轴测量原理,克服了传统激光三角测量传感器的角度限制,显著减少了测量盲区。同时拥有多种优势,能够更精确地测量深孔、盲孔等复杂结构。
    的头像 发表于 06-13 09:08 743次阅读
    应用案例丨光谱共焦位移传感器,让细小孔洞的深度检测<b class='flag-5'>更精</b>准

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

    1.cypd5225和其他PD控制器是否可使用cy8ckit-042-ble-A进行编程(这是我们现有的,如果不行,有哪些已知的兼容编程器?) 2.是否有 openocd 目标 .cfg cypd5225 / CCG5
    发表于 05-23 08:29

    VirtualLab Fusion:精确的物理和数值控制

    与精度工具 此用例介绍了速度与精度工具,该工具允许用户自定义全局采样参数,将重点放在更快的仿真或更精确的仿真上。 傍轴假设工具 此用例介绍了傍轴假设工具,演示其选项并提供了如何使用它的工作流程。
    发表于 05-15 10:33

    AD9546双DPLL数字时钟同步器技术手册

    AD9546 采用数字化时钟技术,可在系统中高效传输和分配时钟信号。数字化时钟具有设计灵活性,且可使用可扩展的时钟传输系统,并具有良好的相位
    的头像 发表于 04-09 15:11 866次阅读
    AD9546双DPLL数字<b class='flag-5'>时钟</b>同步器技术手册

    德州仪器先进的电流和电压检测技术助力更精确电机控制 提升机器人精度

    机器人处理复杂任务的能力,同时加快转矩响应速度,从而实现更平滑的类人型运动。 功能隔离式转换器 让机器人在更小的设计中实现更精确的电机控制,从而使它们更智能、更安全和更高效。 随着低于 60V 的自主移动机器人和类人机器人等机器人承担
    的头像 发表于 03-28 11:05 1542次阅读
    德州仪器先进的电流和电压检测技术助力<b class='flag-5'>更精确</b>电机控制 提升机器人精度

    ADS1178转换速率是否只与MODE有关,与输入时钟无关?

    看了ADS1178的数据手册,输入时钟CLK范围是100kHz到27MHz之间,SCLK推荐为CLK的1、1/2等 问题: 1、转换速率是否只与MODE有关,与输入时钟无关?若设置MODE为0
    发表于 01-24 07:21

    ADS8363的内部SAR ADC时钟是否是由CLOCK引脚上输入的时钟信号提供的?

    最近正在使用ADS8363和ARM MCU 做数据采集应用,两通道同步采样,采用频率在60k左右。问题如下: ADS8363的内部SAR ADC时钟是否是由CLOCK引脚上输入的时钟信号提供
    发表于 01-22 07:15

    如何判断电路是否为高频电路

    在数字电路中,工程师需要判断该电路是否高频电路,以此确保电路性能稳定、减少信号失真和避免传输线效应,本文将分享如何判断电路是否为高频电路。 1、信号的上升沿/下降沿时间(Tr) 若信号的上升沿或下降
    的头像 发表于 01-20 10:49 1244次阅读

    北斗卫星同步时钟授时天线:实现精确时间同步的关键

    北斗卫星同步时钟装置中的授时天线是用于接收全球导航卫星系统信号以实现精确时间同步的关键组件。本文将介绍授时天线的特点、工作原理及其应用场景。   一、北斗卫星授时天线的特点: 1、高精度:能够接收
    的头像 发表于 01-06 09:49 2212次阅读
    北斗卫星同步<b class='flag-5'>时钟</b>授时天线:实现<b class='flag-5'>精确</b>时间同步的关键

    使用ptp提高网络时钟精度的方法

    PTP是一种主从同步机制,它依赖于一个或多个主时钟(也称为PTP Master或Grandmaster)来提供精确的时间信息,这些信息被发送到从时钟(PTP Slave)。PTP协议通过发送时间戳和延迟测量来校正从
    的头像 发表于 12-29 09:44 1581次阅读