文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.01.020
中文引用格式:孙婧瑶,何宇,李雪梅. 一种针对RTC应用的数字温度补偿晶体振荡器[J].电子技术应用,2017,43(1):77-80.
英文引用格式:Sun Jingyao,He Yu,Li Xuemei. A digital temperature compensated crystal oscillator of real-time clock application[J].Application of Electronic Technique,2017,43(1):77-80.
0 引言
数字集成电路设计需要时钟信号,随着集成电路的发展,对时钟信号的精度和稳定度的要求越来越高。时钟信号由振荡电路产生,传统的RC振荡器不能满足现代集成电路发展的需求,而石英晶体振荡器有较高的品质因数Q,负载电容和其他因素对其输出的时钟信号的影响较小,因此数十年来广泛应用于数码产品、智能设备、生物技术、微控制系统等高科技领域。石英晶体振荡器分为普通晶体振荡器(PXO)、电压控制晶体振荡器(VCXO)、温度补偿晶体振荡器(TCXO)、高精度恒温控制晶体振荡器(OCXO)和低相噪晶体振荡器[1]。其中温度补偿晶体振荡器又分为模拟温度补偿晶体振荡器ATCXO和数字温度补偿晶体振荡器DTCXO。本文介绍的是针对实时时钟RTC应用的数字温度补偿晶体振荡器DTCXO。
1 数字温度补偿晶体振荡器DTCXO
数字温度补偿晶体振荡器DTCXO主要借助A/D、D/A转换器及存储器实现,原理图如图1所示[2]。其工作原理如下:温度传感器感应外界温度变化,由A/D转换器将模拟温度信号转换为数字温度信号传给PROM,PROM中存储着对应的计算公式,将该温度下变容二极管的值与晶体匹配,以稳定输出频率,保证输出频率的精确度和稳定度。
本文介绍的数字温度补偿晶体振荡器DTCXO是基于以上结构的变形,即将变容二极管变成数字控制电容阵列,PROM计算结果直接控制电容阵列开关,调节与振荡器串联的电容的大小,达到稳定输出频率的作用,原理如图2所示。
其中,测温电路采用带隙温感电路,A/D转换器采用SAR ADC电路,PROM具体为EEPROM,振荡电路为皮尔斯振荡器电路,晶体采用音叉晶体。
2 测温电路
2.1 带隙温感电路
带隙温感电路采用测温电路与带隙基准电路相结合[3],如图3所示,利用带隙基准中产生的正温度系数电压,对温度进行测量。
在带隙电路中,会产生一个正温度系数电压,主要原理是,如果两个双极晶体管工作在不相等的电流密度下,那么它们的基极-发射级电压的差值就与绝对温度成正比,式(1)为:
其中n为流过两个双极晶体管的电流的比值[4]。
图中运算放大器的两个输入端是虚短的,即Va=Vb,推导过程如式(2)~式(7)所示:
式(4)看出,Ia与温度成正比,经推导,式(7)所示Iab亦为PTAT电流,经过电流镜镜像在左边支路与电阻串联形成PTAT电压。
2.2 SAR ADC
经温感电路得到模拟信号经过9位逐次逼近模数转换器SAR ADC转换为数字信号,SAR ADC的结构如图4所示,其中逐次逼近单元采用数字电路实现,其他电路采用模拟电路实现。SAR ADC采用参考信号与输入信号比较,根据每个周期的比较结果改变参考电压的大小,经过9个周期,参考信号与输入信号越来越接近,逐次逼近寄存器最后一个周期输出的数字信号即为SAR ADC的输出[5]。
3 数字补偿电路
数字补偿电路如图2所示,由EEPRO、缓冲器、运算器、选通器和译码器组成。数字补偿电路采用数字集成电路设计方法,主要专注于时序和算法的设计。
3.1 EEPROM
温度信号通过测温电路和SAR ADC传给EEPROM,EEPROM中存储着128个11位信号,存储内容为TCXO的温度特性曲线数据,根据输入温度信号的大小计算对应的振荡器负载电容容差值。EEPROM具有2种访问模式:测温过程中的正常读写和通过非标准I2C指令读写。非标准I2C指令读写,可以通过I2C总线对EEPROM进行写操作,即提供了在芯片制作过程中对EEPROM数据进行写入和更改的选择。非标准I2C指令读写可以连续写入也可以分段写入。
3.2 运算器
由于电路中ADC为9位精度,能够产生512个温度值,而EEPROM中只针对其中128个温度值存储了128个补偿电容值,远小于ADC精度,因此,运算器的主要功能是对从EEPROM输入的11位数据进行插值运算,每2个数据中间插入3个数据,使其从128个数据增加到512个数据,从而实现与9位ADC温度输出一一对应,增加控制精度。
具体过程为:如果测量温度值的低2位是2′b00,则2个缓存器中存储的数据均为以测量温度高7位为地址对应的EEPROM数据,此时运算器的输出等于缓存器中存储的数据;如果测量温度值的低2位不是2′b00,则缓存器1中存储的数据为以测量温度的高7位为地址的EEPROM数据,缓存器2中存储的数据为以测量温度的高7位+1为地址的EEPROM数据,运算器输出为这两个值之间的插值运算结果。具体运算见表1所示。
3.3 选通器
OSC电容控制信号有3个来源:正常模式时来自运算器输出;测试模式时来自内部寄存器;总线模式时来自I2C端口。选通器即在这三种模式和信号来源之间切换。总线模式提供了一种直接从总线写入数据控制电容阵列开关的选择,其写入方式可以选择连续写入也可以选择分段写入。
3.4 译码器
译码器工作时将11位的温度补偿电容值转换为22位对应不同电容的开关信号,通过电容开关阵列调整与振荡器串联的负载电容的大小。译码器输出的低7位从0到128循环,从第8位开始,低7位的值每达到128便开启更高的一位,因此可以实现从0到2 047范围内进行补偿。
4 振荡电路
4.1 皮尔斯振荡电路
振荡电路采用常见的皮尔斯振荡电路,其电路如图5所示。
所有振荡器都要满足巴克豪森判据,即环路增益的幅度必须大于1,相位等于0,见式(8)及式(9)。
晶体选用音叉晶体,其等效电路[6-7]如图6所示。
从图可以看出电路由两条支路并联,一条等效阻抗Z1,由R1,C1和L1组成;一条等效阻抗Z2,只包含电容C0。可以从等效阻抗方程式获得此电路的共振频率表达式(10):
对于共振,其阻抗只有一个电阻,整理上式,使得阻抗Zt的实部和虚部都为零,则得到式(11):
解方程得式(12):
对于实际的石英晶体,R1一般低于100 Ω,L1的量级为mH,C1为fF,而C0的范围为pF量级,基于上述假设,有式(13):
因此,得到两个共振频率,分为串联共振频率FS和并联共振频率FA:
对于皮尔斯振荡电路,其实际振荡频率受负载电容影响,见式(18):
随着负载电容增加,频率可以在很小范围内变化,这个范围也叫频率牵引。本文所讨论的温度补偿方式就是通过微调负载电容来实现。
4.2 音叉晶体
RTC所用到的典型32.768 kHz音叉晶体[8]不能在宽温范围内提供较高精度,在整个温度范围内精度呈抛物线型,这种晶体的精度随温度变化曲线如图7所示。在室温下(25 ℃)精度最高,在高温和低温区域精度变差。
音叉晶体在高温和低温区域精度为负,即频率变慢,为了将晶体频率牵引回正常范围,在高温和低温区域均需要减小负载电容值。随温度变化的TCXO测试系统[9-10]测试晶体在不同温度下的频率精度差,从而计算不同温度负载电容值。将测试计算的音叉晶体温度特性曲线存储到EEPROM里面,这是整个温补晶振最核心的内容。
5 结论
经仿真,温补晶振在-45 ℃~+85 ℃范围内频率变化仅为5×10-6,见图7。可以看到,没有采用数字温度补偿的音叉晶体振荡器的温度特性很差,在-5 ℃和55 ℃时都为30×10-6,经过数字温度补偿系统的补偿作用,其温度特性得到极大改善,在-45 ℃~+85 ℃之间稳定在5×10-6,可以在宽温范围内实现稳定的频率输出。
参考文献
[1] 伍林华,吕延,吕明.石英晶体振荡器的发展趋势研究[J].价值工程,2013(5):295-296.
[2] 赵声衡,赵英.晶体振荡器[M].北京:科学出版社,2008.
[3] 高加亭,赵宏建.一种恒温晶振专用控温芯片设计[J].微处理机,2015(5):4-8.
[4] Behzad Razavi.Design of Analog CMOS Integrated Circuits[M].西安:西安交通大学出版社,2003.
[5] ALLEN P E,HOLBERG D R.CMOS analog circuit design[M].北京:电子工业出版社,2005.
[6] SANSEN W M C.Analog Design Essentials[M].北京:清华大学出版社,2008.
[7] M E 弗雷金.晶体振荡器设计与温度补偿[M].北京:人民邮电大学出版社,1985.
[8] 徐俊.音叉晶振的专利技术综述[J].信息与电脑,2015(11):95-98.
[9] 徐军.石英音叉谐振式传感器及关键技术研究[D].哈尔滨:哈尔滨理工大学,2014.
[10] 刘研研,刘小利,武红鹏,等.音叉式石英晶振谐振频率的非电学快速测量方法[J].大气与环境光学学报,2015,10(6):505-509.
作者信息:
孙婧瑶,何 宇,李雪梅
(北京时代民芯科技有限公司,北京100076)