CN1324423C - 可动态补偿定时器的不准确性的定时器系统与相关方法 - Google Patents

可动态补偿定时器的不准确性的定时器系统与相关方法 Download PDF

Info

Publication number
CN1324423C
CN1324423C CNB2004101002212A CN200410100221A CN1324423C CN 1324423 C CN1324423 C CN 1324423C CN B2004101002212 A CNB2004101002212 A CN B2004101002212A CN 200410100221 A CN200410100221 A CN 200410100221A CN 1324423 C CN1324423 C CN 1324423C
Authority
CN
China
Prior art keywords
timer
interval
value
reference event
real time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2004101002212A
Other languages
English (en)
Other versions
CN1673926A (zh
Inventor
丘伟源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Jie FA Technology Co., Ltd.
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN1673926A publication Critical patent/CN1673926A/zh
Application granted granted Critical
Publication of CN1324423C publication Critical patent/CN1324423C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Measurement Of Unknown Time Intervals (AREA)
  • Electric Clocks (AREA)

Abstract

本发明揭露一种可动态补偿一定时器的不准确性的定时器系统与相关方法。该定时器系统包含有:一定时器,用来依据一预设时间间隔重复地触发一参考事件;一第一储存单元,用来储存一阀值;一第二储存单元,用来储存对应于该定时器所产生的多个参考事件的一计数值;一跟踪模块,用来跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔;一计算模块,用来计算一补偿值;以及一补偿模块,用来减小该计数值与该阀值之间的一差异值;以及一决定逻辑,用来于该计数值不再小于该阀值时产生一应答事件。

Description

可动态补偿定时器的不准确性的定时器系统与相关方法
技术领域
本发明涉及一种定时器系统,特别涉及一种可动态补偿定时器的不准确性的定时器系统与相关方法。
背景技术
在各种电子装置之中,定时器系统(timer system)是用来辅助对各种运算的编程(scheduling)工作以及管理工作的重要组件。通常定时器系统的工作方式是:跟踪(tracking)时间的变化,并且在经过一特定量的时间之后,发出(issue)警告信息(alarm)。
至于定时器系统在实施上则可以分成两种类别,分别是软件式(software-based)与硬件式(hardware-based)两类。软件式定时器系统是利用一电子装置中的一微处理器来执行一软件定时器程序(softwaretimer program),以轮询(poll)设置在该电子装置中的一硬件定时器。该硬件定时器则在经过一特定量的时间之后,发出中断信息(interrupt)以通知该微处理器。然而,除了很难撰写出适当的程序代码执行上述功能之外,前述的作法还会占用到额外的系统资源(system resource)。至于硬件式定时器系统则是使用独立的硬件装置来执行前述软件定时器程序的功能。在这种作法下,撰写程序代码的工作会变的较为简单,且省下来的系统资源还可以提供给其它的任务使用。
在大多数的情形下,一定时器系统会包含有:一定时器,耦合于一时钟源(clock source)、一计数器、一比较器、以及储存有一阀值(threshold)的一储存装置。每当经过一特定的时间之后,该定时器就会产生出一事件(event)。而该时钟源会输出一时钟信号以驱动该定时器,而依据该时钟信号,定时器即可跟踪究竟经过了多少时间。该计数器是连接于该定时器,用来计算该定时器所产生的事件的数量。该比较器是用来比较该计数器所算出的一计数值与该储存装置中的该阀值。该阀值是用来表示该定时器系统在经过了多少时间之后,必须发出一警告信息(alarm)。因此,每当该计数值等于该阀值时,该定时器系统即会发出一警告信息。
前述的定时器系统具有一个主要的缺点:就是大多数定时器中的时钟源都不稳定(unstable)。而时钟源的不稳定性(instability)则表示定时器无法很准时地产生每一个事件,亦即定时器系统所产生的警告信息在时间上并不一定是准确的。举例来说,假设定时器的设置是每经过20ms即产生一事件,而定时器系统必须在经过200ms之后发出警告信息,在此种情形下,必须经过10个事件之后,才会经过200ms的时间,因此必须将阀值设定为10。理想上来讲,当定时器产生到第10个事件之后,计数值即会等于阀值,此时定时器系统就会发出警告信息,表示已经经过了200ms的时间。
然而,如前所述,通常时钟源不是很稳定,因此定时器有可能每经过大于20ms的时间(例如40ms)才会产生一次事件。此时,当计数值到达10的时候,会相等于阀值,定时器系统会因而发出警告信息,然而,由于时钟源的不稳定,此时可能已经过了400ms的时间,而不只是200ms而已。
而现有技术中有一种静态的(static)解决方法,可以在定时器无法准时产生事件时,对计数器进行补偿。举例来说,以上述定时器每经过40ms(而非20ms)及产生一次事件的情形为例。在此现有技术的作法下,定时器系统会检测一第一事件是否准确地经过20ms之后就产生出来。若真的是20ms,则系统不会有补偿的动作。若是所需的时间不同,则定时器系统会产生一补偿值来递增(increment)计数器。明显地,在上述例子中,40ms并不等于20ms。由于计数器理想上必须每经过20ms即产生一事件,故对40ms的补偿值应该设成2。因此计数器在知道第一事件产生后,会使用此补偿值(2)来执行递增工作,并在后续事件产生时亦使用此补偿值(2)来执行递增工作。因此,只要经过5次事件之后,计数器的计数值就会等于阀值,故定时器系统可以在200ms之后发出警告信息。
然而,此种现有技术有一个缺点,就是会将时钟源的不稳定性(instability)假设为固定的值。换句话说,在得知定时器花了40ms才产生第一事件之后,此种现有技术就会假设所有的事件都需要40ms才会产生。很明显地,当时钟源的不稳定性不具有固定值时,系统就会产生错误计时的问题。举例来说,假设定时器需要40ms来产生第一事件,需要60ms来产生该第二事件,需要80ms来产生第三事件,而后续的各个事件则皆须20ms,则在前述静态的解决方案下,定时器系统在得知第一事件经过了40ms才发生后,后续每个事件产生时,系统都会使用补偿值(2)来对计数器执行递增工作。因此只要经过5个事件之后,计数值就会等于阀值。然而,经过5个事件之后,实际上却会经过220ms的时间(而不是预期的200ms)。若是让计数值经过4个事件之后即等于阀值,则系统的计时工作才会正确,然而,由于此种现有技术在计算补偿值时具有静态的本质(亦即只能使用固定的补偿值来进行修正),故并没有办法达到准确计时的功效。
发明内容
因此本发明的目的之一,在于提供一种可动态补偿定时器的不准确性的定时器系统与相关方法,以解决现有技术所面临的问题。
根据本发明的一种用来动态地补偿一定时器的不准确性的方法,该定时器是依据一预设时间间隔重复地触发一参考事件,该方法包含有以下步骤:储存一阀值;储存一计数值,其中,该计数值是对应于由该定时器所产生的多个参考事件;跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔,其中,该第二参考事件是发生在该第一参考事件之后;依据该预设时间间隔与该实际时间间隔计算一补偿值;以及使用该补偿值来减小该计数值与该阀值之间的一差异值,其中,跟踪该实际时间间隔的步骤另包含有:跟踪每二相邻的参考事件之间的一实际时间间隔,其中,跟踪该实际时间间隔的步骤另包含有:使用一参考时钟来计算一时间值,其中,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;以及在该参考时钟开始跟踪该第一参考事件与该第二参考事件之间的该实际时间间隔前,重新设定该时间值。
根据本发明的另一种用来动态地补偿一定时器的不准确性的方法,该定时器是重复地触发一参考事件,该方法包含有以下步骤:储存一阀值与一计数值,所述阈值是用于和所述计数值做比较的值;跟踪每二参考事件之间的一实际时间间隔;以及累计对应于多个参考事件的多个实际时间间隔以产生一累计值,并使用该值来更新该计数值,其中,跟踪该实际时间间隔的步骤另包含有:跟踪每二相邻的参考事件之间的该实际时间间隔,其中,跟踪该实际时间间隔的步骤另包含有:使用一参考时钟来计算一时间值,其中,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;以及在该参考时钟开始跟踪一第一参考事件与一第二参考事件之间的该实际时间间隔前,重新设定该时间值。
根据以下的一实施例,本发明是揭露一种设置在一电子装置中的定时器系统,可对其定时器的不准确性进行补偿。该定时器系统包含有:一定时器,用来依据一预设时间间隔重复地触发一参考事件;一第一储存单元,用来储存一阀值;一第二储存单元,用来储存对应于该定时器所产生的多个参考事件的一计数值;一跟踪模块,电连接于该定时器,用来跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔,其中,该第二参考事件是发生在该第一参考事件之后;一计算模块,电连接于该跟踪模块,用来依据该预设时间间隔与该实际时间间隔计算一补偿值;以及一补偿模块,电连接于该计算模块以及该第一、第二储存单元中的至少一者,用于使用所述补偿值来减小该计数值与该阀值之间的一差异值,其中,该跟踪模块包含有:一时钟产生器,用来提供一参考时钟;其中,该跟踪模块是使用该参考时钟来计算一时间值,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;该跟踪模块并在该参考时钟开始跟踪该第一参考事件与该第二参考事件之间的该实际时间间隔前,重新设定该时间值。
根据以下的另一实施例,本发明是揭露一种方法,用来对设置在一电子装置中的定时器系统的定时器的不准确性进行补偿。该方法包含有以下步骤:储存一阀值;储存一计数值,其中该计数值是对应于由该定时器所产生的多个参考事件;跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔,其中该第二参考事件是发生在该第一参考事件之后;依据该预设时间间隔与该实际时间间隔计算一补偿值;使用该补偿值来减小该计数值与该阀值之间的一差异值;以及若该计数值到达该阀值则产生一应答事件。
根据本发明的又一种定时器系统,包含有:一定时器,用来重复地触发一参考事件;一第一储存单元,用来储存一阀值;一第二储存单元,用来储存一计数值;一跟踪模块,电连接在该定时器,用来跟踪每二参考事件之间的一实际时间间隔;以及一计算模块,电连接于该跟踪模块,用来累计对应于多个参考事件的多个实际时间间隔以计算出一累计值,并藉由该值来更新该计数值,其中,该跟踪模块包含有:一时钟产生器,用来提供一参考时钟;其中,该跟踪模块是使用该参考时钟来计算一时间值,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;该跟踪模块并在该参考时钟开始跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔前,重新设定该时间值。
本发明的好处之一在于,所使用的补偿值可以依据参考事件间波动的时间间隔而动态地改变,而非如现有技术一般只使用固定的补偿值。由于本发明使用了动态改变的补偿值,因此在计时上可以比现有技术更为准确。
附图说明
图1是本发明的定时器系统的一实施例示意图。
图2是图1的定时器系统所使用的方法的一流程图。
图3是图1的定时器系统所使用的方法的另一流程图。
附图符号说明
10             定时器系统
20             定时器
30             跟踪模块
32             时钟产生器
40             计算模块
50             补偿模块
60、70         储存单元
80             比较器
90             控制器
具体实施方式
请参阅图1,图1是本发明的定时器系统的一实施例示意图。本实施例中的定时器系统10包含有一定时器20、一跟踪模块(tracking module)30、一计算模块40、一补偿模块50、一第一储存单元60(用来储存一阀值TH)、一第二储存单元70(用来储存一计数值CV)、一决定逻辑(即比较器80)、以及一微处理器(即控制器90)。除此之外,跟踪模块30还包含有一时钟产生器32,用来提供一参考时钟,以正确地跟踪由定时器20所触发的每两个相邻的事件(event)之间的一实际时间间隔。然而,由于时钟产生器32无法发出系统中断信息(interrupt),因此只能用来提供参考时钟,而不能代替定时器的功能。如前所述,将定时器系统10设置成软件式的定时器系统或硬件式的定时器系统皆是可行的作法。若是设置成硬件式的定时器系统,则定时器系统10之中的组件就是各种硬件装置;若是设置成软件式的定时器系统,就必须使用一微处理器来实现控制器90、计算模块40、补偿模块50、储存单元60、70以及比较器80,并正确地执行软件定时器程序。换句话说,控制器90、计算模块40、补偿模块50、储存单元60、70、以及比较器80可以设置在前述的微处理器之中,并执行软件定时器程序以触发(trigger)通知信息(notification);相反地,控制器90、计算模块40、补偿模块50、储存单元60、70、以及比较器80亦可以是单纯的硬件装置,以不执行软件定时器程序的方式来触发通知信息。
定时器20是用来连续地在每经过一预设时间值后,产生一事件,举例来说,其所产生的事件可以是系统中断(system interrupt)。跟踪模块30是电连接于定时器20,用来跟踪两个事件之间所历经的一实际时间间隔值。计算模块40是电连接于跟踪模块30,用来依据该预设时间值与该实际时间间隔值来计算出一补偿值。补偿模块50是连接于计算模块40以及储存单元60、70中的至少一者,用来减小计数值CV与阀值TH之间的差异值。储存单元60储存有阀值TH,其是代表了所应经过的事件的数量;储存单元70储存有计数值CV,用来跟踪所应经过的事件的适当的数量。该决定逻辑(亦即比较器80)是用来判断是否计数值CV已到达阀值TH,在「是」的状况下,则产生出一应答信息(acknowledgement signal)。在本实施例中,控制器90是以一不稳定的驱动时钟(driving clock)来驱动定时器20,并可接收自比较器80送来的应答信息。由于该驱动时钟是不稳定的,因此定时器20的特性亦会变得不稳定。请注意,上述的描述仅用来作为本发明的一个例子,并不限制本发明的申请专利范围。
请参阅图2,图2是图1的定时器系统10所使用的方法的一流程图。该方法是用来动态地补偿定时器20的不准确性(imprecision)。以下将详述图2的各个步骤:
步骤100:开始。
步骤110:储存阀值。由定时器系统10将一阀值TH存入储存单元60之中。此一阀值TH是用来控制在比较器80产生出应答信息送至微处理器90之前,所应经过的时间长度。
步骤120:跟踪实际时间间隔。使用不稳定的驱动时钟,定时器20可连续地在每次经过一预设时间值之后,产生出一事件。当定时器20产生出一第一事件时,跟踪模块30即会开始使用由时钟产生器32所输出的正确的参考时钟,来计算直到定时器20产生出一第二事件时,所经过的时间长度,以得出一实际时间间隔值。
步骤130:计算补偿值。使用该实际时间间隔值与该预设时间值,计算模块40可决定出一适当的补偿值,以对计数值CV及/或阀值TH进行调整。
步骤140:减少差异值。依据由计算模块40所决定出的该补偿值,补偿模块50可减少于阀值TH与计数值CV之间的差异值。
步骤150:阀值TH与计数值CV是否相互吻合?由比较器80负责检查储存单元70中的计数值CV是否已经到达储存单元60中的阀值TH的大小。若计数值CV并未到达阀值TH的大小,即回到步骤120。若计数值CV已到达阀值TH,则进入步骤160。
步骤160:产生应答信息。在计数值CV到达阀值TH的情形下,即代表已经经过了预期所欲经过的时间,故比较器80可产生出一应答信息并传送至微处理器90。
步骤170:结束。
请同时参阅图1与图2。在步骤110中,定时器系统10是将阀值TH储存在储存单元60之中。阀值TH是用来控制定时器系统10以产生应答信息。在步骤120中,在定时器20依据预设的时间间隔产生各个事件的时候,跟踪模块30会开始利用由时钟产生器32所产生的正确的参考时钟来计算两个连续产生的事件之间的时间间隔。换句话说,透过定时器20与时钟产生器32之间的同步关系(synchronization),将可得出两个连续产生的事件间所经历正确的时间间隔,因此本发明可以达到正确跟踪实际时间间隔的目的。
前文所提到的实际时间间隔值将会由计算模块40使用在步骤130之中,以产生出一补偿值。在此一实施例中,该补偿值是为实际时间间隔值相对于该预设时间的一比率(ratio),至于该预设时间则是依照使用者的设定,定时器20据以产生各个事件的参考标准。而在本实施例中是以最近的整数值来作为该比率值。举例来说,若前述的比率是为5∶2,则本发明可以整数3来代替所使用的比率值;相似地,若前述的比率是为10∶3,则本发明可以以整数3来代替所使用的比率值。请注意在本发明其它的实施例中,亦可使用浮点数(floating point)来代表该比率值,此时就不用选用最接近的整数来代替,且数值的精确程度还可由使用者自行选择。举例来说,5∶2可以用2.5来代表其比率值。请注意,上述使用最接近整数或浮点数来代表比率值的方式仅是说明中所使用的例子,并不限定本发明的申请专利范围。
接下来,在步骤140中,补偿模块50会使用补偿值来减小储存单元60中的阀值TH与储存单元70中的计数值CV之间的差异值。而在本实施例中,补偿模块50是直接将补偿值加入计数值CV之中。举例来说,若补偿值等于3,则计数值CV就会被增加3(请注意此处所述的作法仅是其中一种可行的方式)。在其它的实施例中亦可以将补偿值拆开来,分别用以修改计数值CV与阀值TH,或是仅对阀值TH进行修改。举例来说,在补偿值等于3的情形下,有的实施例可以将计数值CV增加2并将阀值TH减小1,有的实施例则可以仅将阀值TH减小3。这三种作法仅是在实施上几种可行的作法,并不限制本发明的申请专利范围。
在步骤140中缩小了差异值之后,在步骤150中比较器80会检查计数值CV是否已到达阀值TH的大小。若计数值CV尚未到达阀值TH,即表示预期所欲经过的时间长度还没到达,因此定时器系统10会回到步骤120,以更进一步减小计数值CV与阀值TH之间的差异值。然而,若计数值CV与阀值TH已相互吻合,则表示已经经过了预期所欲经过的时间长度了,故此时比较器80会发出一应答信息以告知控制器90。接下来,控制器90即可在收到应答信息之后执行后续该执行的任务。
请同时参阅图3与图2。图3是图1的定时器系统10所使用的方法的另一流程图。图3与图2所示的流程图具有大致上相同的步骤,不同之处在于图3中多了一个步骤180。很明显的,图2所示的流程图仅是一个时间跟踪机制(trackingm echanism),用来跟踪特定的时间长度,亦即,在经过了特定的时间之后,图2所示的流程一定会发出一应答信息。然而,除了用来跟踪特定的时间长度之外,本发明亦可以用来安排执行一预期任务的时间。举例来说,在加载一光盘的时候,光驱(optical disk drive)通常需要在一预设时间内确认该光盘的种类(例如是CD-R或是CD-RW)。当光盘加载光驱中时,图3所示的流程图会在步骤100开始执行。依据前述的预设时间,本发明是在步骤-110中决定出阀值TH。请注意,由于步骤110、120、130、140、150、160皆已在前文中做过详细的说明,故在此不多作赘述。
如图3所示,若计数值CV尚未到达阀值TH,即会进入步骤180中以检查是否已完成预期任务(在本实施例中是为判定光盘的种类)。若预期任务已经完成了,则图3所示的流程图就会从步骤180直接跳到步骤170以结束整个流程(即使在计数值CV尚未到达阀值TH的情形下,亦会结束整个流程)。换句话说,这就表示光驱已经在预设时间内分辨出光盘所属的种类,因此不需要再花后续的时间来进行盘片种类判定的工作。另一方面,若光驱无法在预设时间内判断出光盘的种类,则在计数值CV到达阀值TH的情形下,在步骤160中就会产生出一应答事件以回报任务失败的情形。总结来说,本发明的方法不仅可以用来在经过了预设时间之后触发相对应的应答事件,亦可藉由跟踪机制的帮助,来检视一预期任务在预定时间内的执行状况。
为了更清楚的说明本发明的概念,先来看看前述的现有技术,定时器预期每经过20ms的预设时间就应该要产生出一事件(因此要到达200ms的话,阀值就必须要设定为10),然而,第一事件经过了40ms才产生,第二事件经过了60ms才产生,第三事件经过了80ms才产生,后续其它的事件则都经过了20ms产生。由于现有技术的解决方案仅会使用固定的补偿值(在这个例子中补偿值是为2),因此定时器系统会在经过5个事件之后到达阀值,总共会经过220ms(而非所期望的200ms)。
然而,依据本发明的作法,定时器系统10会在经过4个事件之后到达阀值,所经过的时间则为200ms,正是所期望的时间长度。假设计数值CV的初始值是为0(相对地,阀值TH的初始值则设为10)。当定时器20开始工作时,跟踪模块30会重置以开始进行计数。经过40m之后,定时器20会触发第一事件,此时计算模块40会决定出补偿值等于2(因为实际时间间隔值40ms与默认值20ms之间的比率是等于2)。因此补偿模块50会将2加到计数值CV之中,故计数值CV将会等于2。由于此时计数值CV依旧小于阀值TH,故定时器系统10会回到步骤120。这次(第二次)所经历的实际时间间隔值将会是60ms,因此计算模块40将会决定出补偿值等于3(因为实际时间间隔值60ms与默认值20ms之间的比率是等于3)。经过步骤140之后,计数值CV将会等于5。由于到达步骤150时,计数值CV依旧小于阀值TH,故定时器系统10会再次回到步骤120。这次(第三次)所经历的实际时间间隔值将会是80ms,因此计算模块40将会决定出补偿值等于4(因为实际时间间隔值80ms与默认值20ms之间的比率是等于4)。经过步骤140之后,计数值CV将会等于9。再次执行步骤150系统还是会回到步骤120。在第四次执行步骤120时,实际时间间隔将会等于20ms。因此补偿值会等于1。在步骤140中将此一补偿值1加入计数值CV之后,计数值CV将会等于10,亦即计数值CV已经与阀值TH相互吻合,故比较器80会产生出一应答信息来通知控制器90。在前述以动态方式来调整计数值CV与阀值TH以校正定时器20的不准确性的作法下,定时器系统10将在经过4个事件之后即产生出应答事件,所经历的时间确实会等于预期的200ms。
在前面的描述中,阀值TH的初始值是设计成大于计数值CV的初始值。因此,当要使用补偿值M来减小计数值CV与阀值TH之间的差异时,可以将计数值CV加上补偿值M、或是将阀值TH减去补偿值M,或是将计数值CV加上一值N并将阀值TH减去另一值(M-N)。然而,将计数值CV的初始值设计成大于阀值TH的初始值亦是可行的作法,此时,当要使用补偿值M′来减小计数值CV与阀值TH之间的差异时,可以将计数值CV减去补偿值M′、或是将阀值TH加上补偿值M′,或是将计数值CV减去一值N′并将阀值TH加上另一值(M′-N′)。不论是使用上述哪一种作法皆可达成本发明正确跟踪时间的功效。
请注意在某些情形下,定时器系统可能会经过比预期更久的时间才发出应答信息,这是因为实际时间间隔值并不一定每次都可以被预设时间值所整除。在这种情形下,若设计者想更进一步增加定时器系统10的准确度,一种方法就是将预设时间值设的更小。举例来说,可以将前述20ms的预设时间值改成10ms。当然,若使用此种作法,则亦需对阀值TH作相对应的修改。当默认值变得更小时,舍去误差(round-off error)就会变得更小。举例来说,若默认值是为20ms,则最大的舍去误差将会等于10ms。然而,若默认值是为10ms,则最大的舍去误差将会缩小为等于5ms。换句话说,在定时器20使用更小的预设时间值的情形下,因舍去误差所造成的影响就会变得较为不重要。
请注意,前述使用储存单元70中的计数值CV来计数所经过的事件仅是一个例子,并不限定本发明的申请专利范围。在本发明其它的实施例中,亦可使用计数值CV来直接表示真正经历的时间长度。举例来说,在上述例子中,除了在实际时间间隔等于40ms时将2存入计数值CV之中以外,定时器系统10亦可直接将40存入计数值CV之中。如此一来,定时器系统10将可直接记录所经历的时间长度(而非所产生的事件的数目)。在此种作法下,将不需要使用计算模块40,且阀值TH将直接设为预期所欲经过的时间长度(而非预期该经过的事件的数目)。总和来说,在定时器需要40ms来产生第一事件,60ms来产生第二事件,80ms来产生第三事件,各20ms来产生后续事件的定时器系统中,阀值可以设定为200,而经过第一事件之后,计数器将递增40(而非2)、经过第二事件之后,计数器将递增60(而非3)、经过第三事件之后,计数器将递增80(而非4),最后,经过第四事件之后,计数器将递增20(而非1),此时计数值CV将会等于200,而相等于阀值TH(亦为200),故定时器系统亦可以于200ms之后正确地产生出应答事件。此种作法的好处在于:由于使用了真实的时间来计数(而非使用最接近于产生的事件数目的整数值),因此不会有舍去误差的问题。
请注意不论是计算事件的数量或是直接计算经过的时间,都仅是本发明其中的例子而已,并不限制本发明的申请专利范围。
很明显地,本发明的一个优点在于,可以提升定时器系统的准确性。藉由动态地调整计数值与阀值之间的差异量,可以补偿定时器系统中不稳定定时器所造成的不准确性(imprecision),因此计时所经过的时间会更接近预期所欲经过的时间长度。故定时器系统的整体效能可以大为提升。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (22)

1.一种用来动态地补偿一定时器的不准确性的方法,该定时器是依据一预设时间间隔重复地触发一参考事件,该方法包含有以下步骤:
储存一阀值;
储存一计数值,其中,该计数值是对应于由该定时器所产生的多个参考事件;
跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔,其中,该第二参考事件是发生在该第一参考事件之后;
依据该预设时间间隔与该实际时间间隔计算一补偿值;以及
使用该补偿值来减小该计数值与该阀值之间的一差异值,
其中,跟踪该实际时间间隔的步骤另包含有:
跟踪每二相邻的参考事件之间的一实际时间间隔,
其中,跟踪该实际时间间隔的步骤另包含有:
使用一参考时钟来计算一时间值,其中,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;以及
在该参考时钟开始跟踪该第一参考事件与该第二参考事件之间的该实际时间间隔前,重新设定该时间值。
2.如权利要求1所述的方法,其另包含有:
若该计数值到达该阀值,则产生一应答事件。
3.如权利要求1所述的方法,其中,计算该补偿值的步骤另包含有:
藉由计算该实际时间间隔对该预设时间间隔的一比率来决定该补偿值。
4.如权利要求3所述的方法,其中,计算该补偿值的步骤另包含有:
使用最接近于该比率的一整数来作为该补偿值。
5.如权利要求3所述的方法,其中该补偿值是为记录该实际时间间隔对该预设时间间隔的比率的一浮点值。
6.如权利要求1所述的方法,其中,该阀值的一初始值是大于该计数值的一初始值,而使用该补偿值来减小该差异值的步骤另包含有:
将该计数值加上该补偿值而不修改该阀值,以该补偿值来减小该差异值。
7.如权利要求1所述的方法,其中,这些参考事件是为系统中断。
8.一种用来动态地补偿一定时器的不准确性的方法,该定时器是重复地触发一参考事件,该方法包含有以下步骤:
储存一阀值与一计数值,所述阈值是用于和所述计数值做比较的值;
跟踪每二参考事件之间的一实际时间间隔;以及
累计对应于多个参考事件的多个实际时间间隔以产生一累计值,并使用该值来更新该计数值,
其中,跟踪该实际时间间隔的步骤另包含有:
跟踪每二相邻的参考事件之间的该实际时间间隔,
其中,跟踪该实际时间间隔的步骤另包含有:
使用一参考时钟来计算一时间值,其中,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;以及
在该参考时钟开始跟踪一第一参考事件与一第二参考事件之间的该实际时间间隔前,重新设定该时间值。
9.如权利要求8所述的方法,其另包含有:
若该计数值到达该阀值,则产生一应答事件。
10.如权利要求8所述的方法,其中,这些参考事件是为系统中断。
11.一种定时器系统,包含有:
一定时器,用来依据一预设时间间隔重复地触发一参考事件;
一第一储存单元,用来储存一阀值;
一第二储存单元,用来储存对应于该定时器所产生的多个参考事件的一计数值;
一跟踪模块,电连接于该定时器,用来跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔,其中,该第二参考事件是发生在该第一参考事件之后;
一计算模块,电连接于该跟踪模块,用来依据该预设时间间隔与该实际时间间隔计算一补偿值;以及
一补偿模块,电连接于该计算模块以及该第一、第二储存单元中的至少一者,用于使用所述补偿值来减小该计数值与该阀值之间的一差异值,
其中,该跟踪模块包含有:
一时钟产生器,用来提供一参考时钟;
其中,该跟踪模块是使用该参考时钟来计算一时间值,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;该跟踪模块并在该参考时钟开始跟踪该第一参考事件与该第二参考事件之间的该实际时间间隔前,重新设定该时间值。
12.如权利要求11所述的定时器系统,其另包含有:
一比较器,电连接于该第一、第二储存单元,用来在该计数值到达该阀值时产生一应答事件。
13.如权利要求12所述的定时器系统,其中,该第一、第二储存单元、该计算模块、该补偿模块、以及该比较器是设置在一微处理器之中,该定时器是由该微处理器所驱动。
14.如权利要求11所述的定时器系统,其中,该补偿模块是藉由计算该实际时间间隔对该预设时间间隔的一比率来决定该补偿值。
15.如权利要求14所述的定时器系统,其中,该补偿模块是使用最接近于该比率的一整数来作为该补偿值。
16.如权利要求14所述的定时器系统,其中,该补偿模块是使用一浮点值来作为该补偿值,用来记录该实际时间间隔对该预设时间间隔的该比率。
17.如权利要求11所述的定时器系统,其中,该阀值的一初始值是大于该计数值的一初始值,该补偿模块是藉由将该计数值加上该补偿值而不修改该阀值以该补偿值来减小该差异值。
18.如权利要求11所述的定时器系统,其中,这些参考事件是该定时器系统的系统中断。
19.一种定时器系统,包含有:
一定时器,用来重复地触发一参考事件;
一第一储存单元,用来储存一阀值;
一第二储存单元,用来储存一计数值;
一跟踪模块,电连接在该定时器,用来跟踪每二参考事件之间的一实际时间间隔;以及
一计算模块,电连接于该跟踪模块,用来累计对应于多个参考事件的多个实际时间间隔以计算出一累计值,并藉由该值来更新该计数值,
其中,该跟踪模块包含有:
一时钟产生器,用来提供一参考时钟;
其中,该跟踪模块是使用该参考时钟来计算一时间值,该时间值是对应于每二相邻的参考事件之间的该实际时间间隔;该跟踪模块并在该参考时钟开始跟踪一第一参考事件与一第二参考事件之间的一实际时间间隔前,重新设定该时间值。
20.如权利要求19所述的定时器系统,其另包含有:
一比较器,电连接于该第一、第二储存单元,用来在该计数值到达该阀值时产生一应答事件。
21.如权利要求19所述的定时器系统,其中,该第一、第二储存单元、该计算模块、以及该比较器是设置在一微处理器之中,该定时器是由该微处理器所驱动。
22.如权利要求19所述的定时器系统,其中,这些参考事件是该定时器系统的系统中断。
CNB2004101002212A 2004-03-26 2004-12-13 可动态补偿定时器的不准确性的定时器系统与相关方法 Active CN1324423C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/708,799 2004-03-26
US10/708,799 US20050216215A1 (en) 2004-03-26 2004-03-26 Timer system and method capable of dynamically compensating a difference between a count value and a threshold value for the imprecision of a timer

Publications (2)

Publication Number Publication Date
CN1673926A CN1673926A (zh) 2005-09-28
CN1324423C true CN1324423C (zh) 2007-07-04

Family

ID=34991185

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004101002212A Active CN1324423C (zh) 2004-03-26 2004-12-13 可动态补偿定时器的不准确性的定时器系统与相关方法

Country Status (3)

Country Link
US (1) US20050216215A1 (zh)
CN (1) CN1324423C (zh)
TW (1) TWI252385B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334182B2 (en) * 2004-11-24 2008-02-19 Northrop Grumman Corporation Serial data preservation method
CN101986217B (zh) * 2010-11-03 2015-06-03 江阴众和电力仪表有限公司 事件顺序记录时间最大累计误差的精确测量以及消除方法
JP6510981B2 (ja) * 2013-11-12 2019-05-08 セイコーインスツル株式会社 時刻修正システム及び時計
CN106788957B (zh) * 2016-12-30 2022-02-11 广州华多网络科技有限公司 一种校正计时器时间误差的方法及装置
CN106940665B (zh) * 2017-03-24 2021-04-20 惠州Tcl移动通信有限公司 一种基于移动终端的时间校正控制方法、系统及移动终端
CN109827288A (zh) * 2018-12-29 2019-05-31 珠海格力电器股份有限公司 一种自动纠错控制方法、装置及电器设备
CN115250124B (zh) * 2021-04-26 2024-01-19 瑞昱半导体股份有限公司 收发器电路与传送功率偏差补偿方法
CN115083137B (zh) * 2022-07-19 2023-08-11 珠海格力电器股份有限公司 红外补偿的处理系统
CN115500369B (zh) * 2022-11-22 2023-03-07 单县龙腾食品有限公司 一种基于大数据的面条机控制系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4903251A (en) * 1989-09-05 1990-02-20 Ford Motor Company Accuracy adjustment for time-of-day clock using a microcontroller
CN1072522A (zh) * 1991-10-04 1993-05-26 布尔·Hn·信息系统有限公司 微机总线接口协议分析器
US6084441A (en) * 1996-07-30 2000-07-04 Nec Corporation Apparatus for and method of processing data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889189A (en) * 1974-02-21 1975-06-10 Tenny D Lode Digital time measurement system
US4093873A (en) * 1976-10-28 1978-06-06 Intel Corporation Compensating digital counter for quartz crystal oscillator
US4282595A (en) * 1979-12-21 1981-08-04 Timex Corporation Method for digital frequency trimming an oscillator in an electronic timepiece
JPS5698660A (en) * 1980-01-09 1981-08-08 Advantest Corp Frequency measuring device
US4407589A (en) * 1981-02-13 1983-10-04 Davidson John R Error correction method and apparatus for electronic timepieces
US4400093A (en) * 1981-07-06 1983-08-23 Omega Louis Brandt & Frere S.A. Method for inspecting the running of a timepiece and timepiece adapted for such method
JPS63118651U (zh) * 1987-01-28 1988-08-01
US4708491A (en) * 1987-05-27 1987-11-24 Chrysler Motors Corporation Time of day clock
US5325313A (en) * 1990-07-20 1994-06-28 H & S Technical Systems, Inc. System for measuring timepiece beat interval accuracy
JP2507833B2 (ja) * 1990-12-25 1996-06-19 三菱電機株式会社 マイクロコンピュ−タ
US5535380A (en) * 1994-12-16 1996-07-09 International Business Machines Corporation System to reduce latency for real time interrupts
US6141296A (en) * 1999-06-18 2000-10-31 Ford Motor Company Time-of-day clock assembly
US6397283B1 (en) * 1999-07-23 2002-05-28 Chung-Shan Institute Of Science & Technology Method of automatically adjusting interrupt frequency
US6981165B2 (en) * 2002-09-03 2005-12-27 International Business Machines Corporation Method and apparatus for handling an interrupt from a real-time clock to increment a program clock

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4903251A (en) * 1989-09-05 1990-02-20 Ford Motor Company Accuracy adjustment for time-of-day clock using a microcontroller
CN1072522A (zh) * 1991-10-04 1993-05-26 布尔·Hn·信息系统有限公司 微机总线接口协议分析器
US6084441A (en) * 1996-07-30 2000-07-04 Nec Corporation Apparatus for and method of processing data

Also Published As

Publication number Publication date
US20050216215A1 (en) 2005-09-29
TW200532405A (en) 2005-10-01
TWI252385B (en) 2006-04-01
CN1673926A (zh) 2005-09-28

Similar Documents

Publication Publication Date Title
CN1324423C (zh) 可动态补偿定时器的不准确性的定时器系统与相关方法
Han et al. A fault-tolerant scheduling algorithm for real-time periodic tasks with possible software faults
CN1471376A (zh) 用于确定周期任务的最好情况响应时间的方法和系统
CN1492325A (zh) 监视微处理器的方法和具有微处理器的电路装置
CN103365708A (zh) 任务调度方法和装置
CN1862491A (zh) 用于时控程序执行的系统和方法
GB2293900A (en) Parallel discrete event simulation
CN1759553A (zh) 使通信网的系统时间和参考时钟同步的方法和装置
CN101359294A (zh) 一种嵌入式系统定时器的管理方法
US5758137A (en) Method and system for processing timer requests within a computer
CN101059980A (zh) 用于进行自适应媒体缓冲的媒体子系统、方法和程序产品
CN110888774B (zh) 基于hbase的大数据报表处理方法及装置
CN101158913A (zh) 一种检测任务死循环的方法及系统
CN101424946A (zh) 脉冲定位系统及其脉冲定位误差的补偿方法
CN1755614A (zh) 定时器的实现方法
CN111782378B (zh) 自适应性的处理性能调整方法、服务器及可读存储介质
CN1991812A (zh) 控制数据传输的方法与相关装置
CN101056204A (zh) 一种统计单板可靠性指标的方法和系统
US20230030672A1 (en) Die-based high and low priority error queues
CN1356846A (zh) 能够停止主时钟的移动电话
CN1842774A (zh) 用于支撑和监视微控制器的电路装置和方法
US10860003B2 (en) Servo controller
CN113296997A (zh) 一种基于看门狗的任务监控方法及装置
CN111061248A (zh) 一种基于时间片切片的任务调度系统及方法
Naughton et al. SMART-plan: A new message scheduler for real-time control networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160623

Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee after: Smart technology (Hefei) Co., Ltd.

Address before: China Taiwan Hsinchu County Hsinchu Science Park

Patentee before: MediaTek.Inc

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee after: Hefei Jie FA Technology Co., Ltd.

Address before: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee before: Smart technology (Hefei) Co., Ltd.