具体实施方式
下面结合说明书附图来说明本发明的具体实施方式。
图1示出了本发明中的提供的温度频率校正装置100的一个实施例。所述温度频率校正装置包括100包括晶体振荡器110、温度感应单元120、存储单元130及频率锁定单元140。在一个具体实例中,所述温度频率校正装置100为封装为一体的集成电路芯片,即其内的各个单元被封装为一体。所述晶体振荡器110可以生成参考频率fR,所述参考频率fR可以是模拟时钟信号,也可以是数字时钟信号,其会随温度的变化而发生频率漂移。所述温度感应单元120用于感应所述温度频率校正装置100的内部温度,由于温度感应单元与晶体振荡器110被集成为一体,因此温度感应单元120感应的内部温度基本能够反映晶体振荡器的温度。所述存储单元130用于存储温度频率校正控制数据,所述温度频率校正控制数据是通过对所述温度频率校正装置100进行温度频率测量后经过进一步处理得到的,下文将具体介绍。所述频率锁定单元140可以用于基于所述参考频率信号、频率控制字(frequency control word,简称FCW)及温度频率校正控制数据生成经过温度频率补偿的期望输出频率fOUT,所述频率控制字可以由外部输入。
图2是本发明中的频率锁定单元200的一个实施例的功能方框图,所述频率锁定单元200可以为图1中的频率锁定单元的一个实施例。所述频率锁定单元200包括锁频合成单元210、频率校正单元230及温度频率校正字生成单元250。所述温度频率校正字生成单元250用于生成输入的当前温度T(也可以所述温度感应单元提供的温度频率校正装置的内部温度)对应的温度频率校正字(tempereture frequency correction word,简称TCW),此温度频率校正字TCW可以对当前温度T下的参考频率fR的温度频率漂移进行补偿/校正。所述频率校正单元230用于利用获得的温度频率校正字TCW对频率控制字(frequency control word,简称FCW)进行校正/补偿以得到校正频率控制字(corrected frequency control word,简称FCW_new)。所述锁频合成单元110用于以参考频率fR为基础根据校正频率控制字FCW_new生成期望输出频率fOUT。另外需要注意的是,所述当前温度T、温度频率校正字TCW、频率控制字FCW以及校正频率控制字FCW_new都是数字信号,它们通常是由二进制序列表示的(比如32、16或8位的二进制序列)。
在一个实施例中,所述锁频合成单元210按照下式生成期望输出频率fOUT:
fOUT=K*FCW_new*fR
其中K表示比例系数,根据比例系数K及校正频率控制信号FCW_new可以得到期望的输出频率信号fOUT。
在一个实施例中,所述频率校正单元230按照下式生成校正频率控制字FCW_new:
FCW_new=FCW+TCW。
在一个实施例中,比如需要生成890MHz的频率信号,所述频率控制字FCW可以是表示所述频率值的二进制序列,所述温度频率校正字TCW可以是表示所述参考频率fR在当前温度下的频率漂移校正值的二进制序列,这样通过校正频率控制字FCW_new得到的890MHz的频率信号就不会随温度的变化而产生较大的频率漂移,也就是说890MHz的输出频率得到了温度补偿。在另一个实施例中,所述频率控制字FCW可以在一定范围内变化,这样频率控制字FCW也可以被用作频率调制信号以生成调制输出频率fOUT。比如,需要生成890MHz~910MHz频率范围的频率调制(Frequency Modulated)信号,所述频率控制字FCW可以是表示所述频率范围的二进制序列。
图4示出了参考频率fR的未补偿的温度频率特性曲线、温度频率补偿曲线及补偿后的温度频率特性曲线的一个实例,其中所述未补偿的参考频率在-50℃至125℃温度范围内具有大约±10ppm的频率漂移,补偿后的输出的频率漂移较未补偿输出的频率漂移大大降低。由图4可知,如果任一温度值(或温度点)都对应有相应的频率校正值,就可以利用该频率校正值对温度频率漂移进行补偿。这里提到的频率校正值就是所述的温度频率校正字TCW。
请再次参阅图2所示,所述温度频率校正字生成单元250(也可以被称之为温度频率校正字获取装置)还包括有温度比较单元252、温度逼近单元256、温度频率校正字锁定单元254。
从图1中的存储单元输入的所述温度频率校正控制数据包括有初始温度TO对应的初始温度校正字TCW(TO)。所述温度比较单元252比较当前温度T与当前计算温度Tx;在比较结果为当前计算温度点Tx未处于当前温度T的锁定范围时,所述温度频率校正字锁定单元254利用当前计算温度点Tx对应的温度频率校正字TCW(Tx)计算得到趋近当前温度T的下一计算温度点(比如:如果T>Tx,则下一计算温度点为Tx+S;如果T<Tx,则下一计算温度点为Tx-S,所述S为预定温度间隔)对应的温度频率校正字,所述温度逼近单元256将趋近当前温度的下一计算温度点作为当前计算温度点Tx输出给温度比较单元252继续进行比较;在比较结果为当前计算温度点Tx处于当前温度T的锁定范围时,所述温度频率校正字锁定单元254根据当前计算温度点Tx对应的温度频率校正字TCW(Tx)获得当前温度T对应的温度频率校正字TCW(T)。所述当前计算温度点Tx的初始值为初始温度TO,当前计算温度点Tx对应的温度频率校正字的初时值为初始温度频率校正字TCW(TO)。
这样,在本发明中不需要为每个温度点都存储相应的温度频率校正字,只需要存储初始温度的温度频率校正字,之后采用逐次逼近式运算就可以计算得到当前温度T对应的温度频率校正字TCW(T)。
在一个具体的实例中,所述当前温度T的锁定范围可以为包含当前温度T的预定温度范围内。此外,所述计算温度Tx未处于当前温度T的锁定范围也包会包括两种情况,即所述计算温度Tx未处于当前温度T的锁定范围且T大于Tx和所述计算温度Tx未处于当前温度T的锁定范围且T小于Tx。举例来说,T>Tx+S可以表示所述计算温度Tx未处于锁定范围且T大于Tx,T<Tx可以表示所述计算温度Tx未处于锁定范围且T小于Tx,Tx≦T<Tx+S可以表示所述计算温度Tx处于锁定范围。再举例来说,T>Tx+S可以表示所述计算温度Tx未处于锁定范围且T大于Tx,T<Tx-S可以表示所述计算温度Tx未处于锁定范围且T小于Tx,Tx-S<T<Tx+S可以表示所述计算温度Tx处于锁定范围。
在一个具体的实施中,所述温度频率校正控制数据还存储有固定步长及固定步长符号表,所述固定步长和所述固定步长符号表可以是由二进制序列表示的数字信号,所述固定步长符号表中存储有各离散温度点对应的固定步长的符号位(sign bit,简称SB),比如1可以表示正,0可以表示负。所述离散温度点是指具有预定温度间隔S的温度点,所述预定温度间隔S的大小可以根据需要选取并且可以针对不同的适用温度范围而设置不同的值,比如S可以在一个温度范围为0.2℃。该预定温度间隔S反映了固定步长符号表的温度覆盖精度,也就是反映了本发明中温度频率补偿中的温度覆盖精度。将所述固定步长符号表中的各符号位的符号赋予固定步长就可以得到实际步长:SB(Tx)*固定步长,其中SB(Tx)可以表示温度点Tx对应的固定步长符号表的符号位。其中初始温度频率校正字TCW(TO)、固定步长及固定步长符号表可以是通过数据信号线导入图1中的存储单元中。
在一个具体的实例中,在比较结果为当前计算温度点Tx未处于锁定范围且T大于Tx时,所述温度频率校正字锁定单元254从固定步长符号表中获取当前计算温度点Tx逼近下一计算温度点Tx+S所需要的固定步长的符号位(比如可以是当前计算温度点Tx对应的固定步长符号表中的符号位)、将获取的符号位赋予固定步长以获取当前计算温度点Tx逼近下一计算温度点Tx+S所需要的实际步长、利用当前计算温度点Tx对应的温度频率校正字TCW(Tx)和实际步长得到下一计算温度点Tx+S对应的温度频率校正字TCW(Tx+S)。在比较结果为计算温度Tx未处于锁定范围且T小于Tx时,所述温度频率校正字锁定单元254从固定步长符号表中获取当前计算温度点Tx逼近下一计算温度点Tx-S(由于Tx-S<Tx,也可以称Tx-S为上一计算温度点)所需要的固定步长的符号位(比如可以是下一计算温度点Tx-S对应的固定步长符号表中的符号位)、将获取的符号位赋予固定步长以获取当前计算温度点Tx逼近下一计算温度点Tx-S所需要的实际步长、利用当前计算温度点Tx对应的温度频率校正字TCW(Tx)和实际步长得到下一计算温度点Tx-S对应的温度频率校正字TCW(Tx-S)。
可以看出在本发明的一个实例中,对于一个离散温度点,所述固定步长符号表只需要存储1位二进制数据作为该温度点对应的固定步长的符号位,从而使所述固定步长符号表的数据量变得非常小。同时,也可以在固定步长符号表中存储更多温度点的符号位,即可以减量保持预定温度间隔S比较小,这样可以提高了温度频率补偿的精度。在本发明中通过采用一种全数字的逐次逼近插值方法来自动锁定不同的温度点的频率漂移所要求的温度频率校正值,从而最大限度的减少所需存储的温度频率校正值,同时也提高了温度频率补偿的精度,并且通过数字化的可编程控制来确定针对不同性能的参考时钟源(如石英晶体或其它的振荡器)或电子系统对频率稳定性要求所需要采用的最少硬件补偿方案,另外也最大限度的降低了系统参考时钟源的成本和性能要求。
图3示出了本发明中的温度频率校正字获取方法的一个实施例的流程图,其也反映了所述温度频率校正字生成单元250的工作过程。
步骤301,Tx=TO、TCW(Tx)=TCW(TO)。
Tx表示当前计算温度点,其初始值为初始温度TO;TCW(Tx)表示当前计算温度点Tx对应的温度频率校正字,其初始值为初始温度频率校正字TCW(TO)。
步骤303,读取数字温度值T,即前文中提到的温度感应单元提供的当前温度。
步骤305,比较当前温度T与计算温度Tx,当计算温度Tx未处于当前温度T的锁定范围且T大于Tx时,转入步骤307;当计算温度Tx未处于当前温度T的锁定范围且T小于Tx时,转入步骤313;当计算温度Tx处于当前温度T的锁定范围,转入步骤319。
步骤307,读取当前温度点Tx对应的固定步长符号表中的符号位SB(Tx),并将该符号赋予固定步长形成当前温度点Tx对应的实际步长。
所述符号位的值要么是1,要么是0,分别代表正和负。
步骤309,利用当前计算温度点Tx的温度频率校正字TCW(Tx)及当前温度点Tx对应的实际步长求取下一计算温度点Tx+S对应的温度频率校正字TCW(Tx+S)。
步骤311,另Tx=Tx+S,并返回步骤303。这里之所以要返回到303,而不返回到305,是因为所述数字温度T可能在计算过程中发生变化。
步骤313,读取上一个温度点Tx-S对应的固定步长符号表中的符号位SB(Tx-S),并将该符号赋予固定步长形成上一温度点Tx-S对应的实际步长。
步骤315,利用当前计算温度点Tx的温度频率校正字TCW(Tx)及上一温度点Tx-S对应的实际步长求取上一计算温度点对应的温度频率校正字TCW(Tx-S)。
步骤317,另Tx=Tx-S,并返回步骤303。同样,这里之所以要返回到303,而不返回到305,是因为所述数字温度T可能在计算过程中发生变化。
步骤319,此时如果当前计算温度点Tx等于所述数字温度T,则将计算所得的TCW(Tx)作为计算所得的温度频率校正字TCW输出;否则,利用TCW(Tx)插值得到TCW(T)并其作为计算所得的温度频率校正字TCW输出。
需要解释一下,如果所述温度感应单元的温度感应精度(当前温度T的精度)小于所述固定步长符号表的温度覆盖精度,比如所述数字温度传感器的温度感应精度为0.1℃,而所述固定步长符号表的覆盖温度精度为0.2℃(即S等于0.2℃),就会出现计算温度Tx处于当前温度T的锁定范围而不等于当前温度T的情况,需要经过插值才能求出TCW(T)。然而,如果所述温度感应单元的温度感应精度小于等于所述固定步长符号表的温度覆盖精度,那么计算温度Tx处于锁定范围就是指Tx=T,这样在计算温度Tx处于锁定范围后,所述温度频率校正字TCW(Tx)就是当前温度T对应的温度频率校正字TCW,因此就不需要进行插值运算了。另外,在需要插值才能求出TCW(T)时,可以采用各种插值方式,比如线性插值、非线性插值、抛物线插值等,插值一般来说除了需要温度频率校正字TCW(Tx),还可能需要TCW(Tx-S)、TCW(Tx+S)等附近的温度频率校正字。
在输出计算所得的温度频率校正字TCW后,将Tlock=T,之后进入步骤321。
步骤321,读取数字温度值T。
步骤323,判断所述数字温度值T是否等于所述Tlock,如果是,则返回步骤321继续读取数字温度值,否则返回步骤305,继续重复上述锁定过程。
通过执行上述步骤,所述温度频率校正字生成单元250利用TCW(TO)、固定步长以及固定步长符号表可以准确快速的逐次逼近的计算出当前温度T对应的温度频率校正字。对于每个温度点的温度频率校正字,本发明中只需要存储1位符号数据,这大大减少了数据存储量。另外,由于对于每个温度点只需要存储1位数据,因此可以存储更多温度点的数据,这样频率温度补偿的精度也大大增加了。
在一个具体实施例中,图1中的所述存储单元130中除了存储有初始温度频率校正字TCW(TO)、固定步长和固定步长符号表,还存储有初始温度频率校正字TCW(TO)的差分TCWd(TO),其中所述温度频率校正字的差分TCWd是指相邻温度点对应的温度频率校正字的差值,而固定步长则表示相邻温度点对应的温度频率校正字的差分的差值绝对值,此时其可以用TCWds表示,另外此时也可以称之为差分固定步长。所述初始温度点TO可以为温度覆盖范围(比如-30℃至50℃)的最低值比如-30℃。所述固定步长符号表中存储有各离散温度点对应的固定步长的符号位SB,所述固定步长符号表的二进制序列的位数取决于其温度覆盖范围及预定温度间隔S,比如温度覆盖范围为从-30至50℃,S为0.2℃,则需要(50-(-30))/0.2-1=400-1位的二进制序列(由于最大温度点50℃没有下一个温度点,因此不需要存储该最大温度点对应的固定步长的符号,因此可以少1位数据)。需要注意的是,TCW(TO)、TCWd(TO)、TCWds以及固定步长符号表是通过数据线导入的存储单元130内的,至于如何测量出这些数据将在下文详细描述。
图5为根据上述具体实施例的温度频率校正字获取方法的流程示意图。
请参阅图5所示,温度频率校正字TCW的计算方法包括如下步骤。
步骤501,初始化Tx、TCW(Tx)、TCWd(Tx)。
Tx表示当前计算温度点,TCW(Tx)表示计算温度点Tx对应的温度频率校正字,TCWd(Tx)表示计算温度点Tx对应的温度频率校正字的差分。所述初始化可以是另:
Tx=TO;TCW(Tx)=TCW(TO);TCWd(Tx)=TCWd(TO)。
步骤503,读取数字温度值T,就是前文提到当前温度或目标温度。
步骤505,判断所述数字温度T值是否大于等于Tx+S,如果是,转入步骤507;否则转入步骤513。
步骤507,读取当前计算温度点Tx对应的固定步长符号表中的符号位SB(Tx),将该符号赋予TCWds形成当前温度点Tx对应的实际步长:SB(Tx)*TCWds。这个符号位要么是1,要么是0,其中1表示正,0表示负。
步骤509,求取下一计算温度点Tx+S对应的温度频率校正字TCW(Tx+S)和下一计算温度点Tx+S对应的温度频率校正字的差分TCWd(Tx+S)。
其中TCW(Tx+S)=TCW(Tx)+TCWd(Tx);
TCWd(Tx+S)=TCWd(Tx)+SB(Tx)*TCWds;
这种求取下一个计算温度点的相关值的过程可以被称为前向校正。
步骤511,另Tx=Tx+S,并返回步骤503。这里之所以要返回到503,而不返回到505,是因为所述数字温度T可能在计算过程中发生变化。
步骤513,继续判断所述数字温度T是否小于Tx。如果是,则转入步骤515;否则,转入步骤521。
步骤515,读取上一个计算温度点Tx-S对应的固定步长符号表中的符号位SB(Tx-S),将该符号赋予TCWds形成上一个计算温度点Tx-S对应的实际步长:SB(Tx-S)*TCWds。
步骤517,求取上一计算温度点Tx-S对应的温度频率校正字的差分TCWd(Tx-S)及上一计算温度点Tx-S对应的温度频率校正字TCW(Tx-S)。
其中TCWd(Tx-S)=TCWd(Tx)-SB(Tx-S)*TCWds
TCW(Tx-S)=TCW(Tx)-TCWd(Tx-S),
相对于前面所述的前向校正,这里求取上一个计算温度点的相关值得过程可以被称为后向校正。
步骤519,另Tx=Tx-S,并返回步骤503。同样,这里之所以要返回到503,而不返回到505,是因为所述数字温度T可能在计算过程中发生变化。
步骤521,此时如果当前计算温度点Tx等于所述数字温度T,则将计算所得的TCW(Tx)作为计算所得的温度频率校正字TCW输出;如果Tx+S>T>Tx,则利用TCW(Tx)和TCW(Tx+S)插值得到TCW(T)并其作为计算所得的温度频率校正字TCW输出。
在输出计算所得的温度频率校正字TCW后,将Tlock=T,之后进入步骤523。
步骤523,读取数字温度值T。
步骤525,判断所述数字温度值T是否等于所述Tlock,如果是,则返回步骤523继续读取数字温度值,否则返回步骤505,继续重复上述锁定过程。
举例来说,在所述初始温度TO为温度覆盖范围最低值-30℃时,每次如图1所示的温度频率校正装置100投入使用时,所述温度感应单元会提供当前温度T,比如T为20℃,那么流程会不断重复步骤503-511以快速让Tx值从-30℃逼近20℃,之后进入步骤513直至最后锁定温度T。随着Tx的锁定,也可以得到Tx对应的温度频率校正字。在使用过程中温度突然发生变动时,比如突然下降,流程马上会重新进入追踪锁定过程,即重复步骤503、505、513-519步骤以快速让Tx逼近新T值,之后进入步骤521以锁定温度T。
可见本发明中的温度频率校正字的获取方法的一个特点、优点在于:利用初始温度频率校正字、初始温度频率校正字的差分启动跟踪流程,不断利用当前计算温度点对应的温度频率校正字、温度频率校正字的差分、固定步长符号表中的符号位以及固定步长计算出趋近目标温度的下一计算温度点的对应的温度频率校正字,直至计算温度点被锁定至当前温度点T,进行根据插值求得当前温度点T对应的温度频率校正字。
下面,介绍详细一下TCW(TO)、TCWd(TO)、TCWds以及固定步长符号表的测量过程。图6是本发明中的温度频率校正装置的测量系统的一个实施例的功能方框图。所述测量系统600包括温度箱610、收容于温度箱内的待测量温度频率校正装置620、记录装置630、拟合装置640、再采样装置650和计算装置660。
所述温度箱610可以用于在预定温度范围内调节其内温度,所述预定温度范围可以为-50℃-130℃。所述待测量温度频率校正装置620可以是图1所示的温度频率校正装置,将所述待测量温度频率校正装置620放置于温度箱610内,之后可以从低到高、从高到低或其它方式调节温度箱610内的温度使其扫描一遍整个温度范围。由于温度箱610内的温度的变化,从而引起待测温度频率校正装置620的内部温度(即其内的温度感应单元感应的内部温度)的变化,需要注意的是温度箱610内的温度与待测温度频率校正装置620的内部温度可以不一致。
所述记录装置630用于记录所述待测温度频率校正装置在一内部温度值下的期望输出频率值及相应的内部温度值,一个内部温度值及相应的期望输出频率值可以组成一个温度频率测量点。具体的,在预定时间比如60s内,所述温度感应单元感应的内部温度值的变化小于预定温度变化阈值比如0.5℃,则所述记录装置记录下该内部温度值以及所述温度频率校正装置在该内部温度值下的期望输出频率值。之后,调节温度箱610内的温度,所述记录装置630再次记录下所述待测温度频率校正装置在另一内部温度值下的期望输出频率值及相应的内部温度值,如此不断的进行重复直到记录下整个温度范围内足够多的离散内部温度值及在相应内部温度值下的期望输出频率值,所述离散内部温度值之间的间隔要小于前文中的预定温度间隔S。在一个具体的实施例中,所述记录装置630中还包括有频率计,所述频率计用于读出待测温度频率校正装置的期望输出频率的数值。
所述拟合装置640用于根据各离散内部温度值及相应的期望输出频率值拟合出连续的温度频率曲线。这可以通过现有技术中的各种方法获得,但必需要保证其生成的温度频率曲线与实际参考频率fR的温度频率曲线尽可能相一致,并且保持曲线的平滑。在一个实施例中,在没有温度频率突变时,可以采用贝克曼曲线生成器(Bechamann curve generator),通过使用少数几个温度频率测试点就可以生成比较精确的温度频率特性曲线。
所述再采样装置650用于以预定采样温度间隔对拟合出的温度频率曲线进行再采样以获得各采样温度值对应的频率值。所述预定采样温度间隔即为前文中提到的预定温度间隔S,所述S的取值将决定了所述固定步长符号表的温度覆盖精度,所述S的选取可以根据需要随意设定。在一个实例中,所述S值可以针对不同的温度适用范围而设定不同的值,比如在0℃-20℃使用0.1℃作为温度采样间隔S,在其它温度范围使用0.2℃作为温度采样间隔S。
本发明之所以采用拟合装置640及再采样装置650,是为了使记录装置630尽可能的少测量并记录一些温度频率测量点,同时又能获得足够多的温度频率样本点,以使本发明中的温度频率补偿具有足够的精度。所述记录装置630每测量和记录一个温度频率测量点都需要花费一定时间,温度频率测量点过多将会成倍的提高测量成本,通过采用拟合装置640及再采样装置650可以容易的获得成倍于或成十倍于温度频率测量点的温度频率样本点。因此,所述预定采样温度间隔S一般小于或远小于测量的内部温度值的温度间隔。
所述计算装置用于根据各采样温度值及相应的频率值计算得到温度频率校正控制数据,并将所述温度频率校正控制数据导入所述温度频率校正装置的存储单元内。
相应的,图7示出了本发明中的温度频率校正装置的测量方法的一个实施例的流程示意图。
步骤701,记录所述温度频率校正装置在各离散内部温度值下的期望输出频率值及相应的内部温度值。
首先需要记录下一内部温度值下的期望输出频率值及相应的内部温度值,之后再记录下另一内部温度值下的期望输出频率值及相应的内部温度值,如此不断的重复则得到各离散内部温度值下的期望输出频率值及相应的内部温度值。在此步骤之前,还有调节温度箱610温度变化的步骤,这样采能引起温度频率校正装置的内部温度的变化。
步骤703,根据各离散内部温度值及相应的期望输出频率值拟合出连续的温度频率曲线。
步骤705,以预定采样温度间隔对拟合出的温度频率曲线进行再采样以获得各采样温度值对应的频率值。
步骤707,根据各采样温度值及相应的频率值计算得到温度频率校正控制数据。
步骤709,将所述温度频率校正控制数据导入所述温度频率校正装置620的存储单元内。
根据各采样温度值及相应的频率值计算得到温度频率校正控制数据的具体过程将在下文中具体描述,其中以温度频率校正控制数据包括初始温度频率校正字TCW(TO)、初始温度频率校正字的差分TCWd(TO)、差分固定步长TCWds及固定步长符号表为例进行介绍。图8示出了本发明中的TCW(TO)、TCWd(TO)、TCWds的计算过程,图9示出了本发明中的固定步长符号表的计算过程。
如图8所示,所述TCW(TO)、TCWd(TO)、TCWds的计算方法包括如下步骤。
步骤801,根据各采样温度点的频率值与温度频率校正字之间的函数关系,利用各采样温度点对应的频率值求取各采样温度点Tx对应的理论温度频率校正字TCWideal(Tx),其中Tx表示间隔为S的从min(Tx)到max(Tx)的离散采样温度点,min(Tx)为Tx的最小值,max(Tx)为Tx的最大值。需要注意的是,Tx在前文中代表当前计算温度点,与此处代表的物理含义不完全一样,为了便于理解只需将其作为一个参数即可。得到了一个采样温度点的频率值(受温度频率影响的输出频率),之前又知晓该采样温度点的理论输出频率(即不受温度频率影响的输出频率),根据两者之间的频率差值即可很容易的得到该采样温度点下的理论温度频率校正字(即理论上应该进行多大的温度频率补偿)。
各采样温度点Tx对应的理论温度频率校正字TCWideal(Tx)将被记录下来用于确定所述固定步长符号表中各符号位的值。
步骤803,计算各采样温度点Tx对应的理论温度频率校正字TCWideal(Tx)的差分TCWdideal(Tx),其中
TCWdideal(Tx)=TCWdideal(Tx+S)-TCWdideal(Tx),
此处Tx属于[min(Tx),max(Tx-S)]。
步骤805,任意选定一采样温度点所对应的理论温度频率校正字TCWideal(Tx)为前文所述的初始温度频率校正字TCW(TO),那么该选定采样温度点所对应的理论温度频率校正字TCWideal(Tx)的差分TCWdideal(Tx)将被记录为前文所述的初始温度频率校正字TCW(TO)的差分TCWd(TO)。所述选定的采样温度点就是所述初始温度TO,其可以为温度覆盖范围的最低值、最高值或中间值。
步骤807,计算各采样温度点Tx对应的理论温度频率校正字TCWideal(Tx)的差分TCWdideal(Tx)的差分TCWddideal(Tx),即理论温度频率校正字TCWideal(Tx)的二阶差分,其中
TCWddideal(Tx)=TCWdideal(Tx+S)-TCWdideal(Tx),
此处Tx属于[min(Tx),max(Tx-2S)]。
步骤809,将各采样温度点Tx对应的理论温度频率校正字TCWideal(Tx)的二阶差分TCWddideal(Tx)中绝对值最大的记录为前文所述的差分固定步长TCWds。之所以选取最大值为差分步长TCWds是为了保证拟合曲线(即利用差分固定步长计算得到的各计算温度频率校正字形成的曲线)能够跟上理想曲线(即拟合装置640中得到的温度频率曲线)的变化。当然在其它实施例中,也可以选取稍小的二阶差分值为差分固定步长。
由此可知,经过执行步骤801-809就可以计算得到所述初始数据存储单元内需要保存的初始温度频率校正字TCW(TO)、初始温度频率校正字的差分TCWd(TO)及差分步长TCWds。
随后,可以利用已经获得的初始温度频率校正字TCW(TO)、初始温度频率校正字的差分TCWd(TO)、差分步长TCWds及所述的各采样温度点对应的理论温度频率校正字TCWideal(Tx)计算获得所述固定步长符号表中每位数据的值。请参看图9所示,所述固定步长符号表中各位数据的值的获取过程如下。
步骤901,初始化Tx、NTCW(Tx-S)及NTCWd(Tx-S)。
Tx表示当前采样温度点,NTCW(Tx-S)表示Tx-S温度点对应的温度频率校正字,NTCWd(Tx-S)表示Tx-S温度点对应的温度频率校正字对应的温度频率校正字的差分。需要注意的是,Tx-S温度点对应的温度频率校正字NTCW(Tx-S)并不是所述的理论温度频率校正字,而是根据初始温度频率校正字及初始温度频率校正字的差分计算出来的温度频率校正字。
假设在前文所述初始温度TO为实际应用覆盖温度范围的最低值,那么所述初始化就是:
Tx=TO+S;NTCW(Tx-S)=TCW(TO);NTCWd(Tx-S)=TCWd(TO)。
这里由于初始温度TO为最低温度值,因此需要求取的温度点Tx只需要等于TO+S就可以实现求取每个温度点对应的固定步长符号表中的相应位的值。如果初始温度TO为最高值,则需要另Tx=TO-S,其它参数也需按照相同规则相应修改。
步骤903,计算当前采样温度点Tx对应的温度频率校正字NTCW(Tx),具体为:
NTCW(Tx)=NTCW(Tx-S)+NTCWd(Tx-S)。
步骤905,假设Tx-S温度点对应的固定步长符号表中符号位SB(Tx-S)的值为0,求取Tx+S温度点对应的第一计算温度频率校正字NTCW0(Tx+S),具体为:
NTCW0(Tx+S)=NTCW(Tx)+NTCWd(Tx)
=NTCW(Tx-S)+NTCWd(Tx-S)+NTCWd(Tx-S)+SB(Tx)*TCWds
=NTCW(Tx-S)+2*NTCWd(Tx-S)-TCWds。
步骤907,求取Tx+S温度点对应的第一计算温度频率校正字NTCW0(Tx+S)与理论温度频率校正字TCWideal(Tx+S)差的第一绝对值DNTCW0(Tx+S),具体为:
DNTCW0(Tx+S)=Abs(TCWideal(Tx+S)-NTCW0(Tx+S))。
步骤909,假设Tx-S温度点对应的固定步长符号表中符号位SB(Tx-S)的值为1,求取Tx+S温度点对应的第二计算温度频率校正字NTCW1(Tx+S),具体为:
NTCW1(Tx+S)=NTCW(Tx-S)+2*NTCWd(Tx-S)+SB(Tx-S)*TCWds
=NTCW(Tx-S)+2*NTCWd(Tx-S)+TCWds。
步骤911,求取Tx+S温度点对应的计算温度频率校正字NTCW1(Tx+S)与理论温度频率校正字TCWideal(Tx+S差的第二绝对值DNTCW1(Tx+S),具体为:
DNTCW1(Tx+S)=Abs(TCWideal(Tx+S)-NTCW0(Tx+S))。
步骤913,判断所述第一绝对值是否小于所述第二绝对值,即判断是否:
DNTCW0(Tx+S)<DNTCW1(Tx+S),如果是则进入步骤915,否则进入步骤917。
步骤915,判定Tx-S温度点对应的固定步长符号表中符号位SB(Tx-S)的值为0,并进入步骤919。
步骤917,判定Tx-S温度点对应的固定步长符号表中符号位SB(Tx-S)的值为1,并进入步骤921。
步骤919,计算Tx温度点对应的温度频率校正字的差分NTCWd(Tx),即
NTCWd(Tx)=NTCWd(Tx-S)-TCWds。
步骤921,计算Tx温度点对应的温度频率校正字的差分NTCWd(Tx),即
NTCWd(Tx)=NTCWd(Tx-S)+TCWds。
步骤923,另Tx=Tx+S。
步骤925,判断Tx是否小于等于MAX(Tx)-S,如果否,则结束计算流程,否则返回步骤903,重复上述步骤。
执行上述步骤901-925,就可以计算出来所述固定步长符号表中每一位数据的值。
最后就可以将计算出来的初始温度频率校正字TCW(TO)、初始温度频率校正字的差分TCWd(TO)、差分步长TCWds以及固定步长符号表通过数据线导入所述温度频率校正装置的存储单元。
在另一个具体实施例中,所述温度频率校正装置的存储单元中除了存储有初始温度频率校正字TCW(TO)、固定步长和固定步长符号表,还存储有初始温度频率校正字TCW(TO)的差分TCWd(TO),初始温度频率校正字TCW(TO)的二阶差分TCWdd(TO),其中所述温度频率校正字的差分TCWd是指相邻温度点对应的温度频率校正字的差值,所述温度频率校正字的二阶差分TCWdd是指相邻温度点对应的温度频率校正字的差分的差值,而固定步长则表示相邻温度点对应的温度频率校正字的二阶差分的差值,此时其可以用TCWdds表示,此时也可以称之为二阶差分固定步长。在这个实施例中,温度频率校正字TCW的获取计算过程可参考图5所示的计算过程,主要是步骤509和517会有些变化,其中步骤509变为:
TCW(Tx+S)=TCW(Tx)+TCWd(Tx)
TCWd(Tx+S)=TCWd(Tx)+TCWdd(Tx)
TCWdd(Tx+S)=TCWdd(Tx)+SB(Tx)*TCWdds,
其中步骤517变为:
TCWdd(Tx-S)=TCWdd(Tx)-SB(Tx-S)*TCWdds
TCWd(Tx-S)=TCWd(Tx)-TCWdd(Tx-S)
TCW(Tx-S)=TCW(Tx)-TCWd(Tx-S)
类似的,初始温度频率校正字TCW(TO)、初始温度频率校正字TCW(TO)的差分TCWd(TO)、初始温度频率校正字TCW(TO)的二阶差分TCWdd(TO)、二阶差分固定步长TCWdds以及固定步长符号表的测量过程也会发生一些变化,但原理与前述实例相同,这里就不再赘述。当然,其他施例中还可能使用三阶或三阶以上的差分,原理都类似,容不赘述。
在再一个具体实施例中,所述温度频率校正装置的存储单元中只存储有初始温度频率校正字TCW(TO)、固定步长和固定步长符号表,所述固定步长表则表示相邻温度点对应的温度频率校正字的差值,此时其可以用TCWs表示。在这个实施例中,温度频率校正字TCW的计算过程可参考图5所示的计算过程,主要是步骤509和517会有些变化,其中步骤509变为:
TCW(Tx+S)=TCW(Tx)+SB(Tx)*TCWs
其中步骤517变为:
TCW(Tx-S)=TCW(Tx)-SB(Tx-S)*TCWs。
类似的,初始温度频率校正字TCW(TO)、固定步长TCWs以及固定步长符号表的测量过程也会发生一些变化,但原理与前述实例相同,这里就不再赘述。
综上所述,本发明的温度频率校正字的获取方案的一个特点、优点或进步在于:不是如现有技术中的那样存储每个温度点对应的温度频率校正字(比如32位数据),而是只存储每个温度点对应的固定步长的符号(1位数据)以及一个或少数几个固定步长和初始温度频率校正字,在需要获得当前温度对应的温度频率校正字时,根据每个温度点对应的固定步长的符号位、固定步长及上次计算的温度频率校正字(初始值为初始温度频率校正字)逐次计算趋近于当前温度的温度频率校正字,直至计算结果锁定于当前温度的温度频率校正字。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。