实时时钟频率修正装置制造方法
【专利摘要】一种实时时钟频率修正装置,包括:一石英振荡器,输出具有以一频率的多个振荡脉冲;一控制单元,根据上述频率设定一第一整数以及一第二整数,对应于上述第一整数的一第一次数以及对应于上述第二整数的一第二次数,其中上述第一整数大于上述频率的一最小整数,且上述第二整数小于上述频率的一最大整数;一多工器,以上述第一次数输出上述第一整数以及以上述第二次数输出上述第二整数;以及一计数器,耦接于上述多工器以及上述石英振荡器,根据所接收的上述第一整数或上述第二整数计数上述振荡脉冲的个数而输出一脉冲。
【专利说明】实时时钟频率修正装置
【技术领域】
[0001]本发明有关于修正实时时钟频率的装置,特别是关于利用频率的前后相邻两整数修正实时时钟频率的装置。
【背景技术】
[0002]实时时钟(real-time clock, RTC)是用以计算年、日、时、分、秒的计数器,其包括
一石英振荡器、一秒计数器、一分计数器、一时计数器、一天计数器以及一年计数器,通常假定石英振荡器输出的频率为32768Hz。
[0003]秒计数器计数石英振荡器输出的脉冲,当秒计数器的计数到达32768时,则输出一通知信号至分计数器;当分计数器累计计数达到60时,分计数器输出一通知信号至时计数器;当时计数器累积计数达到24时,时计数器则输出一通知信号至日计数器;当日计数器累计计数达到一默认值,择日计数器输出一通知信号至年计数器。
[0004]因此,该实时时钟的准确性由石英振荡器所产生的频率决定,然而石英振荡器所产生的频率容易受到环境温度的影响而产生频率漂移,或者因为制程的关系,通常石英振荡器产生的频率有一介于20ppm以及-20ppm的偏移率,如果石英振荡器所产生的频率不准确,连带的造成实时时钟的时间也随之不准确。然而,实时时钟可使用许多不同的修正机制修正其时间的精准度,但方法往往不够直觉简单。
【发明内容】
[0005]有鉴于此,本发明提出一种实时时钟频率修正装置,包括:一石英振荡器,输出一振荡信号,上述振荡信号具有以一频率输出的多个振荡脉冲;一控制单元,根据上述频率设定一第一整数以及一第二整数、对应于上述第一整数的一第一次数以及对应于上述第二整数的一第二次数,其中上述第一整数大于上述频率的一最小整数,且上述第二整数小于上述频率的一最大整数;一多工器,以上述第一次数输出上述第一整数以及以上述第二次数输出上述第二整数;以及一计数器,耦接于上述多工器以及上述石英振荡器,根据所接收的上述第一整数或上述第二整数计数上述振荡脉冲的个数而输出一脉冲。
[0006]本发明所述的实时时钟频率修正装置,其中上述振荡信号的上述频率根据一温度由一查找表或一多项式取得。
[0007]本发明所述的实时时钟频率修正装置,其中上述振荡信号的该频率具有一第一整数部分以及一第一小数部分。
[0008]本发明所述的实时时钟频率修正装置,还包括一第一缓存器,用以储存一既定数目。
[0009]本发明所述的实时时钟频率修正装置,其中上述控制单元根据上述既定数目与上述第一小数部分取得一乘积,并根据上述乘积的一第二整数部分设定上述第一次数,以及根据上述既定数目与上述第一整数的差设定上述第二次数。
[0010]本发明所述的实时时钟频率修正装置,还包括:一小数位数控制缓存器,用以储存一小数位数;一小数缓存器,用以储存上述第二整数部分;以及其中若是上述小数位数以二进制表示,则上述既定数目为上述小数位数的2的乘幂。
[0011]本发明所述的实时时钟频率修正装置,还包括:一整数缓存器,用以储存一第三整数,上述第三整数为上述频率的一默认值;一整数误差缓存器,用以储存上述第一整数部分减去上述第三整数的值。
【专利附图】
【附图说明】
[0012]图1显示根据本发明一实施例所述的实时时钟频率修正装置的方块图。
[0013]图2显示根据本发明一实施例所述的振荡信号S的波形图。
[0014]图3显示根据本发明的另一实施例所述的通用实时时钟频率修正装置的方块图。
[0015]图4根据本发明的一实施例图解说明既定数目、第一次数以及第二次数。
[0016]附图中符号的简单说明如下:
[0017]11:石英振荡器;12:控制单元;13:多工器;14:计数器;15:第一缓存器;16:第二缓存器;17:既定数目缓存器;18:脉冲;31:小数位数控制缓存器;32:小数缓存器;33:整数缓存器;34:整数误差缓存器。
【具体实施方式】
[0018]图1显示根据本发明一实施例所述的实时时钟频率修正装置的方块图。根据本发明一实施例所述的实时时钟频率修正装置包括一石英振荡器11、一控制单兀12、一多工器
13、一计数器14、第一缓存器15、第二缓存器16以及既定数目缓存器17。石英振荡器11输出一振荡信号S,此振荡信号S具有以一频率输出的多个振荡脉冲。图2显示根据本发明一实施例所述的振荡信号S的波形图。如图所示,振荡信号S具有多个振荡脉冲I,根据本发明一实施例此振荡信号S的频率可为32768Hz,或是32768Hz附近的一频率。另外,石英振荡器11所输出振荡信号S的频率会因为环境温度的影响而漂移,例如由32768Hz变为32766Hz 等等。
[0019]经由控制单元12取得石英振荡器11输出的频率后,并将其上述振荡信号的该频率区分为整数部分以及小数部分。根据本发明一实施例,振荡信号S的频率可根据温度由一查找表或一多项式取得。
[0020]控制单元12根据振荡信号S的频率设定第一整数以及第二整数、以及对应于第一整数的第一次数与对应于第二整数的第二次数。控制单元12将第一整数设为大于振荡信号S的频率的最小整数值并储存于第一缓存器15中,将第二整数设为小于振荡信号S的频率的最大整数值,另外,将振荡信号S的频率的整数部分设为第二整数,并将第二整数储存于第二缓存器16。也就是第一整数大于第二整数,且两者的差为一。
[0021]控制单元12根据既定数目与振荡信号S的频率的小数部分取得一乘积,并根据乘积的整数部分设定第一次数,并且根据既定数目与第一整数的差设定第二次数。因此,第一次数即为第一整数载入至计数器14的次数;同样的,第二次数为第二整数载入至计数器14的次数。第一次数与第二次数的和即为储存于既定数目缓存器17的既定数目。
[0022]控制单元12控制多工器13以第一次数输出第一整数以及以第二次数输出第二整数至计数器14。计数器14,耦接于多工器13以及石英振荡器11,根据所接收的上述第一整数或上述第二整数计数振荡脉冲I的个数而输出脉冲18。
[0023]举例来说,假设石英振荡器11输出的频率为32767.46Hz,整数部分为32767,因此第二整数为32767,第一整数为32768。频率的小数部分为0.46,此值将决定第一整数以及第二整数加载计数器14的次数(即第一次数以及第二次数)的安排。以既定数目为10来看,频率的小数部分以既定数目的乘积为4.6(0.46X10=4.6),取整数部分4设为第一次数,因此加载第二整数至计数器14的第二次数为6 (10-4=6)。图3显示根据本发明的另一实施例所述的通用实时时钟频率修正装置的方块图。根据本发明的另一实施例,通用实时时钟频率修正装置除了图1所示的单元外,还包括一小数位数控制缓存器31、一小数缓存器32、一整数缓存器33以及一整数误差缓存器34。其中小数位数控制缓存器31用以储存小数位数n,根据本发明的一实施例,例如小数位数以二进制表示,储存于小数位数控制缓存器31的小数位数η为8,代表既定数目为2的8次方,即256次。既定数目与振荡信号S的频率的小数部分取得乘积,并将该乘积的整数部分储存于小数缓存器32,为第一次数N。
[0024]整数缓存器33用以储存一默认值C,整数误差缓存器34用以储存振荡信号S的频率的整数部分与默认值C的差值P。根据本发明的一实施例,例如石英振荡器11通常输出的频率为32768Hz,所以通常将默认值C设为32768,但实际振荡信号S的频率为32766.46Hz,故差值P为32766-32768=-2。其中,正负号可以2的补码表示。
[0025]根据本发明的一实施例,说明通用实时时钟频率修正装置。举例来说,石英振荡器11输出一振荡信号S经由控制单元12取得频率为32767.46Hz,并将其分为整数部分以及小数部分。由于储存于整数缓存器33的默认值为32768,所以储存于整数误差缓存器34的差值P应为-1,因此储存于第二缓存器16的第二整数M为32767,储存于第一缓存器15的第一整数(M+1)为32768。
[0026]再者,储存于小数位数控制缓存器31的小数位数η为8,且以二进制表示,即代表既定数目为256。图4根据本发明的一实施例图解说明既定数目、第一次数以及第二次数。也就是在最靠近频率的两连续 整数(32767以及32768)中,划分成256个间隔。然后,根据既定数目以及振荡信号S的频率的小数部分,取一乘积为0.46X256=117.76,则其整数部分117即为第一次数N,代表第一整数(Μ+1)需载入计数器14的次数。既定数目与第一次数N的差139,储存于第二战存器16而为第二次数,代表第二整数M载入计数器14的次数。振荡信号S的频率可由下列公式表示:
[0027]32767.46 = [32767 χ (256 -117) + 32768 x 117]/256(1)
[0028]因此,在256次的计数器14累计的时间为:
[0029][32767.4632767X (256-117)+32767.4632768X 117]=256.0000233
[0030](2)
[0031]若以固定的除数(32768),相同256次累积的时间为:
[0032]32767.46332768X256=255.9957813 (3)
[0033]本发明的实施例所揭露的实时时钟频率修正装置能够以简单、直觉的方式产生准确的实时时钟频率,并且如公式2以及公式3的结果可知,经由本发明的实施例所揭露的实时时钟频率修正装置修正频率后,确实可得到精确的补偿。
[0034]同时,在此提及的缓存器,包含一切所有计算机可读式储存介质,而“计算机可读式储存介质”可为任何介质,其可容纳、储存或维持在此所述的逻辑或应用,以提供该指令执行系统使用或连结。计算机可读式介质可包括任一实质媒介,如磁、光或半导体媒介。更具体的计算机可读式介质的实施例包括但不限制于,磁带、软性磁盘、硬盘、存储卡、固态硬盘、USB闪存或光盘。
[0035]同时,计算机可读式介质可为随机存取内存(RAM),其包括如静态随机存取内存(SRAM)、动态随机存取内存(DRAM)或磁性随机存取内存(MRAM)。此外,计算机可读式介质可为只读存储器(ROM)、可程序的只读存储器(PR0M)、可抹除可编程只读存储器(EPR0M)、电子抹除式可复写只读存储器(EEPROM)或其它形式的内存装置。
[0036]以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
【权利要求】
1.一种实时时钟频率修正装置,其特征在于,包括: 一石英振荡器,输出一振荡信号,上述振荡信号具有以一频率输出的多个振荡脉冲; 一控制单元,根据上述频率设定一第一整数以及一第二整数、对应于上述第一整数的一第一次数以及对应于上述第二整数的一第二次数,其中上述第一整数大于上述频率的一最小整数,且上述第二整数小于上述频率的一最大整数; 一多工器,以上述第一次数输出上述第一整数以及以上述第二次数输出上述第二整数;以及 一计数器,耦接于上述多工器以及上述石英振荡器,根据所接收的上述第一整数或上述第二整数计数上述振荡脉冲的个数而输出一脉冲。
2.根据权利要求1所述的实时时钟频率修正装置,其特征在于,上述振荡信号的上述频率根据一温度由一查找表或一多项式取得。
3.根据权利要求1所述的实时时钟频率修正装置,其特征在于,上述振荡信号的该频率具有一第一整数部分以及一第一小数部分。
4.根据权利要求3所述的实时时钟频率修正装置,其特征在于,还包括一第一缓存器,用以储存一既定数目。
5.根据权利要求4所述的实时时钟频率修正装置,其特征在于,上述控制单元根据上述既定数目与上述第一小数部分取得一乘积,并根据上述乘积的一第二整数部分设定上述第一次数,以及根据上述既定数目与上述第一整数的差设定上述第二次数。
6.根据权利要求5所述的实时时钟频率修正装置,其特征在于,还包括: 一小数位数控制缓存器,用以储存一小数位数; 一小数缓存器,用以储存上述第二整数部分;以及 其中若是上述小数位数以二进制表示,则上述既定数目为上述小数位数的2的乘幂。
7.根据权利要求3所述的实时时钟频率修正装置,其特征在于,还包括: 一整数缓存器,用以储存一第三整数,上述第三整数为上述频率的一默认值; 一整数误差缓存器,用以储存上述第一整数部分减去上述第三整数的值。
【文档编号】G06F1/14GK103823506SQ201310167217
【公开日】2014年5月28日 申请日期:2013年5月8日 优先权日:2012年11月16日
【发明者】杨至信 申请人:核芯科技股份有限公司