预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
【一种基于分频链的时钟校准方法】时钟分频摘要:针对晶体振荡器的温漂特性,设计了一种基于分频链的时钟校准算法。在不改变晶体振荡器的情况下可调节时钟频率,校准精度达±0.25ppm,校准范围±32ppm,通过多次实验分析,用Verilog-HDL语言编写全部模块,在modelsim6.2b软件中实现模块仿真。全部功能正常实现,符合设计要求。关键词:Verilog-HDL;时钟;晶体振荡器;校准Aclockcalibrationalgorithmbasedondivide-chainfrequencyYANDi-chao1,XUDong-ming2,CHENWen-xuan3(1.Xi‘anUniversityofPostsandTelmunicationsXi‘an710061;2.Xi‘anUniversityofPostsandTelmunicationsXi‘an710061;3.Xi‘anSupermicroElectronicsCo.,LTDXi‘an710061)Abstract:Acalibrationalgorithmbasedondivide-chainfrequencyisdesignedforthecrystaloscillatortemperaturedriftcharacters.Thisalgorithmcanadjusttheclockfrequencywithoutchangingthecrystaloscillator.Withthismethod,thecalibrationauracyis±0.25ppm,andtherangeofcalibrationis±32ppm.Basedonmanyexperiments,allmodulesarepiledbyVerilogHDLlanguage,andthemodulesarerealizedwithModelsim6.2b.Allofthefunctionsaresuessfullyrealizedandtheresultmeetrequirements.Keywords:Verilog-HDL;Clock;CrystalOscillator;Calibration1引言实时时钟采用外部晶振作为时钟源,但晶体振荡器本身存在着或大或小的偏差,且会随温度的改变发生频率漂移。通常实时时钟使用的32.768kHz晶体,在整个温度范围内精度呈抛物线型。室温下(+25℃)精度典型值为±35ppm,相当于每天慢或快1.7秒,在高温或低温区域精度将变得更差,最高可达近±200ppm。本文参考微处理器温度补偿晶体振荡器原理,根据实时时钟的电路特点,设计了一种基于分频链的校准算法,通过一组数字校准寄存器校准分频后的时钟频率,间接对晶体进行校准。这种方法并不改变晶体的任何特性,但可以上下调整32.768kHz抛物线,在指定温度使精度达到0.25ppm。本文所设计的电路经多次仿真试验,证明其时钟校准功能可正常实现,结合FPGA芯片,详细介绍了该方案的具体实现。2自校准原理概述为了提高时钟精度,解决晶体的温漂问题,就必须进行某种程度的温度补偿。通常所使用的32.768kHz晶体振荡器在整个温度范围内精度呈抛物线型,如图1所示。典型晶体频率偏差与特定频率和温度的关系为:其中,Δf为典型晶体频率偏差,f是晶体标称频率,k是曲率常数,T是温度,T0是转折温度,f0是转折温度下的相对频偏。对于相同晶体,k、T0、f0为常数,所以每个温度下导致的频率的偏移是确定的[1]。对于不同晶体,可通过工业测量得出其k、T0、f0值。因此,在晶体出厂之前,可测出频率偏移量和温度之间的关系。如果将某块实时时钟的温度和频率漂移的对应信息保存在查找表中,单片机通过数字温度传感器获得温度信息,再通过查找表获得需校准的频率偏移量,就可输入到实时时钟中,实现自校准功能。3时钟校准总体设计3.1时钟校准原理在实时时钟中,通常使用的晶体振荡器标准频率fs为32.768kHz,通过15级二分频后可得频率1Hz的方波。如图2示,假设在需校准的温度下,通过查表或工业测试得出需要校准的时间为Δtμs,如果在校准电路中每秒增加或减少Δtμs,然后反馈回原电路,则可输出标准1Hz方波。设置校准周期为N,每周期校准量为±nts(=1/nfs)(fs为32kHz晶振频率),则每周期的校准时间若校准为正校准,则Δt取正值,晶振每秒增加Δt的时间,增加了晶振周期,间接减小了晶振频率;反之为负校准,则Δt取负值,减少了晶振周期,增大了晶振频率。如果振荡器频率不为32.768kHz,而是其它频率,也可通过校准的方法实现1Hz的输出。假设当前的振荡器频率为fx,(tx=1/fx),需要校准的时间为:通过上式即可得到每周期的校准量。3