欢迎到:上海爱启企业服务有限公司

全国热线:13681742592

产品类别

行业知识
首页 > 行业知识 > 内容
关于时频系统对闰秒和闰秒预报的处理
编辑:上海爱启企业服务有限公司   时间:2016-12-07

时频系统基础知识

       1. TAI时间是连续的时间刻度, UTC时间为不连续时间刻度;

       2. B码标准格式定义里关于闰秒flag的定义:参见B码标准格式定义.pdf

因此发生正闰秒时TAI、UTC、B码闰秒预告的对应关系:正闰秒时UTC时间会重复。

UTC

59:00

59:01

59:02

59:57

59:58

59:59

59:60

00:00

00:01

UTC秒

93

94

95

150

151

152

153

153

154

当前闰秒

16

16

16

16

16

16

16

17

17

TAI秒

128

129

130

185

186

187

188

189

190

B码LSP

0

0

1

1

1

1

1

1

0

0

表1

而发生负闰秒时TAI、UTC、B码闰秒预告的对应关系:负闰秒时UTC时间会跳跃。

UTC

59:00

59:01

59:02

59:57

59:58

00:00

00:01

UTC秒

93

94

95

150

151

153

154

当前闰秒

16

16

16

16

16

15

15

TAI秒

128

129

130

185

186

187

188

B码LSP

1

1

1

1

1

1

0

0

表2

以上两份表格里标红的时间段即为闰秒发生时刻。

Ublox模块

参见u-blox5_Protocol_Specifications(GPS.G5-X-07036).pdf

1. 闰秒解析

闰秒解析在如下报文字段:

将从报文里解析到的闰秒数leapS(GPS_UTC_offset),加上固定值19(TAI_GPS_offset),计算出TAI_UTC_offset,设置到寄存器,这个设置的时刻很重要。(设置了寄存器后会在下一秒的秒头生效。)

2. 闰秒预报解析

闰秒预报相关在如下报文字段:

(1). utcWNF:闰秒事件发生的 UTC周数,单位:星期;

       utcDN:闰秒事件发生的UTC周内天数,单位:天;

通过以上两个字段可以计算出下一个闰秒发生时的utc秒数:

utcLeapOccur = utcWNF *SECONDS_OF_WEEK+SECONDS_OF_DAY* utcDN+ GPS_ZERO_UTC(315964800)。

(2). utcLS:表示闰秒事件发生之前的闰秒数;

       utcLSF:表示闰秒事件发生之后的闰秒数;

通过以上两个字段可以计算出下次的闰秒类型,是正闰秒(61)还是负闰秒(59):

leapEventType  =  utcLSF – utcLS。

因此,结合(1)中计算出来的闰秒发生时刻的utc秒数utcLeapOccur(对应于表1中的153和表2中的151),以及闰秒事件发生之前的闰秒数(对应于表1、表2中的16),即可计算出闰秒事件发生时刻的TAI秒数taiLeapOccur:

taiLeapOccur =  utcLeapOccur + utcLS + TAI_GPS_OFFSET(19)。

威科姆模块

       参见BD-7703用户手册 v1.0.0.pdf

1. 闰秒解析

闰秒解析在如下报文字段:

2. 闰秒预报解析

闰秒预报相关在如下报文字段:

       如上述例所示,闰秒发生时间为2010年12月31日23时59分60秒,由此计算出正闰秒发生时刻的UTC时间utcLeapOccur ,再结合闰秒事件发生之前的闰秒数(即目前闰秒,本例中为15),计算出闰秒发生时刻的TAI时间,taiLeapOccur =  utcLeapOccur + 15+ TAI_GPS_OFFSET(19)。

泰斗模块

       参见TD3020T双模授时定位模块用户手册V1.1beta.doc

闰秒解析

闰秒解析在如下报文字段:

       由于北斗是2008年才投入使用,因此出现了BD2 UTC参数(即北斗闰秒)值为2秒。实际上从UTC原点1970年1月1日0时0分0秒至今已进行过25次闰秒调整,而且全都是正闰秒调整,而GPS时间原点是1980年1月6日0时0分0秒,故GPS UTC参数(即GPS闰秒)值为16。

2. 闰秒预报解析

闰秒预报相关在如下报文字段:

       依据以上第7字段可知最近半年内有无闰秒事件,第8字段解出闰秒发生时刻的TAI时间,第9字段获取新的闰秒修正值。

NTP闰秒处理

参见rfc1119.Network_Time_Protocol_(Version_2)_Specification_and_Implementation.pdf

1. NTP闰秒处理中的两个重点

       1.  闰秒预报;

       2. 闰秒发生时刻本地UTC时间戳的处理

预报

       1. NTP在闰秒发生前一分钟开始发闰秒指示,该指示填写在NTP报文头部的leap Indicator字段中,规则如下图所示,将

1.目前程序中的闰秒预告的方法(程序利用本地事件触发来实现闰秒预告)

       A.获取GPS(TD/WKM/UBX)模块解析出发生闰秒的时刻taiLeapTime;

       B.当本地tick到达taiLeapTime-60秒时,将NTP报文中的Leap Indicator标记置位01(即leap61);

       C.当本地tick到达taiLeapTime+1时,将NTP报文中的Leap Indicator标记置回位00(即nowarning);

1. 闰秒发生时刻UTC时间戳的处理

1. 关于NTP时间戳

       A. NTP携带的时间戳是逻辑打的硬件时间戳;

       B. 逻辑运行的是TAI时戳,而NTP需要携带UTC时戳,所以逻辑增加了一个utcoffset的寄存器,当给打NTP的时间戳的时候逻辑会自动减掉utcoffset寄存器的值;

2. 当前NTP发生闰秒时的时戳处理方法:

       A. 闰秒发生前,已经从GPS(TD/VKM/UBLOX)模块解析出即将发生闰秒的时刻taiLeapTime;

       B. 将闰秒发生的时刻taiLeapTime以及闰秒发生时刻应该执行的动作(即将UTCoffset设置为新的值)加入到事件机制中;

       C. 假设发生正闰秒,对照表1,UTC为59:60(此时TAI为188秒)时,执行设置UTCoffset寄存器的动作,当TAI为189秒,0纳秒达到的时候,UTCoffset已经被更新为新的值 (即TAI时刻189秒,0纳秒,UTC时刻00:00开始,NTP时间戳已经采用新闰秒后的值进行运算),此时NTP报文时间戳中会出现两次UTC秒153 。

TOD闰秒处理

       参见中国移动高精度时间同步1PPS+TOD时间接口规范V1.0.0.pdf

1.中国移动TOD闰秒未处理(标记位不足)

2. NMEA格式闰秒未处理(标记位不足)