基于定位系统基准频率源的设计与制作

为校准计数器、无线电接收器和信号发生器的频率,需要非常精确的10MHz和1MHz的信号源。
这里介绍的就是与GPS相联系的基准频率源,可以获得星上铯射线“原子钟”的高精度信号。
在这里选用的接收模块是GarminGPS15L。这是个非常小的装置,外形仅46Mm×36Mm×8.5mm,重约1.4go其内部集成了很多功能。
其中有一个完整的12通道GPS接收器。它能够一次跟踪和使用最多12个GPS卫星。并且能够从RS一232口以文本形式提供由GPS产生的时间、日期、位置和卫星状态等信息。每秒钟更新一次。
它还在输出端提供每秒一次的脉冲信号(1PPS),脉冲前沿非常精确地锁定在U丁C衍生GPS时钟系统上。我们主要是使用这些时钟作为控制本地10MHz晶体振荡器的参考信号。
1.天线
为获得最好的性能,需要将高质量的信号馈送给GarrninGPS15L接收器。这意味着室外空旷区域安装小型有源天线。天线要尽可能高,以便得到通畅的天空“视野”,得以接收卫星信号。
天线要以适当长度的50Ω同轴电缆接到接收器的输入端。天线将放大的1.575GHz的GPS信号馈给接收器,同时接收器也为有源天线提供直流电源。在这里,我们选用了GarminGA29嵌入式有源天线。它被装在一个塑料插口盒中,并安装在电视天线桅杆顶上。
2.工作原理
要了解整个装置情况,请参考下图的方框图。
10MHz晶体振荡器(下图右方,顶部)的频率由一个锁相环(PLL)来控制。这个锁相环进而又以来自GPS接收器的非常精确的1Hz脉冲为参照。而这个锁相环结构比一般的稍微复杂一点。
增加复杂性的基本原因是:使用低至1Hz的参照频率来控制10MHz的晶体振荡器是不容易的,至少使用标准的PLL不容易。这是由于对于标准PLL配置,振荡器频率必须除以1×108(精确到1Hz)。然后在相位比较器中与参考频率比较。然而这样高的除法参数引起相当长的时间延迟。也会对纠正相位差的负反馈产生不利影响。这使得稳定PLL非常困难。
为了解决这个问题,我们用一个比较小的因子,来除以10MHz振荡器的输出。实现方法是使用同步除法器芯片,分别组成除以10和除以20两级。
最终得到50kHz的脉冲信号。其脉冲前沿定时(L—H转换)与10MHz振荡器的每一个第200个脉冲的前沿非常接近于同步。
这意味着我们已经有效地将10MI"1z振荡器产生信号的相位转换为20倍除法器的输出端的50kHz信号。正是这个信号的相位被馈送到相位比较器的第2输入端,在那里与从GPS接收器模块来的1Hz脉冲前沿相位相比较。
3.相位比较器
相位比较器的作用与其名字完全一致—它将每一个1Hz脉冲的前沿和与其最接近的50kHz的脉冲相比较,并且产生一个“误差脉冲”。其宽度精确地等于两者的时间差。在每一个1HzGPS脉冲的开始时产生一个相位误差脉冲,而其脉冲宽度可以从零(当两个信号完全同步时)到理论上的最大值(两个信号在50kHz信号的一个周期内部同步)之间变化。
在实际上,我们使用PLL反馈回路保持固定的相位差,约为10us(周期半程)。这提供了PLL尽可能宽的调节范围,以确保。10MHz振荡器信号可靠锁定。
4.反馈电压的产生
那么,我们如何使用从比较器取得的变化的相位误差脉冲来产生对于10MHz信号的误差校正的反馈电压呢?首先,我们用误差脉冲控制一个“与”门,它传送来自第二个晶体振荡器的脉冲(运行于10MHz)到二个8位二进制计数器。这样,由于误差脉冲宽度变化。它会允许不同数量的“近‘10MHz"脉冲达到计数器。
例如:如果误差脉冲为8.Ous宽。将有80个脉冲到达计数器。如果误差脉冲为11μs宽。将有110个脉冲通过。以此类推,这样,在每一个1HzGPS脉冲的开始,都有一定数目的“近10MHz"脉冲串馈送到计数器。脉冲数量直接正比于相位差。
这个计数器准确地在每个1HzGPS脉冲结束时复位。在计数器的输出端我们设置了8位锁存器和由梯形电阻网络组成的简单数字一模拟转换器(DAC)。在每个误差脉冲结束之后,最新的与误差成比例的计数值被送入锁存器。替换先前的计数值。
作为其结果,DAC的输出是根据相位差每秒变化一次的直流电压。这样,相位差就被转换成变化的直流误差电压了。
5.为什么需要两个10MHz振荡器
使用第二个10MI-1z振荡器是因为在与主振荡器作相位比较时不可避免的漂移,而且这会引起进入相位差计数器小的数量“抖动”。随机噪音会导入DAC的输出端电压。由于“抖动”的原因,使用第二个振荡器比仅使用一个振荡器使PLL误差纠正具有明显更高的精度。
这一原因相当明显。如果我们使用的脉冲来自主振荡器。它们被锁定为50kHz的脉冲(因此,相位误差脉冲也同样锁定),这一事实意味着DC误差电压只能以19.53n1V增量改变,相应于相位误差的‘100ns的变化。
然而,由于使用第二个振荡器,被引入的抖动,意味着平均误差电压将以更小一些的增量变化。这也就意味着我们可以保证主振荡脉冲锁定到更接近于100ns。
如下图所示,来自DAC的相位误差电压通过缓冲器被馈送到由电容C1和电阻R1、R2所组成的低通滤波器。滤波后的误差调整电压随后被用来控制一个变容二极管(VCl)的电容。以便精细控制10MHz主振荡器。
通常类型的PLL系统在用来将10MHz振荡器相位与仆tzGPS脉冲锁定时非常有效,但却有点限制。因为是用振荡器频率除以200代替了10MHz。这使得锁定振荡器频率在9.9998MHz或9.9996MHz及10.0002MHz或1O.0004MHz时有效。
换句话说。其频率锁定能力是从10MHz开始的。按频率差每200Hz及其整倍数加以区别。这就意味着,在你设置这个基准频率源时要调整主振荡器的自由振荡频率在10MHz上下的100Hz之内:
否则,这个PPL就会将锁定频率定为9,9998MHz或10.0002MHz,不是正确的频率了。
6.利用GPS数据
以上就是GPS基准频率源的主要部件工作原理。位于原理图左下方的部分与主要部分在功能上完全分离。主要目标是使用与精确的1Hz脉冲同步(但被分隔开),每秒从GPS接收模块取得有用的数据流。这些数据以ASCII文本形式提供,在RS-232C串行输出接口送出。为语句数据代码形式,以4800b/s传送。所用语句形式见美国国家海洋协会标准,NMEAl083。这个格式是NMEA为海洋导航仪信息交换制定的第一个标准。
如下图所示,我们使用已经编程的PIC16F628A微控制器来捕获和分析这些串行数据。译码后的数据送到一个LCD模块。其中的按键S1~S3允许根据需要短时间显示大量内部数据中的一部分。一般有简单显示当前UTC的时间、日期,加上GPS方位和PLL的锁定状态。第4个开关S4控制PIC微处理器,当处理器变得混乱时,传送初始化代码命令给GPS接收模块,使其正常初始化(当然GPS中也包含有微控制器)。事实上,接收器模块为此目的,除了输出口外,也带有RS232的输入口。
然而,由于很少需要这种初始化,S4不像S1~S3一样经常使用。可代之以用小螺丝刀或探针头通过前面板上的一个小孔来操作。
7.电路说明
下图显示了主电路图,右图则是与LCD模块有关的显示部分电路图。两者通过一个16线电缆插头连接。
操作时,GarminGPS15L接收模块由一个外接有源天线(下图左下方)馈送信号。被锁定的GPS1Hz脉冲的结果在8路输出电缆的灰色线上,然后送到与CON7相对应的10路IDC电缆插座的第5针上。这个1Hz脉冲再馈送到作为缓冲级的施密特变频器lClla和ICllb上。最终ICllb来的峰~峰值为5V的脉冲直接送到相位比较器IC7的14脚。
相位锁定到GPS脉冲的10MHz晶体振荡器以反相器IC3f和晶体×1,变容二极管VCl和几个小容量电容所组成。其输出10MHz信号通过反向缓冲级IC3b馈送到CONl,同时也借助于IC3c送到除法器级IC4。信号在这一级被10除,并且产生两个输出,分别在15脚和12脚输出。12脚上的输出随之通过反相器IC3e送到CON2。在BNC的连接器CON2提供1MHz的输出信号。与之相比,从15针输出的1MHz脉冲馈送到基于IC5的第二个被10除的除法器级(即第10针的CET输入端)。
从IC5的15脚产生的100kl-1z脉冲输出随后被送到J—K触发器IC6的J和K端IC6a和IC6b。注意:从IC3c来的10MHz输出用作IC5的时钟,而后通过反相器IC3e提供给IC6a和IC6b。这确保了计数器和除法器输出准确地同步。
从IC6a的Q端(12脚)输出的50kHz脉冲被送到相位比较器lC7的Cirl输入端(第3脚)以便与在14脚(Sin)的1HzGPS脉冲相比较。注意,这些50kHz脉冲上升沿与来自10MHz振荡器的每200个脉冲的上升沿密切配合。
相位差脉冲在lC7的15脚出现,直接送到4位同步计数器IC8和IC9(741-1C161)的时钟门控端,这两者共同组成了8位相位差脉宽计数器。这是通过图中所示的与门来实现的,但实际上与门是在芯片内部而不是分离的装置。
误差计数器使用的“准10MHz"时钟以晶体X2和反相器ICl4c为基础组成。其输出由ICl4a和ICl4f缓冲,然后送到两个计数器的时钟输入端(第2针)。两个计数器的八位输出馈送到八位锁存器ICl2的数据输入端。其输出用于驱动电阻排DAC(数一模转换器)。
事实上,计数器一锁存器一DAC子电路被安排为:每当从GPS来的1Hz脉冲开始时,完成一次新的相位误差计数。顺序如下:每当1Hz的下降沿(脉冲开始的。100ms之后),计数器(1C8/IC9)被其MR(第1脚)上的非常短的脉冲所复位。这个非常短的复位脉冲起源于IClla输出的1Hz脉冲。这个1Hz脉冲用100pF电容和1kQ电阻鉴别后,通过ICllC馈送到IC8和IC9的MR脚。
当来自IC7的相位差脉冲到达其CEP脚(7)时,两个计数器开始计数。允许它们对通过缓冲级lCl4a和ICl4f馈送到其CP输入端(第2脚)的“准10MHz"脉冲计数。计数一直持续,直到相位误差脉冲末尾,然后停止。另一个非常短的脉冲,这次是由相位误差脉;中信号的下降沿所引起的,通过lClle被加到lCl2的11脚,随之计数值被送入ICl2的锁存器,代替了原来的计数值。
作为结果,DAC的输出变为与新计数值对应的直流电压。计数器在1HzGPS脉冲的最后重新复位,准备下一个循环。
从DAC来的变化的直流相位差电压首先通过缓冲级lCl3a,随后到达由1kΩ电阻(图1中R1)。
一个10μF电容(C1)和三个1MΩ电阻(R2)所组成的滤波器。从这里开始,滤波后的相位差电压馈送到ICl3b,变成了自动相位校正电压(APC)。这个APC电压被加到变容二极管VCl上,因此使其电容改变。
如前所述,VCl组成了。IOMHz晶体振荡器的一部分,而其电容变化带入振荡器的锁相环。垫整电容VC2和其上并联的4.7pF电容是初始调整振荡器的。使其自由振荡频率在100MHz的100Hz以内,确保PLL正确地锁定到正确的频率上。
8.温度稳定性
比较器IC2的功能,晶体管Q1和LM335Z温度传感器(IClO)的作用是什么呢?这些元件是用来实现10MHz振荡器晶体(×1)、变容二极管及与其串联15pF电容的温度稳定性的。事实上,这些元件被装在一个小烘箱里以保持其温度稳定。烘箱里还有装在晶体、LM335Z温度传感器和功率晶体管(Q1)上的小型TO一220型散热器。小烘箱基本上是用展开的聚苯乙烯铺开在缩小的35mm胶片盒内部做成的一个绝缘壳体。需要了解的是,IClO(LM335Z)被装在外壳内部,以便感受其内部温度。
IClO上的电压基本上与其温度(开式温标)直接成正比。这个电压被加到比较器IC2的非反向输入端,IC2的反向输入端输入接近3.15V的参考电压,由并联在5V稳压电源线上的分压电阻(2kQ和3.3kΩ)来提供。作为结果,当温度传感器电压上升到比3.15V稍高时,IC2的第7脚输出会变为高电平。而当温度传感器电压比这个电平稍低时,IC2的第7脚输出低电平(误差决定于加到比较器上的延时)。
IC2用来控制功率晶体管Q1,Q1用在这里完全是作为一个加热器。这个晶体管附着在有翼散热器上组成小烘箱的一个加热器。因当其导通时会产生热量,增加温度。由于lCl0提供的负反馈的原因,小盒里的温度维持在非常接近42%一事实上,误差±1℃。这个温度可以用电位器VRl在小范围内调整。
9.RS一232C数据
从GPS接收器来的RS一232C数据出现在黄色导线上,并且(借助IDC插口线3)被连接到CON7的第2针上。它从这里通过反向缓冲器ICl4e被馈送到用来处理串行数据PIC微控制器lCl的RBl输入端(第7脚)。
类似地,对于GPS接收器模块的RS一232C串行输入是其蓝色线,并被送到CON7的第1针。作为结果,来自微控制器的串行输出口(RB2,第8脚)的串行口的初始化命令通过反向缓冲器ICl.4d送到模块上。
从IC7来的相位差脉冲也被送到ICl的RB3的输入端(第9针)从而微控制器能够监测PLL是否保持锁定。
10.显示器电路
显示器电路(见右图)通过插口CON9与主电路接口,其中包括两行×16字符LCD模块(可以直接由微控制器lCl驱动)和其对比度控制用的VR2。
此外,还有四个控制开关(S1~S4)和三个指示灯发光二极管(LEDl~LED3)依次由开关晶体管Q2~Q4驱动。注意Q2和Q3(也就是LEDl和LED2)是由微控制器直接控制的(借助RAl和RA2)。而Q4(LED3)责被来自GPS的1Hz脉冲借助lCllb来驱动。如前所述:按下S1~S3在LCD上分别显示指定的数据,而S4则用于初始化GPS接收模块。
11.电源
电路电源由外部的12VDC电源来提供(电源插口额定功率要500mA以上)。电源通过电源插口CON5和二极管D1提供,二极管用作反向电压保护。
二极管D4~D5提供附加的电压降,以减少电源在三端稳压器REGl中的损耗,REGl提供稳压后的+5V电源给大多数电路。唯一直接由非稳压的+11.4V输入驱动的是在小盒中的比较器IC2和加热器晶体管Q1。
12.其他信号
以上是关于电路的描述。需要注意,基准频率源还给出了各种有用的信号(除了主10MHz和1MHz输出之外),这些信号可用来监控其操作。
首先,1Hz GPS脉冲通过IClld和CON3给出。其次,IC7输出的相位差脉冲的反相变形通过IC11f和CON4给出。最后,来自ICl3a的未滤波的DC相位差电压通过CON8给出。后两个信号都能用来记录频率源的操作。
评论