GPS驯服压控恒温晶振的研究与实现

2009-01-18 07:44李启丙
企业技术开发·中旬刊 2009年10期

李启丙

摘要:利用GPS提供的高稳定度的授时信号控制本地压控恒温晶振的频率。使用VHDL语言描述误差数字信号产生模块,并在CPLD芯片中实现。提高了本地压控恒温晶振的频率日稳定度和年稳定度,增强了压控恒温晶振的工作环境,克服了普通恒温振的频率漂移和机械恒温晶振机械调整的繁琐与不便。

关键词:压控恒温晶振;年稳定度;频率漂移。

中图分类号:TN751 文献标识码:A文章编号:1006-8937(2009)20-0011-02

文章在设计时间校验仪中,测量误差主要产生在时钟信号源的误差上,因此如何产生一个高精度的时钟源是关键之所在。石英晶振的稳定性受环境影响很大并且有累计误差不适合使用在昼夜温差大的室外。而且还存在一个致命的弱点,即在工作过程中的频率会单方向地发生老化。为此,人们考虑用原子跃迁运动作基准来修正老化效应,从而构成现代原子频率标准[1]。随着 GPS技术的引进与推广,人造卫星开始作为另一种时间源提供精确、可靠、稳定的时间和频率标准[2]。随着时间的增长恒温晶振的频率稳定度会逐渐下降,影响测量精度。如果选用带机械调整的恒温晶振,仪器在工作一段时间后就必须送厂里进行调整。GPS定时接收设备内采用高精度的频率信号,成本高。而采用普通恒沮晶振,就需耍每秒同GPS秒同步,造成设备抽出信号抖动增大[3]。鉴于以上问题,我们选用GPS授时自动驯服恒温晶振的频率。保证恒温晶振的稳定度。

1GPS模块自动驯服原理

依据PPS具有统计意义下的高精度特性,以具有小误差的PPS为时间基准判定晶振的频率漂移值,并根据漂移误差由单片机控制D/A给出相应的晶振控制电压,使晶振频率最接近中心频率[4]。测量GPS平均秒和高稳晶振分频秒之问的时差,采用驯服算法计算晶振的实时准确度,并通过电子频率控制的方式反馈调整高稳晶振的频率信号,从而提高频率信号的准确度和长期稳定性能[5]。

本仪器的测量精度主要决定于系统时钟的精度,因此此模块主要利用高稳定度的恒温晶振OS36T5A-20 MHz,年老化率≤±0.05ppm,日老化率≤±0.0005ppm,温度特性≤±0.005ppm,相位噪声≤-140dBc/Hz@1kHz,而且具有压控特性,在长时间使用后利用高精度的GPS按时模块M12/M12T输出误差小于±25ns的秒信号与恒温晶振产生20MHz分频得到1秒的信号进行比较,产生误差数字信号,经DAC0832转为模拟信号并通过滤波电路滤除高频信号后,去控制恒温晶振的的压控端,让其产生同步于高精度GPS的秒信号。电路原理见图1。

2恒温压控控制电路图

恒温压控控制电路如图2所示,利用8位并行、中速(建立时间1us)、电流型、低廉的DAC转换芯片DAC0832将误差数字信号转换为模拟信号,经LM324进行电流电压、极性转换和补偿电路之后送给恒温压控制晶振的压控端。以此来驯服恒温晶振与GPS的稳定度相一致。

3误差信号的产生

误差信号的产生是利用恒温晶振产生的信号在标准的1秒信号中计数,将计数值与标准频率值2000000 Hz进行比较得到误差并送出到DAC0832的数据输入端。如果计数值小于20000000,表示恒温晶振的频率偏高,所以输出正的数据(外部反相)给DAC0832,通过DAC0832产生相应的控制电压来控制恒温晶振;相反,如果计数值大于20 000 000,表示恒温晶振的频率低于标准信号,则用mid的值去减20 000 000,并给结果的最高位置1,表示此数据为负的数据,此数据同样送给DAC0832来完成对恒温晶振的控制。此误差电路是利用CPLD来完成。端口定义如下:

PORT

(clk:instd_logic;

-- Clk是恒温晶振信号输入

sclk :instd_logic;

-- Sclk是标准秒信号输入

sout :outnatural range 0 to 255

-- Sout[7..0]是误差信号输出);

频率比较程序如下:

ARCHITECTURE rtlofCrystalTame OF CrystalTame IS

signalmid: natural range 0 to 255 :=1;

--存放误差数字信号

begin

process(sclk,clk)

variable counter:natural:=1;

--定义自然数类型变量

begin

if sclk='1' then

if rising_edge(clk) then

时钟上升沿检测

counter:=counter+1;

--对恒温晶振信号输入

--进行频率计数。

end if;

else

if counter>20 000 000 then

<=counter-20 000 000;

产生频率过高的误差

产生频率过低的误差

将最高位置1

end if;

end if;

sout<=mid;

end process;

END rtlofCrystalTame;

4GPS模块控制设置

M12T GPS授时模块通信是通过串口进行,通信协议有Motorola 、NMEA0183和 RTCM SC-104三种,默认协议为Motorola二进制通信协议,并规定波特率为9600,8位数据位、1位起始位、1位停止位,无奇偶校验位。为了方便,就利用GPS默认的通信协议,其通信速率是最高的故MCU的串口设置需要按此要求进行,程序如下:

void serialinit(){

// 9600,8位数据位、1位起始和1位停

//止位,无奇偶校验位

TMOD=0x20;

//确定定时器T1为工作方式2

TL1=TH1=0xfa;//确定计数初值

PCON=0x00;//波特率不增倍

TR1=1;

SCON=0x50;

//串口工作在方式1,REN=1

REN=1;

ES=1;

EA=1;}

5 结 语

本设计利用CPLD完成数字误差信号的比较,并通过对压控恒温晶振的跟踪测试达到了设计目标,解决恒温晶振的年稳定度较大的问题和普通恒温晶振的频率漂移。

参考文献:

[1] 罗志坤,万全,欧朝龙,等.电能计量GPS授时与时钟校准系 统的研制[J].湖南电力,2008,28(1):13-16.

[2] 谢强,钱光弟.基于GPS时间源的自控时钟的设计与实现[J].工业控制计算机,2007,20(3):49-53.

[3] 宋斌,杨健,袁光文.GPS驯服晶振及其应用[A].全国时间频率学术报告会[C],2001.

[4] 李瑞涛,贾洪峰,崔少辉.一种通用精确同步源的设计与实现[J].系统工程与电子技术,2005,27(2):381-384.

[5] 曾亮,孟庆杰,徐伟.利用GPS驯服校频技术提高晶振性能[J].计量技术,2008,(5):6-8.

[6] 求是科技.CPLD/FPGA应用技术开发技术与工程实践.北京:人民邮电出版社,2005.

[7] 姜咏红.基于Quarus II的计算机核心设计[M].北京:清华大学出版社,2007.

[8] 关键.电子CAD技术[M].北京:电子工业出版社,2004.

[9] (美)Peter J.Ashenden著.葛红,黄河,吴继明译.VHDL设计指南[M].北京:机械工业出版社,2005.

[10] (美)J.Bhasker著.徐振林译.Verilog HDL硬件描述语言[M].北京:机械工业出版社,2000.