一种计算机系统自动温度补偿方法
摘要:现有的计算机系统实时时钟的温度补偿的过程中,需要CPU和模数转换器ADC进行配合,而它们的功耗比较大,这就导致温度补偿运行时消耗较大的功耗,如果有一种低功耗的温度补偿方式,无疑对于系统电池供电将非常有利。
关键词:实时时钟;计算机;温度补偿
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2019)11-0283-02
本文提出一种实时时钟的自动温度补偿的方法,通过两个时钟驱动的计数器来记录温度从而进行温度补偿,不需要模数转换器ADC和CPU参与,大大降低运行时消耗的功耗。
1 研究的背景及意义
在不同温度下晶振输出时钟产生偏差,作为实时时钟就是靠这个晶振计数计时,晶振输出的周期数量不够或者过多都会导致时间产生偏差。
温度的不稳定是许多计算机应用面临的问题,特别是那些工作在宽温范围的应用(如:室外嵌入式工业/通信系统的设备)。当器件工作在温度变化较大的环境中,频率随温度的变化将成为影响计时精度的主要因素。
可通过计算得到晶振偏差带来的时间偏差,使用32.768kHZ时钟来计数,芯片极端温度120度情况下是300PPM,这样每天的秒数是sec = 24x60x60=86400 ,每天偏差的時间就是sec*300PPM=86400x300/1000000=25.92, 这样可以看出来每天偏差几乎是半分钟了。
因此,带温度补偿的实时时钟芯片的需求正在不断增加,其应用涉及电表、工业、通信等带有部分嵌入式付费系统的设备、全球卫星导航接收机及其他行业应用。
2 现有时钟温度补偿方式
现有的实时时钟的温度补偿方式 如图1所示。用模数转换器ADC将温度传感器采集的模拟温度值转化为数字值,将其处理之后即可作为补偿表存储器的地址,该地址中存放的数据正是这个温度下的补偿值,用这个补偿值即可以对振荡电路的电容和实时时钟的秒时标计数器进行补偿。在补偿的过程中,需要CPU和模数转换器ADC进行配合,而CPU和ADC是功耗比较大的,这就导致温度补偿装置运行时消耗较大的功耗,如果有一种低功耗的温度补偿方式,无疑对于系统电池供电将非常有利。
3低功耗的温度补偿方式与实现
3.1 研究思路
与现有的温度补偿方式不同,采用计数器计数的方法来记录补偿温度,在运行过程中不需要CPU和模数转换器ADC参与,可以降低成本,并且大大降低了运行功耗。
3.2 低功耗的温度补偿设计方法
通过计数器来对两个温度时钟信号进行计数,实现计时和计温,具体来说希望利用温度传感器产生两个温度时钟信号,其中一个温度时钟信号振荡频率与温度无关并用于计时,另一个温度时钟信号振荡频率与温度成近似的线性关系并用于计温,将计时结束时得到的计温值进行处理得到温度补偿值,如图2所示。
3.3 低功耗温度补偿方式的实现
如图2所示,温度传感器产生两个温度时钟信号,经计数器获得计数值,然后计数值传至数字处理模块并被其进行处理,获得地址值。使用地址值寻址补偿表存储器,找到对应温度的补偿值,对振荡电路和实时时钟中的秒时钟计数器进行补偿,完成自动温度补偿。
晶体电路,产生时钟信号,并将其传至振荡电路用于整形,最后经过实时时钟的识别,对其周期进行计数。
温度传感器产生振荡频率与温度无关的温度时钟信号CLK_X和振荡频率与温度相关的温度时钟信号CLK_Y,这两个时钟的频率之间必然有一个微小的偏差,通过对这两个温度时钟进行一定数量的计数,可以将将这个偏差进行放大。
两个并联的计数器1和计数器2对其进行计数,其中计数器1接收温度时钟信号CLK_X,计数器2接收温度时钟信号CLK_Y,然后数字处理器接收计数器1和计数器2的计数值进行处理,地址值寻址补偿表存储器得到对应温度时的补偿值,该补偿值对实时时钟的晶体振荡器和实时时钟秒时标计数器进行补偿,完成自动温度补偿。
计数器计数的温度补偿方法中,计数器1和计数器2同时对这两个温度时钟信号进行计数,当振荡频率与温度无关的计数器1计到一定的值后,振荡频率与温度相关的计数器2的计数值和当前补偿温度之间即有了一一对应的关系,将计数器2的计数值经过数字处理,即得到温度补偿值。
3.3.1 计数器和时钟信号频率解析
当计数器1将温度无关的温度时钟信号计数到M值时,计数器2将温度相关的温度时钟信号也计数到N值,在不同的温度下,这个N值是不同的,这样计数器2的计数值N即和当前的补偿温度有了一一对应的关系,如图3所示。
计数器1计数到M值所需要的时间要小于自动温度补偿的时间间隔,为了满足降低功耗、在不同温度时保证计数器2的计数值N能够产生变化这两个条件,M值应尽可能小,又不能太小,故M值应该根据自动温度补偿的时间间隔,所测的温度点的个数以及CLK_X和CLK_Y的频率差别来选取。
3.3.2寻址存储方式解析
补偿表存储器存储的温度补偿值与计数器2的关系示意图,如图4所示。
此时将计数器2得到的计数值 N减去一个偏移值W,得到寻址表存储器的地址。因为在每个温度下,得到的N值和减掉的偏移值W唯一,故得到的寻址存储器的地址值也是唯一的。另外,补偿表存储器中已经存放好了温度补偿表,用刚才所得的地址值去寻址补偿表存储器,即可以得到当前温度下的补偿值,该补偿值可作用于振荡电路和实时时钟的秒时标计数器。
4 带温度补偿的实时时钟预期效果及展望
4.1应用前景
在不同温度下晶振输出时钟产生偏差,作为实时时钟就是靠这个晶振计数计时,在一些工作在宽温范围的应用中,当器件工作在温度变化较大的环境中,可以自动进行温度补偿频率,提高计时精度,并进一步降低功耗。
4.2对消费者的影响
带温度补偿的实时时钟可以应用涉及电表、工业、通信等带有部分嵌入式付费系统的设备、全球卫星导航接收机及其他行业应用,如果涉及付费系统,数据的不准确性会增加用户投诉及用户满意度和体验,本文的温度补偿方法可以提高消费者数据的准确性,对用户来说满意度更高。
5 结束语
本文的实时时钟温度补偿方法,与现有的温度补偿方式相比,在运行过程中不需要CPU进行干预,也无须模数传感器ADC的参与,既可以降低成本,又可以每次温度补偿完成后,将温度传感器产生的两个温度时钟信号进行关闭,直到下次进行温度补偿时再进行开启,自动修正,提高了准确性并使功耗降到最低。
参考文献:
[1] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2007.
[2] BARR K.ASIC设计混合信号集成电路设计指南[M].北京:科学出版社,2008.
[3] CILETTI M D,张雅绮,等译. VerilogHDL.高级数字设计[M].北京:电子工业出版社,2004.
[4] 屈擘,陈小林,王祝盈,谢中.一种新型微机补偿晶体振荡器[J].宇航计测技术;2004(04).
[5] 陈红梅,徐静平,钟德刚. 一种低功耗高稳定性晶体振荡器芯片的设计[J].微电子学与计算机,2010(12).
[6] 黄小琴.基于高精度A/D转换器的实时时钟芯片的设计[D].扬州大学,2014.
[7] 李晓宇,徐静平,钟德刚,等.一款高精度宽温度范围TCXO芯片的设计[J].微电子学与计算机,2012(01).
【通联编辑:光文玲】
下一篇:浅谈高精度可调恒流源的设计