发明内容
本发明解决的是由于相同的晶体振荡器应用于不同系统中起振时间固定造成的起振时间浪费的问题。
为解决上述问题,本发明提供了一种晶体振荡器起振时间的确定方法,所述晶体振荡器包括正弦信号输出端和时钟信号输出端,所述正弦信号输出端通过缓冲器与所述时钟信号输出端连接,所述起振时间的确定方法包括:确定所述晶体振荡器晶体的有载品质因数Qload;根据所述晶体振荡器的起振等效电路,确定所述正弦信号输出端输出的正弦信号的表达式:
其中,A(t)表示所述正弦信号,A0表示所述正弦信号的最终振幅,fr表示谐振频率,t表示时间变量;确定所述晶体振荡器起振结束时的振幅ηA0,其中,η表示百分数;确定所述晶体振荡器的起振时间ts:
可选的,所述起振等效电路包括串联的电压源、电阻和电容。
可选的,所述百分数η由用户根据系统开始工作时对所述晶体振荡器的振幅稳定性需求确定。
为解决上述问题,本发明还提供了一种晶体振荡器的起振检测电路,所述晶体振荡器包括正弦信号输出端和时钟信号输出端,所述正弦信号输出端通过缓冲器与所述时钟信号输出端连接,所述起振检测电路包括:计数器单元,所述计数器单元包括M个依次相连的D触发器,其中,
M=1+1+int[log2tsfr],
ts为根据所述晶体振荡器起振时间的确定方法确定的起振时间,fr表示谐振频率,每个所述D触发器的输入信号端与输出反相端相连,第1个D触发器的时钟信号端与所述晶体振荡器的时钟信号输出端相连,第2~第M个D触发器的时钟信号端与上一个D触发器的输出端相连,第M个D触发器的置位端连接到地,第1~第M-1个D触发器的置位端相连并连接到所述第M个D触发器的输出端,所述M个D触发器的复位端相连;上电复位单元,包括复位信号输出端,所述复位信号输出端与所述M个D触发器的复位端连接。
本发明还提供了一种时钟输出电路,包括晶体振荡器和所述晶体振荡器的起振检测电路。
可选的,所述晶体振荡器包括:晶体,所述晶体的两端分别连接第一负载电容和第二负载电容,所述第一负载电容和所述第二负载电容的另一端连接到地;反相放大器,所述反相放大器的输入端与所述晶体的一端连接,所述反相放大器的输出端通过串联电阻与所述晶体的另一端连接;反馈电阻,所述反馈电阻并联于所述反相放大器的两端;缓冲器,所述缓冲器的输入端与所述反相放大器的输出端连接并作为所述晶体振荡器的正弦信号输出端,所述缓冲器的输出端为所述晶体振荡器的时钟信号输出端。
与现有技术相比,本发明提供的技术方案可根据相同晶体振荡器被应用于的系统开始工作时对晶体振荡器的振幅稳定性需求的不同,确定晶体振荡器的起振时间,以节省晶体振荡器应用于一些系统中的起振时间。另一方面,根据晶体振荡器起振时间的确定方法,本发明技术方案提供的晶体振荡器的起振检测电路,电路结构简单,用数字电路实现对晶体振荡器的起振检测,在静态时无功率损耗,并且能在晶体振荡器起振结束后自动关闭。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
正如背景技术中所描述的,现有的晶体振荡器的起振时间是根据经验总结得出,是一个估计的确定值。对于一个给定的晶体振荡器,当被应用于不同的系统中时,起振时间始终确定,会造成在一些对晶体振荡器的振幅稳定性要求低的系统中晶体振荡器起振时间的浪费。因此,本技术方案的发明人考虑是否可以通过不同系统开始工作时对晶体振荡器的振幅稳定性的不同需求,确定晶体振荡器在不同系统中的起振时间。
图1是本发明实施方式的晶体振荡器起振时间的确定方法的流程示意图,所述晶体振荡器包括正弦信号输出端和时钟信号输出端,所述正弦信号输出端通过缓冲器与所述时钟信号输出端连接。参考图1,所述晶体振荡器起振时间的确定方法,包括:
S1:确定所述晶体振荡器晶体的有载品质因数Qload;
S2:根据所述晶体振荡器的起振等效电路,确定所述正弦信号输出端输出的正弦信号的表达式:
其中,A(t)表示所述正弦信号,A0表示所述正弦信号的最终振幅,fr表示谐振频率,t表示时间变量;
S3:确定所述晶体振荡器起振结束时的振幅ηA0,其中,η表示百分数;
S4:确定所述晶体振荡器的起振时间ts:
下面结合具体实施例详细描述上述晶体振荡器起振时间的确定方法。
如步骤S1所述,确定所述晶体振荡器晶体的有载品质因数Qload。
图2所示为本发明实施例的晶体振荡器的电路原理图。参考图2,所述晶体振荡器包括:
晶体XTAL,所述晶体XTAL的两端分别连接第一负载电容C1和第二负载电容C2,所述第一负载电容C1和所述第二负载电容C2的另一端连接到地;
反相放大器A,所述反相放大器A的输入端与所述晶体XTAL的一端连接,所述反相放大器A的输出端通过串联电阻R1与所述晶体XTAL的另一端连接;
反馈电阻R2,所述反馈电阻R2并联于所述反相放大器A的两端;
缓冲器B,所述缓冲器B的输入端与所述反相放大器A的输出端连接并作为所述晶体振荡器的正弦信号输出端XOUT,所述缓冲器B的输出端为所述晶体振荡器的时钟信号输出端OUT。
在所述晶体振荡器中,所述第一负载电容C1、第二负载电容C2和杂散电容一起构成晶体XTAL的电容负载,所述电容负载与反相放大器A一起等效为一负阻,为所述晶体XTAL提供其振荡所需要的能量。所述串联电阻R1可以降低驱动所述晶体XTAL的能量,防止所述晶体XTAL损坏或出现异常。所述反馈电阻R2为所述反相放大器A提供直流偏置,并为所述反相放大器A提供负反馈。所述缓冲器B起隔离和信号放大的作用:将负载电路与所述晶体振荡器隔离,并将所述晶体振荡器的正弦信号输出端XOUT输出的正弦信号放大并整形,在所述晶体振荡器的时钟信号输出端OUT输出时钟信号。
本领域技术人员知晓,对于一个给定的晶体振荡器,晶体的谐振频率和有载品质因数为确定值。因此,在本实施例中,假定所述晶体XTAL的谐振频率为fr,有载品质因数为Qload,则所述谐振频率fr和所述有载品质因数Qload为确定值,其中,所述有载品质因数
Lm为所述晶体XTAL的等效电感,Cm为所述晶体XTAL的等效电容,Rm为所述晶体XTAL的等效电阻,Rload为所述晶体XTAL的等效负载电阻。
如步骤S2所述,根据所述晶体振荡器的起振等效电路,确定所述正弦信号输出端输出的正弦信号的表达式:
其中,A(t)表示所述正弦信号,A0表示所述正弦信号的最终振幅,fr表示谐振频率,t表示时间变量。
对于一个输出稳定信号的晶体振荡器,其输出为一频率和振幅固定的正弦信号。当把反馈从所述晶体振荡器移除时,所述正弦信号的振幅将以指数函数的形式进行衰减,直至衰减为零。晶体振荡器的起振过程与上述衰减过程相似,如果给所述晶体振荡器提供一个激励,所述晶体振荡器将输出振幅以指数形式增加的正弦信号。在电容充电过程中,充电电容两端的电压也呈指数形式增加,因此,本技术方案的发明人经过研究,认为可将晶体振荡器起振过程等效为给电容充电的过程,所述晶体振荡器在起振过程中输出的正弦信号表达式可由电容充电过程中充电电容两端的电压表达式经过变换得到。
图3是本发明实施例的晶体振荡器的起振等效电路的原理图。所述起振等效电路包括串联的电压源U、电阻R和电容C,本领域技术人员知晓,在所述电压源U通过所述电阻R给所述电容C充电的过程中,所述电容C两端的电压UC(t)随时间呈指数形式变化,即
由此,根据上述分析,可得出晶体振荡器在起振过程中所述正弦信号输出端XOUT输出的正弦信号随时间变化的表达式:
A(t)表示所述正弦信号,A0表示所述正弦信号的最终振幅,τ表示所述晶体振荡器的时间常数,fr表示谐振频率,t表示时间变量。根据晶体振荡器中所述有载品质因数Qload与所述时间常数τ的关系:Qload=πτfr,所述正弦信号A(t)可表示为:
如步骤S3所述,确定所述晶体振荡器起振结束时的振幅ηA0,其中,η表示百分数。
具体的,所述晶体振荡器作为时钟源被应用于系统中,当所述晶体振荡器起振结束时系统便开始工作。根据所述晶体振荡器被应用于的系统开始工作时对晶体振荡器的振幅稳定性需求,用户可设定系统开始工作时需要的所述晶体振荡器起振结束时的振幅ηA0,其中,η表示百分数。例如,对于某些系统来说,当所述晶体振荡器的振幅达到所述最终振幅的95%系统才开始工作,那么η为95%。但对另一些系统来说,当所述晶体振荡器的振幅达到所述最终振幅的80%即认为已充分起振,系统就可以开始工作了,那么η为80%。
如步骤S4所述,确定所述晶体振荡器的起振时间ts:
假定从上电经过时间ts所述晶体振荡器起振结束,此时所述正弦信号A(t)的振幅为ηA0,则有关于起振时间ts的方程式:
基于上述晶体振荡器起振时间的确定方法,本发明实施例还提供了一种晶体振荡器的起振检测电路。图4所示为本发明实施例的晶体振荡器和所述晶体振荡器的起振检测电路的原理图,所述晶体振荡器的起振检测电路包括:计数器单元41,所述计数器单元41包括M个依次相连的D触发器(D0、D1、…、DM-2、DM-1),其中,M=1+1+in t[log2tsfr],ts为根据所述晶体振荡器起振时间的确定方法确定的起振时间,fr表示谐振频率,每个所述D触发器的输入信号端D与输出反相端QN相连,第1个D触发器D0的时钟信号端CK与所述晶体振荡器的时钟信号输出端OUT相连,第2~第M个D触发器的时钟信号端CK与上一个D触发器的输出端Q相连,即第2个D触发器D1的时钟信号端CK与第1个D触发器D0的输出端Q相连,第M个D触发器DM-1的置位端S连接到地,第1~第M-1个D触发器的置位端S相连并连接到所述第M个D触发器DM-1的输出端Q,所述M个D触发器的复位端R相连;上电复位单元42,包括复位信号输出端RST,所述复位信号输出端RST与所述M个D触发器的复位端R连接。
为了更好地对本发明实施例的晶体振荡器的起振检测电路进行理解,下面结合附图对本发明技术方案的晶体振荡器的起振检测电路的工作原理进行说明。
根据本发明技术方案提供的晶体振荡器起振时间的确定方法,可设定所述晶体振荡器的起振检测电路中D触发器的个数。参考图4,整个电路接通电源后,所述晶体振荡器缓慢起振。同时,上电复位单元42的复位信号输出端RST输出一个短暂的复位脉冲,将所述M个D触发器全部复位。此后,所述计数器单元41接收到所述晶体振荡器的时钟信号输出端OUT输出的时钟信号后,开始计数,至所述起振时间ts后计数停止,并发出控制信号以使系统开始工作。
具体地,根据本发明技术方案提供的晶体振荡器起振时间的确定方法,假定经过N个谐振周期,所述晶体振荡器起振结束,则N=tsfr,由于起振时间ts根据计算是一个确定值,则所述谐振周期的个数N也为确定值。更为具体地,根据所述谐振周期N的个数可确定所述计数器单元41中D触发器的个数,一个D触发器可以计数两个谐振周期,两个D触发器可以计数四个谐振周期,X个D触发器可以计数2X个谐振周期,则N个谐振周期需要的D触发器个数为1+int[log2N]。此外,还需要一个D触发器对第N+1个谐振周期到来之时输出控制信号,因此,所述计数器单元41中D触发器的个数M=1+1+int[log2N],即M=1+1+int[log2tsfr]。
图5是本发明实施例的晶体振荡器的起振检测电路的工作原理波形图。参考图4和图5,给所述晶体振荡器和所述晶体振荡器的起振检测电路提供电源电压VDD后,所述晶体振荡器缓慢起振。同时,所述上电复位单元42的上电复位输出端RST输出一个短暂的复位脉冲,将所述M个D触发器全部复位。此后由M个D触发器组成的计数器单元41开始从零计数,即此时所述计数器单元41中所有D触发器的状态为:<DM-1DM-2…D0>=<00…0>,刚好经过2M-1个计数周期后,所有D触发器的状态为:<DM-1DM-2…D0>=<01…0>,当第2M-1+1个计数周期到来后,所有D触发器的状态为:<DM-1DM-2…D0>=<10…0>。但是,该状态只是瞬间停留,因为第M个D触发器DM-1的输出端Q输出的状态1会将第1~第M-1个D触发器的状态迅速置位为1,同时自身的1状态保持不变。这时所有D触发器的状态为:<DM-1DM-2…D0>=<11…1>,此后所有D触发器的状态便停留在这个死锁状态,保持不变,直到所述晶体振荡器在下一次重新启动。同时,系统根据所述第M个D触发器DM-1的输出端Q输出的状态1开始工作。参考图5,所述晶体振荡器的起振时间ts亦可表示为ts=2M-1/fr。
本发明技术方案还提供了一种时钟输出电路,包括如图4所示的晶体振荡器和晶体振荡器的起振检测电路。
综上,本发明技术方案提供的晶体振荡器起振时间的确定方法,能够根据不同系统开始工作时对晶体振荡器的振幅稳定性要求的不同确定晶体振荡器的起振时间,节省晶体振荡器应用于一些系统中的起振时间。另一方面,根据晶体振荡器起振时间的确定方法,本发明技术方案提供的晶体振荡器的起振检测电路,电路结构简单,数字化实现晶体振荡器的起振检测,在静态时没有功率损耗,并且能够在所述晶体振荡器起振后自动关闭。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。