基于IRIG-A码输出的超小型GPS时钟设计

发布者:MysticalWhisper最新更新时间:2007-03-09 手机看文章 扫描二维码
随时随地手机看文章
摘要 IRIG码是一种通用的国际标准传输码,广泛应用于时统设备之间的时间通信。本时钟设计采用微控制器,依据GPS时钟信号对本地晶振进行频率测量,根据测量结果实时调整时间单元的匹配计数值和控制IRIG时间码的输出;同时微控制器内部建立一张实时的温度频率表,以供在GPS失步的情况下使用。该系统具有体积小、自适应处理能力强的特点。 关键词 IRIG-A码 GPS LPC2132 频率测量 引言   近年来,GPS(全球定位系统)得到了广泛的应用。GPS不仅提供定位信息,同时也提供高精度的时间信号。在地震观测系统中,数据采集装置对时间有着极高的要求,目前普遍采用的是GPS同步授时和本地时钟守时相结合的办法获取时间信息。每台装置都有自己的GPS接收机用于同步授时。这意味着即使在一个几百米范围内的区域,由于每台装置所处的位置不同以及各接收机性能不可能完全一致,彼此之间的时间信息也仍然存在一定的误差。如果在小区域范围内,几台数据采集器同时采用一台GPS接收机同步授时,则可消除上述误差,时间统一和可靠性能得到进一步提高。IRIG码是国际通用的一种标准时间传输码。它不仅包含秒符号信息,而且包含绝对时间信息,已经广泛应用于时统装置与用户接收装置之间的接口标准,提高了发收端时间的一致性、可靠性。 1 IRIG码格式规范   IRIG(Inter Range Instrumentation Group)码,称为“美国靶场仪器组码”,把接收的GPS时间编码,传送给分布在不同地方的设备,以实现各设备之间的时钟同步。该码广泛应用于导弹、航天、遥测等时统设备中,实施精度高,稳定性强。   IRIG码包含100个码元,每个码元又有3种码型:二进制0、1和位置标识符。分成3字段编码:第1字段为年时间(天、时、分、秒),第2字段为控制功能函数字段,第3字段为直接用二进制秒符号表示的天时间。每24小时循环1次。   IRIG串行码主要有A、B、D、E、G、H六种时间格式,主要差别是时间编码精度、码元速率和二进制时间信息的位数不同。实际常用的是A和B码。A码时帧周期为0.1 s,B码时帧周期为1 s。   在本设计中采用了IRIGA串行时间码编码。IRIG码分为直流(DC)码和交流(AC)码。DC码和AC码码元周期均为1 ms。DC码用脉宽来表示码元,脉宽0.2 ms表示二进制0,脉宽0.5 ms表示二进制1,脉宽0.8 ms表示位置标识符或参考码元。AC码用周期为0.1 ms的高幅和低幅正弦波的个数来表示码元,参考码元或位置标示符用8个高幅和2个低幅表示,二进制1用5个高幅和5个低幅表示,二进制0用2个高幅和8个低幅表示。 2 IRIGA编码设计   LPC2132 微控制器有1个8路10位A/D转换器和1个10位D/A转换器、2个32位定时器/计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗、9个边沿或电平触发的外部中断引脚。片内晶体振荡电路支持频率为1"30 MHz。通过片内PLL可实现最高为60 MHz的微控制器操作频率。PLL的稳定时间为100 μs。   在本设计中使用LPC2132和LEA4H GPS接收机组成一个时统设备的发送端。GPS接收机通过UART口,每秒钟向微控制器发送1次数据,1PPS脉冲信号接入微控制器的外部中断EINT0。温度传感器TCN75采集周围的环境温度,并通过I2C总线把温度数据传送给微控制器。二阶低通滤波电路对D/A转换器输出的波形进行整形。微控制器维持一个本地时钟计数,产生毫秒、秒、分、时、天的时间,同时把时间信息按IRIGA码的格式编码。GPS时钟电路框图如图1所示。 图1 GPS时钟电路框图   微控制器根据1PPS信号不断检测本地晶振的频率,根据检测结果控制匹配寄存器的匹配值。微控制器内部32位定时计数器T0一直对本地晶振频率计数,捕获寄存器CR0在1PPS信号触发下装入当前的计数值;匹配寄存器MR0用于设置IRIG DC码波形的跳变沿和IRIG AC码采样点时刻,匹配寄存器MR1用于设置时间单元信号。软件编码设计框图如图2所示。 2.1 晶振频率测量   32位计数器T0一直连续计数。当1PPS信号到来时,产生中断,捕获寄存器CR0装入T0当前的计数值CT1并保存下来;当下一个1PPS信号到来时,CR0装入T0的计数值CT2,本地晶振频率为(CT2-CT1)或(CT1+232-CT2)。T0计数溢出时的情况。 2.2 时间信息生成   微控制器采用对本地时钟的计数来分别产生毫秒、秒、分、时、天的时间信息,并设置了毫秒、秒、分、时、天的软件计数器。匹配寄存器MR1根据晶振当前频率值设置毫秒时刻的匹配值。当匹配时,毫秒软件计数器值加1。毫秒计数器计0"1000 ms的时间,并在秒时刻清零;秒、分、时、天计数器主要完成秒、分、时、天的计时。由于GPS接收机1 s发1次数据信息,所以对本地时钟的同步精度是1 s,由于秒以下可能会产生误差,所以微控制器还需进行钟差测量,把本地时钟计时信息和GPS时间信息进行比较。两者之差大于1 s,直接修改本地时间信息。如果本地计时快,则把毫秒计数器计数节拍调慢一点,即MR1毫秒时刻的匹配值设置偏大;反之,则把节拍调快一点,直至误差最小化。 图2 软件编码设计框图 2.3 DC码编码输出   匹配寄存器MR0控制DC码波形的翻转。由于知道了32位计数器T0与1PPS的关系,因此可根据输出码元的脉宽确定跳变沿时刻的计数值。实际上,只要所提取的时间信息转换成为IRIGA的格式,就可以按式(1)确定1帧码元脉宽的跳变沿的计数值。为了使输出的码元及时、准确,可以提前向匹配寄存器写入下一个跳变沿的计数值,即在CTX值匹配时预置CTY值,如图3所示。TX时刻对应的计数值CTX: 式中TX单位为μs。 图3 IRIGA码产生的示意图 2.4 AC码编码输出   AC码的每个正弦波采样16个点,各相邻点之间的采样时间间隔相等,其中第1个点和第17个点采样时间间隔为1 ms。AC码用高低幅正弦波个数表示(高幅和低幅正弦波采样时间相同,相应时刻幅值是前者为后者的3倍),并把正弦波采样点存表。表1存放高幅正弦波数据,表2存放低幅正弦波数据。在内部存储器中,表1和表2的入口地址不同,局部地址完全相同,寻址时只要跳到相应的入口地址,后面的查表方式就完全一致。查表时刻由匹配寄存器控制,查表时把数据送入D/A转换器,如图4所示。在D/A转换器输出端,接隔直电容和低通滤波器整形输出,同时匹配寄存器的匹配值还须根据所测的频率不断调整。 图4 IRIG-A AC码产生示意图   软件设计流程如图5和图6所示。 图5 基准时间产生流程 图6 IRIG-A 直流和交流码产生程序流程   如果GPS失步,则1PPS信号将不能用于晶振频率的测量。晶体受温度频率特性及老化等各种因素的影响,会发生短期或长期的频率漂移。为了使输出的IRIGA码仍具有较高的准确度,解决的办法是在内部建立一张温度频率表,通过实时查表确定当前的晶振频率。在GPS同步时,微控制器利用1PPS信号不断调整计数值CT1、CT2,同时利用温度传感器采集当前工作温度T,可按0.5%26;#176;的温度步差列一张[T;CT2CT1]温度频率表。只要GPS同步,这张温度频率表就在不断更新,以确保该表是实时可用的;一旦GPS失步,微控制器查表,就可查得当前的频率值f,按式(1)确定TX时刻对应的计数值CTX和确定AC码的查表时刻,以保证IRIGA码输出的连贯性和高准确性。 结语   本设计实现了IRIGA DC码和AC码的编码输出,两种码可根据实际需要选择使用。DC码和AC码主要由软件完成。在编程过程中,微控制器不断检测本地晶振的频率。GPS同步时,用1PPS信号去计算频率值,所得频率值是十分准确的,同时按温度地址存表;GPS失步时,微控制器查温度频率表,同样也能得到具有一定准确度的频率值。根据本地晶振频率就可以准确控制IRIG码的输出。该设计的实际电路体积小、功耗低,在GPS同步时有很高的输出精度,可达μs量级,而在GPS失步时输出也有较高的精度;同时可以灵活选择使用DC码和AC码输出,具有较高的应用价值。 [b]参考文献 [/b][1] 周立功,张华,等. 深入浅出ARM7 LPC213x/214x. 北京: 北京航空航天大学出版社,2005. [2] 李洪涛,等.GPS应用程序设计.北京: 科学出版社,2000. [3] 马红皎,胡永辉. GPS%26;amp;IRIGB码时间系统分析. 电子科技,2005. [4] 谢自美.电子线路设计g实验g测试. 第2版. 武汉: 华中科技大学出版社,2000
引用地址:基于IRIG-A码输出的超小型GPS时钟设计

上一篇:ST 推出电容超低的xDSL避雷器
下一篇:金融税控收款机系统中Modem的解决方案

小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved