摘要:由于国产核心交换芯片的时间同步接口一般为移动标准时间同步接口,与北斗卫星导航系统北斗标准时间同步接口不一致,因此在以国产芯片为核心处理单元的骨干网中无法实现北斗时间的传输。本文设计了一种北斗时间同步接口标准协议与移动时间同步接口协议的转换方案,通过详细对比两者的日时间(TOD)数据帧的异同之处,以世界协调时(UTC)秒时间作为中间媒介实现两者不同时间表达的转换。实验结果证明:在所搭建的网络环境下,北斗卫星接收机输出的时间信息可以稳定地转换成移动标准的时间信息,且转换后的移动时间数据可正常稳定地被国产芯片解析并传输到核心骨干网中。
关键词:北斗 ZDA ;移动 ZDA;协议转换
程明; 卢建福; 罗晋, 光通信技术 发表时间:2021-11-18
0 引言
北斗卫星导航系统是我国着眼于国家安全和经济社会的发展需要,是自主建设运行的全球卫星导航系统,是为全球用户提供全天候、全天时和高精度的定位导航授时服务的国家重要时空基础设施[1]。2020 年 7 月 31 日,习近平同志向世界宣布北斗三号全球卫星导航系统正式建成开通,中国北斗迈入服务全球、造福人类的新时代。
在以美国为首的国外大国核心芯片禁运背景下,自主研发并应用国产核心芯片成为解决军用网络中的唯一出路。但由于受限于核心交换芯片的发展,目前国产的核心二三层业务芯片采用移动标准的时间同步接口,实现对高精度时间的输入和输出。
然而,移动标准的时间同步接口无法与目前我国部署的北斗卫星导航系统北斗时间同步标准接口兼容,故需要设计一套协议转方法,才能将北斗授时时间传输给国产核心处理芯片,以便在核心网中同步北斗时间信息。本文详细对比北斗标准时间同步接口协议和移动标准时间同步接口协议中的日时间(TOD)数据帧的异同之处,以 Unix 秒时间作为中间媒介实现两者不同时间表达的转换,经过测试可满足高精度时间传输的要求。
1 协议对比
1.1 北斗时间同步接口标准的 TOD 数据帧
根据技术协议《北斗卫星导航系统用户终端通用数据接口》规范中的说明[2],北斗时间同步接口标准的 TOD 信息数据以串行异步方式传送。第一位为起始位,其后是数据位。数据遵循最低有效位优先的规则。北斗时间同步接口标准定义的物理层接口参数如下:
1) 波特率:4800~115200 bps ,可根据需要设定,默认值为 115200 bps ; 2) 数据位:8 bit (d7=0); 3) 停止位:1 bit ; 4) 校验位:无。
北斗时间同步接口标准协议定义的数据链路层要求,在串行数据中的通用语句标识符用 ZDA 标识 UTC 时间、日期和本地时区等。数据域中所有的字段都为 ASCII 可显示字符范围内字符,其定义的数据帧格式为:
字段中以字符’ $’作为整个数据帧的启始符,以字符’,’作为分隔符,以字符‘*’作为数据域结束符,字符‘*’后 2 个字符为校验和,校验采用数据域亦或运算得到,其数据域中各字段的内容如表 1 所示。
以$BDZDA,2,020345.00,08,09,2021,-08,00,000000.00,0.0,0,Y*25 为例,其表示为北斗信号接收机返回 ZDA 信息,RNSS 定时结果,当前 UTC 时间为 02 时 03 分 45 秒,日期为 2021 年 9 月 8 号,当前时区为东八区,转换成北京时间为 2021 年 09 月 08 号 10 时 03 分 45 秒,时间精度未检测,卫星状态锁定,TOD 串行数据的校验和为 0x25。
1.2 移动时间同步接口标准的 TOD 数据帧
根据《中国移动高精度时间同步 1PPS+TOD 接口规范》,标准编号 QB-B-016-2010 中所定义的 TOD 信息物理层信号要求如下: 1) 波特率:默认值为 9600 bps ; 2) 数据位:8 bit,空闲帧为高电平; 3) 停止位:1 bit ; 4) 校验位:无。移动时间同步接口标准中定义的 TOD 数据链路层数据帧帧格式如图 1 所示。
移动时间同步接口标准定义的时间信息中各字段的内容如表 2 所示。其中,包含有时间信息的消息,其定义的消息类型为固定值 0x01,消息编号为固定值0x20,消息域长度为固定值 16,消息数据域的 16 字节的详细结构如表 3 所示。
以数据帧 43 4D 01 20 00 10 00 03 B4 0A 00 00 00 00 08 26 12 00 FF 00 00 00 C4 为例,其中: 1) 43 4D 为帧头 1 和帧头 2 2) 01 20 为时间信息消息类型 0x 01,消息 ID 为固定值 0x20 3) 00 10 为消息域长度 0x0010 为进制值 16 4) 00 03 B4 0A 为周内秒 0x0003B40A 为十进制值 242698 5) 00 00 00 00 为保留值 6) 08 26 为周数 0x0826 为十进制值 2086 7) 12 为 GPS 相对 UTC 的偏差时间 0x12 为十进制值 18,表明当前 GPS 比 UTC 快 18 秒 8) 00 秒脉冲状态正常 9) FF 无意义 10) 00 00 00 为保留值 11) C4 为 CRC 校验和 0xC4
1.3 差异对比
比对北斗时间同步接口标准中定义的 TOD 信息与移动时间同步接口标准中定义的 TOD 信息的主要差异如表 4 所示。
2 软件设计
为了实现北斗时间同步接口标准的 TOD 信息与移动时间同步接口标准的 TOD 信息的转换,本文以 Unix 时间戳作为时间信息表达中间媒介,实现 2 种不同协议标准的时间信息描述的转换。
2.1 Unix 时间戳
在 PC 系统中,Unix 时间戳(Unix epoch)是从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的不考虑闰秒的总秒数。
2.2 北斗 TOD 信息转 Unix 时间戳
在 PC 系统中,Unix 时间戳(Unix epoch)是从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的不考虑闰秒的总秒数。
2.2 北斗 TOD 信息转 Unix 时间戳
北斗时间同步接口标准中定义的 TOD 信息以 ASCII 可识别字符形式标示了当前时间的时分秒,日月年信息;将该信息调整顺序后,即可得到 UTC 标准的年月日时分秒时间信息。
在字符串 UTC 时间转 Unix 时间戳时,需要注意闰年对秒时间的影响。当出现闰年时, 2 月会多出 1 天时间。基本的算法流程图如图 2 所示。
2.3 Unix 时间戳转移动 TOD 信息
移动时间同步接口的 TOD 信息以 GPS 时间信息的方式表示,其中 GPS 时由 GPS 卫星搭载的原子钟作为基准,与国际原子时(TAI)保持 19 s 的固定常数差,GPS 时在 1980 年 1 月 6 日零时与 UTC 保持一致。由于国际原子时(TAI)与世界协调时(UTC)时间的计时基准不同,截止到 2021 年 09 月,国际原子时快于世界协调时时间为 37 s,由于 TAI 比 GPS 固定偏差快 19 s,故目前 GPS 时比 UTC 时间快 18 s。
GPS 时以 1980 年 1 月 6 日零时作为其计时的纪元起点,其 0 s 与 UTC 秒时间的偏差值为 10 年 6 天,其中经历了 1972 和 1976 这 2 个闰年,转换成秒时间为: Ngps=(365*10+2+6-1)*24*60*60=315964800 (1)由于国际原子时与 UCT 时间的时钟基准不同,进过长时间的运行后,TAI 时间与 UTC 时间将产生偏差积累,该偏差值大到一定程度后,一般每半年由国际标准组织公布进行闰秒调整。由于该偏差值存在可变性,在将 Unix 时间戳转换成 GPS 时时,需要设计可配置的输入参数 LeapSeconds。实际的 GPS 时秒数: Ngps = Nutc – 315964800 + LeapSeconds (2)以 2021-09-06 23:01:49 为例,当前的闰秒偏差为+18,其 Ntct=1630940509,则: Ngps = 1630940509 – 315964800 + 18 = 1314975727。对应的周数 Nweeks = Ngps %(7*24*60*60)= 2174= 0x087e 对应的周内秒 Nsec = Ngps / (7*24*60*60) = 140527 = 0x000224ef
3 试验验证
3.1 功能验证
实验硬件平台以国产芯片 GD32F103 作为核心处理器,该芯片拥有最多 4 个独立的异步串行接口,设计串口 1 为调试配置串口,可输出程序执行过程中的调试信息,也可进行系统参数设置(如闰秒值配置);串口 2 为北斗 TOD 信号输入接口,波特率配置为 115200bps;串口 3 为移动标准 TOD 信号输出接口,波特率配置为 9600bps。硬件设计框图如图 3 所示。
通过逻辑分析仪抓取北斗接收机输出的 TOD 信号和经过硬件单板转换后的移动标准 TOD 信号,结果如图 4 所示。
第一行信号为北斗接收机输入的北斗时间同步接口的 TOD 信号,第二行信号为转码后输出的移动时间同步接口的 TOD 信号;由于北斗时间同步接口的信号的波特率为 115200bps,而移动时间同步接口的信号标准信号为 9600bps,前者比后则速度快 12 倍,故第一行信号时间比第二行信号密集。
北斗卫星接收机输出的 TOD 信息和转换后得到的移动标准 TOD 输出之间的时间间隔为1.5 ms,整体的输出时间为 32.651 ms,满足《中国移动高精度时间同步 1PPS+TOD 接口规范》中要求的 TOD 输出完成时间必须小于 500 ms 的指标。
3.2 性能验证
将硬件转换单板拷机 1 h(3600 个转换点),记录 PPS 和 TOD 信号之间的传输延时,结果如图 5 所示。
实验结果表明当前的硬件单板工作稳定可靠,软件协议运行正常,数据转换时间在 32.0 毫秒到 32.4 毫秒之间;时间抖动在技术协议要求的指标范围内。
4 结束语
本文针对北斗卫星导航系统输出的北斗时间同步标准的 TOD 和移动时间同步接口标准 TOD 时间格式不兼容问题,设计北斗时间同步接口 TOD 信息到移动时间同步接口 TOD 信息的转换方案和具体实现。通过实装设备测试,本协议可正确识别北斗卫星接收机输出的时间,并在 1.5 ms 内完成北斗时间同步接口 TOD 信息到移动时间同步接口 TOD 信息的转换。在长时间稳定性测试下,转换后的高精度时间可在以国产交换芯片为核心处理单元的骨干网中实现稳定传输。