0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于LPC2132微控制器和IRIG码实现GPS时钟的应用方案

电子设计 来源:单片机与嵌入式系统应用 作者:朱祖扬,薛兵 2021-06-19 16:58 次阅读

近年来,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并保存下矗坏毕乱桓?PPS信号到来时,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°的温度步差列一张[T;CT2CT1]温度频率表。只要GPS同步,这张温度频率表就在不断更新,以确保该表是实时可用的;一旦GPS失步,微控制器查表,就可查得当前的频率值f,按式(1)确定TX时刻对应的计数值CTX和确定AC码的查表时刻,以保证IRIGA码输出的连贯性和高准确性。

结语

本设计实现了IRIGA DC码和AC码的编码输出,两种码可根据实际需要选择使用。DC码和AC码主要由软件完成。在编程过程中,微控制器不断检测本地晶振的频率。GPS同步时,用1PPS信号去计算频率值,所得频率值是十分准确的,同时按温度地址存表;GPS失步时,微控制器查温度频率表,同样也能得到具有一定准确度的频率值。根据本地晶振频率就可以准确控制IRIG码的输出。该设计的实际电路体积小、功耗低,在GPS同步时有很高的输出精度,可达μs量级,而在GPS失步时输出也有较高的精度;同时可以灵活选择使用DC码和AC码输出,具有较高的应用价值。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7646

    浏览量

    152074
  • 转换器
    +关注

    关注

    27

    文章

    8742

    浏览量

    147990
  • 接收机
    +关注

    关注

    8

    文章

    1184

    浏览量

    53626
收藏 人收藏

    评论

    相关推荐

    LPC2132如何用ISP下载 程序

    我有一个LPC2132最小系统。和一个PL-2303(USB转TTL)如何使用 PL-2303给 LPC2132最小系统下载程序
    发表于 11-27 21:58

    基于LPC2132的流水灯时钟(毕业设计)

    基于LPC2132的流水灯时钟
    发表于 03-24 14:54

    请问两片lpc2132通过i2c怎么通讯

    就比方实现一片lpc2132的按键按下让另一片的led灯亮。。我很疑惑的是,好像主机和从机程序都是下到主机lpc2132中。。就算在主机中检测按键按下然后发送一个命令给从机,那从机lpc213
    发表于 06-16 19:46

    LPC2132芯片的ISP怎么实现一键式下载?

    的USB_RS232部分电路产生的RxD和TxD直接引到我的LPC2132板子上面。当然那种GND和3.3V我会公用起来的。现在的问题就是怎么实现一键式,也就是能够自动的将LPC2132的P0.14拉成低电平。这边
    发表于 03-28 06:35

    LPC2132的设计经验与设计技术,总结的太棒了

    本文以LPC2132为例,介绍LPC2132的设计经验与设计技术。
    发表于 04-25 09:08

    单片机LPC2132相关资料下载

    概述:LPC2132是飞利浦半导体公司生产的一款基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制器,并带有32kB、64kB、512 kB 的嵌入的高速
    发表于 05-18 07:29

    基于LPC2132的MRI病床控制系统中的COS-II应用设

    基于移植到LPC2132的μC/OS-II进行软硬件设计,通过触摸屏交互界面实现MRI病床系统的运动控制
    发表于 11-09 10:34 30次下载

    采用IRIG-A输出的超小型GPS时钟设计

    IRIG是一种通用的国际标准传输,广泛应用于时统设备之间的时间通信。本时钟设计采用微控制器,依据GP
    发表于 03-29 15:15 1283次阅读
    采用<b class='flag-5'>IRIG</b>-A<b class='flag-5'>码</b>输出的超小型<b class='flag-5'>GPS</b><b class='flag-5'>时钟</b>设计

    基于LPC2132的智能防窃电系统的设计

    文中分析了基于LPC2132 的智能防窃电系统的设计,它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持,它是一种有效支持分布式控制或实时
    发表于 04-06 11:55 2842次阅读
    基于<b class='flag-5'>LPC2132</b>的智能防窃电系统的设计

    LPC2132应用到电网参数采集平台的设计

    本文为LPC2132应用到 电网 参数采集平台的设计,用于检测电网的状态。
    发表于 06-29 15:59 52次下载
    <b class='flag-5'>LPC2132</b>应用到电网参数采集平台的设计

    基于LPC2132的电动执行双核控制系统的设计

    为了在电动执行控制系统中提高控制精度和实现速度调节,采用直流无刷电机来驱动执行,同时控制系统
    发表于 12-26 11:25 49次下载
    基于<b class='flag-5'>LPC2132</b>的电动执行<b class='flag-5'>器</b>双核<b class='flag-5'>控制</b>系统的设计

    基于LPC2132的双驱电动车控制系统设计

    基于LPC2132的双驱电动车控制系统设计
    发表于 01-14 12:33 15次下载

    采用LPC2132控制步进电机实现康复机器人系统的设计

    LPC2132 是基于一个支持实时防真的嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制器,并带有32 KB,64 KB,512 KB的嵌入的高速FLASH存储。其内部有1 个
    的头像 发表于 11-02 08:40 2884次阅读
    采用<b class='flag-5'>LPC2132</b><b class='flag-5'>控制</b>步进电机<b class='flag-5'>实现</b>康复机器人系统的设计

    微控制器LPC2131/2132/2138的设计经验与设计技术

    SoC在医疗器械中应用前景广阔,LPC2131/2132/2138是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STM CPU的微控制器,带有32kB/64kB/512 kB
    的头像 发表于 09-22 17:55 4499次阅读
    <b class='flag-5'>微控制器</b><b class='flag-5'>LPC</b>2131/<b class='flag-5'>2132</b>/2138的设计经验与设计技术

    基于微控制器LPC2132芯片实现智能配电熊的设计

    配电自动化技术正朝着数字化、智能化、网络化、多功能的方向飞速发展。本文以内含ARM7TDMI—STM CPU的微控制器LPC2132芯片作为系统主控制器,针对电力系统数据信号的采集和数据通信,以及
    的头像 发表于 12-28 09:53 3269次阅读
    基于<b class='flag-5'>微控制器</b><b class='flag-5'>LPC2132</b>芯片<b class='flag-5'>实现</b>智能配电熊的设计