当前位置:首页 > 演讲稿 > 【一种基于分频链的时钟校准方法】时钟分频
 

【一种基于分频链的时钟校准方法】时钟分频

发布时间:2019-02-16 04:37:23 影响了:

  摘要:针对晶体振荡器的温漂特性,设计了一种基于分频链的时钟校准算法。在不改变晶体振荡器的情况下可调节时钟频率,校准精度达±0.25 ppm,校准范围±32 ppm,通过多次实验分析,用Verilog-HDL语言编写全部模块,在modelsim 6.2b 软件中实现模块仿真。全部功能正常实现,符合设计要求。
  关键词:Verilog-HDL;时钟;晶体振荡器;校准
  
  A clock calibration algorithm based on divide-chain frequency
  
  YAN Di-chao1 ,XU Dong-ming2 ,CHEN Wen-xuan3
  (1.Xi‘an University of Posts and Telcommunications Xi‘an 710061;
  2.Xi‘an University of Posts and Telcommunications Xi‘an 710061;
  3.Xi‘an Supermicro Electronics Co., LTD Xi‘an 710061)
  
  Abstract: A calibration algorithm based on divide-chain frequency is designed for the crystal oscillator temperature drift characters. This algorithm can adjust the clock frequency without changing the crystal oscillator. With this method, the calibration accuracy is ±0.25p pm ,and the range of calibration is ±32 ppm. Based on many experiments, all modules are compiled by Verilog HDL language, and the modules are realized with Modelsim 6.2b. All of the functions are successfully realized and the result meet requirements.
  Key words:Verilog-HDL;Clock;Crystal Oscillator;Calibration
  
  1引言
  
  实时时钟采用外部晶振作为时钟源,但晶体振荡器本身存在着或大或小的偏差,且会随温度的改变发生频率漂移。通常实时时钟使用的32.768k Hz晶体,在整个温度范围内精度呈抛物线型。室温下(+25℃)精度典型值为±35 ppm,相当于每天慢或快1.7秒,在高温或低温区域精度将变得更差,最高可达近±200 ppm。本文参考微处理器温度补偿晶体振荡器原理,根据实时时钟的电路特点,设计了一种基于分频链的校准算法,通过一组数字校准寄存器校准分频后的时钟频率,间接对晶体进行校准。这种方法并不改变晶体的任何特性,但可以上下调整32.768 kHz抛物线,在指定温度使精度达到0.25 ppm。本文所设计的电路经多次仿真试验,证明其时钟校准功能可正常实现,结合FPGA芯片,详细介绍了该方案的具体实现。
  
  2自校准原理概述
  
  为了提高时钟精度,解决晶体的温漂问题,就必须进行某种程度的温度补偿。通常所使用的
  32.768 kHz晶体振荡器在整个温度范围内精度呈抛物线型,如图1所示。典型晶体频率偏差与特定频率和温度的关系为:
  其中,Δf为典型晶体频率偏差,f是晶体标称频率,k是曲率常数,T是温度,T0是转折温度,f0是转折温度下的相对频偏。对于相同晶体,k、T0、f0为常数,所以每个温度下导致的频率的偏移是确定的[1]。对于不同晶体,可通过工业测量得出其k、T0、f0值。因此,在晶体出厂之前,可测出频率偏移量和温度之间的关系。如果将某块实时时钟的温度和频率漂移的对应信息保存在查找表中,单片机通过数字温度传感器获得温度信息,再通过查找表获得需校准的频率偏移量,就可输入到实时时钟中,实现自校准功能。
  
  3时钟校准总体设计
  
   3.1时钟校准原理
   在实时时钟中,通常使用的晶体振荡器标准频率fs为32.768 kHz,通过15级二分频后可得频率1 Hz的方波。如图2示,假设在需校准的温度下,通过查表或工业测试得出需要校准的时间为Δt μs,如果在校准电路中每秒增加或减少Δt μs,然后反馈回原电路,则可输出标准1 Hz方波。
   设置校准周期为N,每周期校准量为±nts(=1/nfs)(fs为32 kHz晶振频率),则每周期的校准时间 若校准为正校准,则Δt取正值,晶振每秒增加Δt的时间,增加了晶振周期,间接减小了晶振频率;反之为负校准,则Δt取负值,减少了晶振周期,增大了晶振频率。如果振荡器频率不为32.768 kHz,而是其它频率,也可通过校准的方法实现1 Hz的输出。假设当前的振荡器频率为fx,(tx=1/fx),需要校准的时间为:
   通过上式即可得到每周期的校准量。
  
   3.2时钟校准值的获取
  本文设计所采用的时钟校准值由温度传感器和逐次逼近寄存器型转换器SAR-ADC结合的采温模块获取。温度传感器由温敏晶体管、信号放大电路、输出电路组成,并结合ADC 进行使用。逐次逼近寄存器型转换器SAR-ADC的主要优点是拥有低功耗、高分辨率、高精度、输出数据不存在延时以及小尺寸等特点[2]。SAR-ADC由采样保持电路、比较器、DAC(数字模拟转换器)、寄存器和移位寄存器组成,其工作原理基于二进制搜索算法。图3为SAR-ADC的工作流程图。
   模拟输入电压(Vin)由采样/保持电路保持。为实现二进制搜索算法,N位寄存器首先设置在数字中间刻度(即:10 0 ...00 ,MSB 为‘1’),这样,数字模拟转换器(DAC)输出(Vdac)被设置为Vref/2,Vref是提供给ADC的基准电压。然后比较判断Vin是小于还是大于Vdac。如果Vin >Vdac,则比较器输出逻辑高电平‘1’,N位寄存器的MSB 保持‘1’。反之,比较器输入逻辑低电平,N位寄存器MSB清为‘0’。随后,SAR 控制逻辑移至下一位,并将该位设置为高电平,进行下一次比较。这个过程一直持续到最低有效位(LSB)。上述操作过程结束后,也就完成了转换。N位转换结果储存在寄存器内[3]。上述温度结果通过电路按比例转换成校准值,存储到校准寄存器里面,校准电路便通过该值来修调分频链,从而实现时钟的自校准。
  
   3.3时钟校准电路的设计
  从上文分析可知,如果需要校准Δt的时间偏移量,则需要增加或减少n个标准脉冲。根据以上原理,本文设计了一种精确的利用电路本身结构的校准方法。电路结构如图4所示。设校准周期N为两分钟,每次校准的时间取决于校准寄存器组trim中的输入,其中最高位寄存器trim[6]为方向位,1表示正校准,延迟时间;0表示负校准,提前时间。低6位为校准的数值,由于分频链为逐级二分频,所以相邻两级的频率相差1倍,和存入校准寄存器中的值一一对应。例如校准寄存器trim[0]和8 kHz方波clk_8k对应,trim[1]和4 kHz方波clk_4k对应,依次类推,trim[5]和256 Hz方波clk_256对应。控制信号tm_time是校准寄存器trim中的值与时钟脉冲波形相作用产生的[4]。如下式:
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文    tm_time=(clk_8k|!trim[0])&(clk_4k|!trim[1])&(clk2k|!trim[2])&(clk_1k|!trim[3])&(clk_512|!trim[4])&(clk_256|!trim[5]);
   当某位校准寄存器中的数值为1时,要使tm_time有效,则其对应方波也必须为1。设32 kHz方波的周期为ts,初始状态下分频器各位为0,则第一个tm_time有效的时间距离该秒起始和结束的时间就取决于输入寄存器中的数值。
  
  4电路仿真结果
  
   本文所设计的数字时钟校准电路应用ModelSim SE6.2b软件进行建模仿真,用Verilog-HDL语言编写设计各模块[5]。图5和图6分别是正校准波形图和负校准波形图。图5是根据图4所设计的电路进行仿真的波形图,由图中可看出,在校准寄存器trim中存入数值为1000011,方向位trim[6]为1,属于正校准。使用周期为两分钟的min来作为校准的判断。当min变高时触发校准有效,通过计算得出寄存器tm_time中的值,等待一个ts周期后触发delay_time,当delay_time有效时,复位方波寄存器clk_8K~clk_128到起始状态。由于delay_time要持续一个2 ts时间,因此复位的起始状态往后延2 ts时间。当寄存器tm_time中的数值为3时,校准后将分频链的状态往前移动了2×3×ts时间,所以校准的数值为:2×ts×3/120≈1.5 ppm。
   对于负校准,控制信号产生的时间和正校准相同,不同的是分频链不是复位到起始状态,而是复位到结束状态,因此所校准的时间也不相同。如图6所示,若校准寄存器trim中的值也为1000011,则复位到该秒的结束状态。
   由于设置的校准寄存器为6位,其数值的变化范围是0~63,所以最大校准时间为 :±2×ts×63/120≈±32 ppm,最小校准时间为:±2×ts /120≈±0.5 ppm,因此采用该校准方法的校准范围为±32 ppm,校准精度为±0.25 ppm。
  
  5结束语
  
  本文所设计的分频链数字校准方法,有效解决了实时时钟的晶体振荡器频率随温度发生漂移的问题。采用0.5μm CMOS工艺实现的实时时钟校准精度为±0.25ppm,精度相比不进行校准提高了约98.8%。校准范围±32 ppm可覆盖常温内晶体的误差,对工业温度范围内(-40℃到85℃)所导致的温漂可采用校准电容和分频链校准相结合的方法,实现低成本、高精度的校准。
  
  参考文献
  [1]江玉洁,陈辰等.一种全集成化的温补晶体振荡器.宇航计测技术[J],2003,23(3):52-57.
  [2]许荣.基于SPI的实时时钟系统设计.机电工程技术[J],2006,35(4):56-66.
  [3]Donald E.Thomas, Philip R.Moorby,著.刘明业,蒋敬旗,刁岚松,译.硬件描述语言Verilog[M].北京: 清华大学出版社,2001:28-63.
  [4]王毓银.数字电路逻辑设计[M].北京: 高等教育出版社,2005:32-77.
  [5]乔庐峰,王志功.Verilog HDL数字系统设计与验证[M].北京: 电子工业出版社,2009:58-73.
  
  作者简介
  严迪超,硕士研究生,电路与系统。
  徐东明,教授,通信专用集成电路与系统设计。
  陈文宣,工程师,通信专用集成电路与系统设计。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3