CN110515294A - 一种嵌入式gps终端的快速高精度授时方法 - Google Patents
一种嵌入式gps终端的快速高精度授时方法 Download PDFInfo
- Publication number
- CN110515294A CN110515294A CN201810497332.3A CN201810497332A CN110515294A CN 110515294 A CN110515294 A CN 110515294A CN 201810497332 A CN201810497332 A CN 201810497332A CN 110515294 A CN110515294 A CN 110515294A
- Authority
- CN
- China
- Prior art keywords
- time
- timer
- microprocessor
- gps
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G04—HOROLOGY
- G04R—RADIO-CONTROLLED TIME-PIECES
- G04R20/00—Setting the time according to the time information carried or implied by the radio signal
- G04R20/02—Setting the time according to the time information carried or implied by the radio signal the radio signal being sent by a satellite, e.g. GPS
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electric Clocks (AREA)
Abstract
本发明涉及一种嵌入式GPS终端的快速高精度授时方法,由GPS模块、微处理器、电源模块组成,电源模块分别和GPS模块、微处理器相连,微处理器和GPS模块相连。微处理器有一个定时器1,当进入定时器1中断时,对GPS数据进行解析处理,获得UTC时间及设置IsGPS_Time;还有一个定时器0中断计数器Tcount0,当进入INT中断服务时,读取的定时器0计数值和Tcount0用于计算时间长度Tpps。当满足设定条件时就将GPS UTC时间给RTC的相应单元,同时将RTC的毫秒、微秒清零。采用本发明的有益效果是:无需增加其他辅助设备,每秒实现授时操作,具有快速、高精度的应用效果。
Description
技术领域
本发明涉及一种卫星授时领域,特别是一种嵌入式GPS终端的快速高精度授时方法。
背景技术
时间,是物质存在和运动的基本特征之一,是国际单位制七个基本物理量其中之一,是目前测量精度最高的一个基本物理量;精确时间更是推动高新技术发展的铺路石,是人类各项活动顺利开展的重要保证。
在人类进入信息社会后,物联网的层次推进应用,越来越多的设备分布在各个重要节点,然后又在中心汇聚,为行业的大数据服务提供数据依据,原本看起来很难收集和使用的数据现在很容易地用来发挥巨大作用,这些来自分布式设备的大数据正逐步为人类创造更多的价值。在整个系统中,必须保障全局时间的严格同步,如果系统中的各分布式设备不具备统一的时钟基准,那么得到的测量结果由于时钟差异将无法反映出真实情况,由于各数据无法反应在哪个时刻获取,它们之间就没有确定的关联性,最终这些数据也就无法发挥出应有的效果。例如,精确的时间同步对于涉及国家经济社会安全的诸多关键基础设施至关重要,如通信系统、电力系统、金融系统等(移动通信需要精密的时间同步以确保基站的同步运行、电力网需要精密的时间同步以有效传输和分配电力、金融系统需要精密的时间同步以保障经济的正常运行),高精度的时间服务系统已经成为衡量一个国家科技水平的最核心技术指标。
GPS接收机通过解码卫星信号输出准确的同步时标PPS信号及NMEA-0813协议报文(报文中包含了UTC时间、位置等信息),随着GPS接收机集成度越来越高,价格越来越低,嵌入式终端解析GPS接收机输出的NMEA-0813协议报文获得UTC时间已是本领域常用的技术手段。通常,PPS信号精度可达到纳秒级,NMEA-0813协议报文是在产生高电平PPS信号并保持几十毫秒时长后输出的,在授时精度要求较高的应用场合,往往采用结合PPS信号或其他辅助手段等来实现精确授时。2002年12月曾祥君、尹项根、K.K.Li等在《中国电机工程学报》发表《GPS时钟在线监测与修正方法》,指出了GPS时钟误差的影响因素,分析了GPS时钟在重要工业领域中的应用需解决两个问题:GPS时钟的实时监测和误差补偿,文章还采用高精度晶振对GPS时钟进行监测与校正,实现了一种高精度时钟的产生方法;文献CN101202545B将GPS的秒脉冲信息和绝对时间信息传递给录取控制板并校正控制板的内部时钟,以满足精度要求不高于为1×10-4秒的应用场合,由此实现了一种高精度数据录取授时仪;文献CN101430372B提供了一种基于全球定位系统接收机的芯片级授时与同步方法及其设备,其一个实施例在使用普通温度补偿晶振(0.5PPM)的情况下,实现200ns级别的授时精度和50ns级别的同步精度;文献CN100565390C为保证授时的精度,采用PPS信号触发中断,把内部的当前时间信息全部存储起来,当把GPS发送的报文信息全部解码出来后再把解码得到的时间信息加上触发后到解码完成所用的时间即可保证MCU内部的时钟与GPS时钟保持比较高度的一致;文献CN105281859B发明的高精度授时方案,在不需增加其他辅助设备前提下,在每分钟零秒时刻实现RTC时钟和GPS UTC时钟同步,达到较精确的授时效果。
近年来,物联网和云计算(服务)的发展给各行业带来的变化有目共睹,作为支撑技术之一的时钟同步技术,已成为当前分布式应用系统研究的一大热点,研究者们越来越重视在前端分布式终端实现SOE(Sequence of Events,事件顺序记录)功能,精确记录和报告预先配置的传感器、状态变化的开关量信号等,为对象的事故分析提供明确、精准有效的线索和证据,因此,在现有嵌入式GPS终端构成基础上如何实现高精度的快速授时,仍然是一件很有价值的研究。
发明内容
本发明的目的是在现有嵌入式终端构成基础上,围绕GPS的PPS信号、解码NMEA-0813协议报文实现的一种授时方法,满足高精度授时的快速要求。
为达到上述目的,本发明的技术方案是:
一种嵌入式GPS终端,由微处理器、GPS模块、电源模块组成,电源模块分别和GPS模块、微处理器相连,微处理器和GPS模块相连,其中GPS模块的PPS信号引脚和微处理器具有中断功能的INT引脚相连,且设定INT引脚的中断优先级别为最高;GPS模块的UART引脚和微处理器的UART引脚相连,且微处理器由此通道以中断方式接收GPS模块输出的NMEA-0813协议报文,UART接收一个字节所需时间为TUART,单位为毫秒;微处理器,内部设置有一个RTC时钟功能单元,由年、月、日、时、分、秒、毫秒、微秒组成,本发明的技术方案特征是;
1)所述微处理器,设置有定时器0和定时器0中断计数器Tcount0,定时器0初始值为0,最小计数周期为Tf,通常和晶振频率密切相关,单位为微秒,定时器0的中断周期为216×Tf;定时器0中断计数器Tcount0,记录定时器0的中断次数;当定时器0中断发生时,定时器0中断计数器Tcount0进行累计加一。
所述微处理器,设置有一个定时器1,设定时器1中断周期的时间为T1毫秒,与UART串口接收一个字节所需时间相关,为:T1=n×TUART,n范围为:1.1~50,T1范围为1~50毫秒。
所述微处理器,有一个GPS数据接收缓存区,当微处理器的UART串口中断一次接收一个字节,接收的内容顺序保存GPS数据接收缓存区,每次接收中断都会重新设置定时器1的初始值、设置开启定时器1运行和设置中断使能。
所述微处理器,有一个GPS数据时间解析有效标志IsGPS_Time,当进入定时器1中断服务程序时,首先关闭定时器1中断使能,对GPS数据接收缓存区中的数据,按照NMEA-0813协议规范进行解析处理,获得报文中的UTC时间;如果获得了有效的GPS UTC时间,就设置IsGPS_Time为True,否则设置IsGPS_Time为False。
所述微处理器,当进入由GPS模块的PPS信号触发的INT中断服务程序时,首先关闭定时器0,读取定时器0的计数值临时保存到Timer0;然后计算上一次中断到本次中断的时间长度Tpps,单位为微秒,计算Tpps的公式为:(Tcount0×216+Timer0)×Tf;最后再进行授时同步判断与操作,即当满足999990<Tpps≤1000010且IsGPS_Time=True,就将GPS UTC的年、月、日、时、分、秒赋值给RTC的相应单元,同时将RTC的毫秒、微秒清零。
与现有技术相比,本发明的有益效果是:在现有嵌入式终端构成基础上,无需增加其他辅助设备,在微处理器的定时器1中断服务程序中判断GPS报文接收完成后进行解码的,在GPS的PPS信号触发微处理器的INT中断服务中依据GPS报文解码结果决定是否授时操作的,具有快速、高精度的应用效果。
本发明的目的、特征及优点将通过实施例并结合附图进行详细说明。
附图说明
图1是本发明的硬件平台结构图。
图2是本发明的定时器1中断服务流程图。
图3是本发明的PPS信号中断服务流程图。
图4是本发明的定时器0中断服务流程图。
图5是本发明的串口接收中断流程图。
具体实施方式
图1中,101是GPS模块,102是微处理器,103是电源模块,GPS模块(101)的PPS引脚、UART引脚分别与微处理器(102)的INT引脚、UART引脚连接,电源模块(103)分别与GPS模块(101)和微处理器(102)连接。
为了更详细的描述本发明,下面结合图2、图3、图4和图5作进一步说明。
步骤201:进入定时器1中断服务程序,执行步骤202;
步骤202:关闭定时器1中断,对GPS接收缓冲区解析,执行步骤203;
步骤203:判断检测缓存区中数据是否有0x0D、0x0A,如果是则执行步骤204,否则执行步骤209;
步骤204:判断校验是否正确,如果是则执行步骤205,否则执行步骤209;
步骤205:判断报文类型是否为GPRMC,如果是则执行步骤207,否则执行步骤206;
步骤206:判断报文类型否是为GPGGA,如果是则执行步骤207,否则执行步骤209;
步骤207:判断GPS是否有效且获取UTC时间,如果是则执行步骤208,否则执行步骤209;
步骤208:设置IsGPS_Time为True,执行步骤210;
步骤209:设置IsGPS_Time为False,执行步骤210;
步骤210:定时器1中断服务结束;
步骤301:进入PPS信号中断服务,执行步骤302;
步骤302:关闭定时器0,读取定时器0计数值并保存,设置定时器0初值为0,设置定时器0开启运行,执行步骤303;
步骤303:根据公式:Tpps=(Tcount0×216+Timer0)×Tf,计算两次PPS信号中断时长Tpps,执行步骤304;
步骤304:判断Tpps是否大于999990且小于等于1000010,如果是则执行步骤305,否则执行步骤307;
步骤305:判断IsGPS_Time变量是否为True,如果是则执行步骤306,否则执行步骤307;
步骤306:用GPS UTC时间赋值到RTC,将毫秒、微秒单元清零,执行步骤307;
步骤307:清除串口接收缓冲区:
步骤308:PPS信号中断服务结束;
步骤401:进入定时器0中断服务;
步骤402:Tcount0值加一;
步骤403:定时器0中断服务结束;
步骤501:进入串口接收中断服务程序,执行步骤502;
步骤502:读取一个字节,保存到GPS数据接收缓存区,接收缓冲区指针后移,重新设置定时器1初值,设置定时器1启动,设置定时器中断使能;
步骤503:串口接收中断服务结束。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应该理解,我们所描述的具体实施例只是说明性的,而不是用于对本发明范围的限定,任何受本发明技术路线启发所作的等效修饰以及变化,都应当涵盖在本发明权利要求所保护的范围内。
Claims (3)
1.一种嵌入式GPS终端的快速高精度授时方法,由微处理器、GPS模块、电源模块组成,电源模块分别和GPS模块、微处理器相连,微处理器和GPS模块相连,其中GPS模块的PPS信号引脚和微处理器具有中断功能的INT引脚相连,GPS模块的UART引脚和微处理器的UART引脚,微处理器中设置有16位的定时器0,其最小计数周期为Tf,微处理器的UART接收一个字节所需时间为TUART,其特征在于:
1)所述的微处理器,设置有定时器0和定时器0中断计数器Tcount0;定时器0初始值为0,最小计数周期为Tf,单位为微秒,中断周期为216×Tf;当定时器0中断发生时,定时器0中断计数器Tcount0累计加一;
2)所述的微处理器,设置有一个定时器1,设定时器1中断周期的时间为T1毫秒,T1范围为1~50毫秒,定时器1中断周期的时间T1=n×TUART,n范围为1.1~50;
3)微处理器有一个GPS数据时间解析有效标志IsGPS_Time,当进入定时器1中断服务程序时,首先关闭定时器1中断使能,对GPS数据接收缓存区中的数据,按照NMEA-0813协议规范进行解析处理,获得报文中的UTC时间;如果获得了有效的GPS UTC时间,就设置IsGPS_Time为True,否则设置IsGPS_Time为False;
4)微处理器,当进入由GPS模块的PPS信号触发的INT中断服务程序时,首先关闭定时器0,读取定时器0的计数值临时保存到Timer0,然后计算上一次中断到本次中断的时间长度Tpps,单位为微秒;最后再进行授时同步判断与操作。
2.根据权利要求1所述的一种嵌入式GPS终端的快速高精度授时方法,其特征在于所述的上一次中断到本次中断的时间长度Tpps=(Tcount0×216+Timer0)×Tf。
3.根据权利要求1所述的一种嵌入式GPS终端的快速高精度授时方法,其特征在于所述的授时同步判断与操作,是当满足999990<Tpps≤1000010且IsGPS_Time=True,就将GPSUTC的年、月、日、时、分、秒赋值给RTC时钟功能单元的相应单元,同时将RTC的毫秒、微秒清零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810497332.3A CN110515294B (zh) | 2018-05-22 | 2018-05-22 | 一种嵌入式gps终端的快速高精度授时方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810497332.3A CN110515294B (zh) | 2018-05-22 | 2018-05-22 | 一种嵌入式gps终端的快速高精度授时方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515294A true CN110515294A (zh) | 2019-11-29 |
CN110515294B CN110515294B (zh) | 2021-06-01 |
Family
ID=68622350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810497332.3A Active CN110515294B (zh) | 2018-05-22 | 2018-05-22 | 一种嵌入式gps终端的快速高精度授时方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515294B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110601785A (zh) * | 2019-09-19 | 2019-12-20 | 福建师范大学 | 一种卫星授时的快速高精度同步方法 |
CN112578662A (zh) * | 2020-12-04 | 2021-03-30 | 中国船舶重工集团公司第七一五研究所 | 一种利用gps秒脉冲同步系统时间实现毫秒计时的方法 |
CN112821974A (zh) * | 2020-11-23 | 2021-05-18 | 北京经纬恒润科技股份有限公司 | 一种车载ecu高精度时间同步方法及装置 |
CN113259035A (zh) * | 2020-03-26 | 2021-08-13 | 安徽智芯能源科技有限公司 | 一种时钟同步方法 |
CN114047688A (zh) * | 2021-11-22 | 2022-02-15 | 河北优控新能源科技有限公司 | 一种基于高精度定时器的多传感器同步信号产生方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10243443A (ja) * | 1997-03-03 | 1998-09-11 | Hitachi Denshi Ltd | 移動局動態管理システムにおけるデータ送信方式 |
CN101261494A (zh) * | 2008-04-21 | 2008-09-10 | 杭州普维光电技术有限公司 | 基于gps技术对电表授时的方法及其装置 |
CN101604473A (zh) * | 2009-04-28 | 2009-12-16 | 武汉蓝焰自动化应用技术有限责任公司 | 一种用于燃气系统中多接入集中器及其服务方法 |
CN102256322A (zh) * | 2011-06-20 | 2011-11-23 | 北京新岸线移动多媒体技术有限公司 | 基于路车协同的通信方法及设备 |
CN104507230A (zh) * | 2014-12-24 | 2015-04-08 | 深圳市航盛电子股份有限公司 | 基于stm32定时器的led灯读表闪烁方法及系统 |
CN105281859A (zh) * | 2014-07-01 | 2016-01-27 | 福建吉星智能科技股份有限公司 | 一种基于gps的精确授时方法 |
CN106163030A (zh) * | 2015-04-07 | 2016-11-23 | 福建吉星智能科技股份有限公司 | 一种同步闪灯器的低功耗实现方法 |
CN106163026A (zh) * | 2015-03-25 | 2016-11-23 | 福建吉星智能科技股份有限公司 | 一种灯器的同步闪快速控制实现方法 |
CN107229219A (zh) * | 2017-06-28 | 2017-10-03 | 山东超越数控电子有限公司 | 一种基于gps模块、嵌入式系统的计算机精确授时方法及其实现系统 |
-
2018
- 2018-05-22 CN CN201810497332.3A patent/CN110515294B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10243443A (ja) * | 1997-03-03 | 1998-09-11 | Hitachi Denshi Ltd | 移動局動態管理システムにおけるデータ送信方式 |
CN101261494A (zh) * | 2008-04-21 | 2008-09-10 | 杭州普维光电技术有限公司 | 基于gps技术对电表授时的方法及其装置 |
CN101604473A (zh) * | 2009-04-28 | 2009-12-16 | 武汉蓝焰自动化应用技术有限责任公司 | 一种用于燃气系统中多接入集中器及其服务方法 |
CN102256322A (zh) * | 2011-06-20 | 2011-11-23 | 北京新岸线移动多媒体技术有限公司 | 基于路车协同的通信方法及设备 |
CN105281859A (zh) * | 2014-07-01 | 2016-01-27 | 福建吉星智能科技股份有限公司 | 一种基于gps的精确授时方法 |
CN104507230A (zh) * | 2014-12-24 | 2015-04-08 | 深圳市航盛电子股份有限公司 | 基于stm32定时器的led灯读表闪烁方法及系统 |
CN106163026A (zh) * | 2015-03-25 | 2016-11-23 | 福建吉星智能科技股份有限公司 | 一种灯器的同步闪快速控制实现方法 |
CN106163030A (zh) * | 2015-04-07 | 2016-11-23 | 福建吉星智能科技股份有限公司 | 一种同步闪灯器的低功耗实现方法 |
CN107229219A (zh) * | 2017-06-28 | 2017-10-03 | 山东超越数控电子有限公司 | 一种基于gps模块、嵌入式系统的计算机精确授时方法及其实现系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110601785A (zh) * | 2019-09-19 | 2019-12-20 | 福建师范大学 | 一种卫星授时的快速高精度同步方法 |
CN113259035A (zh) * | 2020-03-26 | 2021-08-13 | 安徽智芯能源科技有限公司 | 一种时钟同步方法 |
CN112821974A (zh) * | 2020-11-23 | 2021-05-18 | 北京经纬恒润科技股份有限公司 | 一种车载ecu高精度时间同步方法及装置 |
CN112821974B (zh) * | 2020-11-23 | 2023-01-24 | 北京经纬恒润科技股份有限公司 | 一种车载ecu高精度时间同步方法及装置 |
CN112578662A (zh) * | 2020-12-04 | 2021-03-30 | 中国船舶重工集团公司第七一五研究所 | 一种利用gps秒脉冲同步系统时间实现毫秒计时的方法 |
CN114047688A (zh) * | 2021-11-22 | 2022-02-15 | 河北优控新能源科技有限公司 | 一种基于高精度定时器的多传感器同步信号产生方法 |
CN114047688B (zh) * | 2021-11-22 | 2022-11-22 | 河北优控新能源科技有限公司 | 一种基于高精度定时器的多传感器同步信号产生方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110515294B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515294A (zh) | 一种嵌入式gps终端的快速高精度授时方法 | |
CN105281859B (zh) | 一种基于gps的精确授时方法 | |
CN101876693B (zh) | 一种基于电能计量芯片的终端校准系统 | |
CN202008583U (zh) | 一种同步相量测量装置时钟源 | |
CN109525351A (zh) | 一种用于与时间基准站实现时间同步的设备 | |
CN100395682C (zh) | 利用北斗卫星导航系统与全球定位系统互备授时的方法及装置 | |
CN103605023A (zh) | 一种合并单元时间特性测量方法及测量装置 | |
CN107907850B (zh) | 三相电能表时钟校准和误差校准方法 | |
US20130285834A1 (en) | Instantaneous Telemetry from the Utility Revenue Meter by use of the Pulse Outputs or Optical Reader | |
CN101261494A (zh) | 基于gps技术对电表授时的方法及其装置 | |
CN111831056A (zh) | 一种实时时钟校准模块、方法及一种实时时钟芯片 | |
CN106569028B (zh) | 一种双芯智能电能表的电量同步处理方法及系统 | |
CN109709393A (zh) | 基于时域信号频率稳定度测量的装置 | |
CN106444351A (zh) | 多源解码授时系统及其工作方法 | |
CN110007144A (zh) | 一种输入信号的频率测量方法及相关组件 | |
CN101995816A (zh) | 一种钟表自动校准方法和钟表自动校准装置 | |
CN113839732A (zh) | 时钟同步方法、装置及设备 | |
CN201185428Y (zh) | 时间综合测量仪 | |
KR20030095124A (ko) | Gps 기반의 정밀 동기클록장치를 이용한 전력계통선로정수 측정장치 및 방법 | |
CN115865252B (zh) | 一种可设定周期的高精度gnss时间同步方法 | |
CN110601785B (zh) | 一种卫星授时的快速高精度同步方法 | |
CN115765907B (zh) | 一种芯片系统授时方法、装置、电子设备及存储介质 | |
CN108375898B (zh) | 一种计算机高精度授时控制方法 | |
CN104460310A (zh) | 基于北斗二代卫星系统授时机 | |
CN201957031U (zh) | 一种ieee1588时间分析仪 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |