您的位置 首页 新能源

可进步实时时钟长时间计时准确度时钟程序算法

摘要:通过对引起实时时钟计时误差因数的分析,给出了一种提高实时时钟长期计时准确度的实用而有效的软件方法。该方法具有成本低、易实现、通用性强、彻底校正等优点。电子计时器通常以石英晶振为时钟源。时钟源..

摘 要: 经过对引起实不时钟计时差错因数的剖析,给出了一种进步实不时钟长时刻计时准确度的有用而有用的软件办法。该办法具有成本低、易完结、通用性强、完全校对等长处。

  电子计时器一般以石英晶振为时钟源。时钟源的频率一般为几十kHz乃至几十MHz,而常用时钟的最小计时单位一般在0.01s~1s。高频的时钟源脉冲经过分频器后发生底子守时脉冲。电子计时器的计时部分便是对底子守时脉冲进行累加,发生秒、分、时等时刻信息乃至日、月、年等日期信息。

1 引起计时差错的因数

  一个惯例电子计时器的计时准确度,取决于晶振标称频率(fs)与实践频率(fo)的频率差错和晶振频率的时漂、温漂等离散参数。一般晶振的实践频率与标称频率有较大的差错,可达万分之五(5‰),折算到一天计时差错便是43.2s。一般室内气温改动在每天10℃左右,对应晶振频率温漂<10-5,若以一段较长的时刻取温漂的均匀值则更小。因而电子计时器的差错首要取决于晶振实践频率与标称频率的差错。

2 削减计时差错的办法

2.1 纯硬件办法

  关于纯硬件计时电路,因分频系数N固定不变,要进步计时准确度只能调整fo,使得它尽可能接近于fs。惯例削减计时差错的办法是:微调元件L、C、R的参数,调理硬件频率,使得时钟源的频率差错减小。但此办法操作杂乱,没有必定的电子技术知识和专用仪器很难校准,并且会下降晶振频率稳定度。

2.2 纯软件办法

  由微操控器操控的实不时钟,能够选用软件的办法消除晶振实践频率与标称频率间差错引起的计时差错。

  由微操控器操控的实不时钟,能够用软件模仿,将归入总的计时程序中,然后消除fs和fo间差错引来的计时差错。关于专用硬件时钟电路如:DS1320、PCF8583等,能够选用每小时或每10分钟读出时刻,然后乘上再写回芯片的办法校对。关于选用可编程分频守时器,由软件模仿时钟功用的软件实不时钟,则有更好的进步计时准确度的办法。由于守时器的分频系数是能够动态改动的,如89C52内置的16位计数器,分频系数能够在1~216内恣意选取。令N=Ns作为分频系数写入计数器,这样每个底子计时周期TN=TNS,然后完结软件校对守时周期。

  在×Ns刚好为整数时,能够使得计时差错为0。大部分的状况×Ns并不是整数,若将四舍五入后的值作为Ns,就会带来量化差错,最大可达,这是一个不容忽视的问题。以12MHz的89C52 T2守时器守时10ms为例,每天最大量化差错累加是:24×3600÷(2×10000)=4.32s。若在片内RAM中界说1个字节尾数,令它的满码值为,则最大量化差错就从本来的下降到。对应于上述的10ms守时程序,其最大量化差错的累加值由本来的4.32秒/天削减到0.016875秒/天,这是很大的改善。依据精度要求,能够在片内RAM中界说2个字节,令它的满码值为,这样最大量化差错就可降为。削减量化差错的详细算法是:关于运用89C52的T2守时器,若标称为12MHz的晶振实践长时刻均匀振动频率fo=12.0006MHz,量化精度取1字节,取TNS=10ms,则分频系数为:

  

  Ni为第i次守时值,可能是10000或10001,这取决于NTi的进位;NTi为第i次尾数暂存值。

  每次守时中止服务程序均履行(1)式,获得第i 次的守时计数值,然后实不时钟添加10ms,完结时钟功用。值得注意的是,Ni是实践的计数值,至于实践写入特定守时器的数值,则须依据详细守时器的递减、递加计时性质别离写入Ni或Ni的补码,一起守时器 在溢出到新的守时值装入并开端新守时周期这段时刻,将TLOAD考虑在内。例如89C52 T2作业于主动重装守时初值、递加守时办法时,实践写入守时器T2的捕获/主动重装载寄存器(Rcap2H,Rcap2L)的值是Ni的补码,即65536-Ni;而关于89C52 T0和T1守时器则实践写入的守时初值是:Ni的补码+TLOAD对应的机器周期数。

3 丈量晶振实践长时刻振动频率

  没有专用仪器,怎样测得晶振实践长时刻振动频率?有一个很简单的办法。以标称频率下的守时计数值Ns作为实践计数值,在电台报不时将时刻设置正确,然后让它运转一段较长的时刻,再与电台的报时比较求出差错的秒数,即可算出实践频率。例如晶振标称频率是12MHz,时钟运转了10天,快了432s,则

  

  若将上述算法编成程序,让用户直接输入N和NT的值;或输入运转了多少天、时、分、秒,快或慢了多少秒,让体系主动算出N和NT,将会为从底子上校准时钟带来极大便利。任何人都能够轻松地进步时钟准确度而无需专业知识和专用仪器。

  现在微操控器已广泛应用于人们日常日子的各个方面,电子时钟也跟着它融入到各种电器和设备中,如专门时钟功用的石英表和各种顺便电子计时器的电器如手机、一般液晶显示电话、VCD机、DVD机、电视及高级音响、空调遥控器、电力体系微机主动化设备等。高级专用计时器如高级石英表,由于计时是它的主功用,须确保计时准确度而对计不时钟源准确度要求严厉,每天差错在1s以下。以上说到的其它电器,其时钟仅仅它的一个顺便功用,出厂时一般不严厉校对,乃至底子不做任何校对。所以差错一般在1秒/天以上,有些达10秒/天以上,每天都需校对,不然运转几天就会因差错太大而变得不可信,令用户不堪烦恼。

  在电力体系中,无人值勤变电站须装置无功主动操控设备。它依据一天中的不一起刻段和电网无功状况主动投退%&&&&&%器组,使得电网的功率因数尽可能接近于1,以利于经济运转。但有些设备内部时钟每天差错>5分钟。若将本文算法编入计时程序中,让用户自己校对守时参数,将大大进步各种顺便时钟的计时准确度。

  将根据软件进步实不时钟准确度的算法应用于一般石英晶振,使用89C52 T2守时器的软实不时钟,未作校对前每天快11s;进行软件计时校对后,每10天的计时差错<1s。本文提出的根据软件进步时钟准确度的算法,具有极高的有用价值。

参考文献

1 何立民.单片机应用技术选编(1).北京:北京航空航天大学出版社,1994

2 罗 娟.计算机时刻校准办法.微计算机信息,1999;(4)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/224880.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部