时间传递技术综述
2018-07-10李超
李超
(中国电子科技集团公司第二十研究所,西安 710068)
0 引言
时间统一技术,是指为各级时间用户终端提供统一、标准时间的技术。时间统一技术从功能上可分为时间溯源(授时)、时间保持(守时)、时间传递(分发)三种技术,一个典型的时间统一系统组成如图1所示。
时间溯源技术,是指获取标准时间的技术,在大部分应用场景下,采用协调世界时(UTC)作为溯源的标准时间。随着卫星导航系统的发展,从实现难度、成本、性能等方面考虑,目前一般采用卫星导航接收机作为时间溯源设备,可获得纳秒级的溯源精度,对于高可靠性系统可采用长波、短波等技术作为备用溯源手段。
图1 典型的时间统一系统组成
时间保持技术,是指保持时间基准的技术。时间溯源设备获取的时间一般是非连续的,且存在一定的抖动。例如卫导接收机输出的时间一般为 1s一次,抖动一般在±20ns。同时,为了解决时间溯源失效时的时间同步问题,典型的时间统一系统根据精度需求,利用不同性能的频率源进行时间保持,并采用时间管理设备,利用溯源设备对其进行驯服/校准,并对频率源进行补偿,提高准确度和稳定度。常用的频率源准确度由高到低有氢原子钟、铯原子钟、铷原子钟及恒温晶振等,对于高可靠性系统还可使用多台原子钟形成钟组。由于芯片级铷原子钟的普及,目前时间保持的精度一般可达5E-11量级。
时间传递技术,是指将时间基准传递给时间用户终端的技术,还可包括时间统一系统内的时间传递,例如从卫导接收机到时间保持设备的传递。根据用时系统的网络拓扑结构,以及用户终端对时间精度的不同需求,在时间统一系统里可采用不同的时间传递设备,为用户终端提供时间。可以看出,在不需溯源,仅需系统内时间统一的情况下,时间传递技术更为重要。本文将针对时间传递技术进行分析,并介绍目前主流实用的几种时间传递技术。
1 时间传递技术简介
从传递介质来说,时间传递技术可分为有线时间传递和无线时间传递。目前无线时间传递的方法较多,精度最高可达到纳秒级,例如常用于电信系统的时隙同步和帧同步技术,精度能够达到50μs。由于笔者对无线时间传递技术了解较少,本文主要对有线时间传递技术进行介绍。
表1 常用时间传递技术比较
目前常用的有线时间传递技术主要包括以下两类:基于Sender-Receiver的单向时间传递技术,以及基于 Pair-Wise的双向时间传递技术。这两类方法的时间传递精度、实现方式、所支持的网络结构均有不同。常用的单向同步技术一般有秒脉冲传递技术,以及B时间码传递技术;常用的双向同步技术包括目前成熟商用的NTP技术(基于NTP协议)、PTP技术(基于IEEE1588协议)以及在PTP技术基础上实现的光纤同步技术等[1]。对这几种常用的时间传递技术进行比较,如表1所示。
2 单向时间传递技术
基于Sender-Receiver的单向时间传递技术,是指发送端将时间信息发送给接收端,接收端对信息进行解算,并扣除传递时延(也可由发送端进行补偿),得到时间信息的技术,其传递模型如图 2所示。
图2 单向时间传递技术模型
如图2所示,主节点在时间T1向从节点发送包含 T1时间的时间信息,从节点在T2时刻接收到该时间信息。此时从节点只知道该报文的发送时间T1在接收时间 T2之前,并不知道报文的传输时延 d,因此只能对d进行估计。按照经验估计,一般电缆传输时延约为每1米增加4纳秒。因此,如果精度要求较高,需在从节点加入传输时延d的补偿,而d值的精确测量可能受到多种因素制约,例如加工工艺、测量线延迟、环境因素等,且会增加测量成本。因此,这种方法一般用于传输线缆较短,或精度要求差于百纳秒量级的场合。
2.1 秒脉冲时间传递技术
秒脉冲时间传递技术,是一种以秒脉冲的边沿为准时点进行计时的单向时间传递技术。一般应用时,将秒脉冲及时间报文一同传递,时间报文一般包含年、月、日、时、分、秒信息。秒脉冲多采用每秒1个的脉冲(1PPS),也有每秒2个(2PPS),每秒5个(5PPS),以及每秒10个(10PPS)等秒脉冲,可采用正脉冲或负脉冲信号,其中正脉冲以上升沿为准时点,负脉冲以下降沿为准时点。以正脉冲为例,其脉冲波形如图3所示,其中脉冲宽度不影响指标,从十微秒级到百毫秒级均有应用[2]。
图3 秒脉冲示意图(正脉冲)
由于秒脉冲常借助成熟的电平标准,例如TTL电平、RS422电平等,上升时间一般要求不超过50ns。
2.2 B时间码传递技术
B时间码是由美国IRIG(靶场仪器组)定义的一种时间标准,因此又称 IRIG-B时间码。由于其具有携带信息量大、高分辨率、适用于远距离传输、接口标准化、实现简便等特点,因此在国际上广泛应用。目前国内军用领域的 B时间码依据 GJB 2991A-2008《B时间码接口终端通用规范》执行,本文主要参照该规范进行介绍。
B时间码将一秒分割为100份,每份为一个码元,周期为10ms,每个码元的准时点是该脉冲的前沿。B时间码的码元格式如图4所示,其中,“1”和“0”为二进制数,“P”为位置标志位[3]。
图4 B时间码码元格式
B时间码每1帧数据由1个位置标志位“PR”表示帧的开始,其上升沿为每秒的准时点,而后每隔10个码元有1个位置标志位。每秒内的数据均包含秒、分、时、天(表示一年里的第几天),以BCD码传输。具体数据值域及索引计数位置见表2,其中索引计数指从“PR”后第一个码元开始计算的码元位置。其中,“年的十位标志”在奇数秒时为1,此时索引计数45~48代表年的十位,偶数秒时“年的十位标志”为0,此时索引计数45~48代表年的个位。在其他的索引计数位置,还有闰秒标志、特标控制信息等,本文不再赘述。
表2 B时间码编码位置
B时间码可在发送时采用1kHz正弦载波进行调制,如图5所示,其正交过零点与所调制格式码元的前沿符合,调制比应在2∶1~6∶1之间。调制后称为B(AC)码,未经调制则称为B(DC)码。B(AC)码适用于远距离传输,但精度降低,国军标规定 B(AC)码的时间同步误差小于±10μs,B(DC)码时间同步误差小于±0.2μs。在实际应用中,B(DC)码也可用 RS-422等电平传输,一般时间同步精度可达10ns量级。
图5 B(AC)码示意图
3 双向时间传递技术
基于 Pair-Wise的双向时间传递技术,是指从节点将本地时间信息发送给主节点,主节点记录接收时间,并将接收时间与主节点本地时间信息发回从节点,再由从节点记录接收时间,计算传输时延,得到时间信息的技术,其传递模型如图6所示。
图6 双向时间传递技术模型
在图6中,设主、从节点间时间偏差为θ,则:
假设传递误差d1= d2,可算出:
双向时间传递技术目前应用非常广泛,在商用领域主要应用于网络传递技术,例如 NTP、IEEE1588等。
3.1 NTP时间传递协议
NTP协议全称为网络时间协议(Network Time Protocol),其V1版本最早发布于1988年6月,随后在1989年9月及1992年3月分别推出了NTP V2及V3版本,目前广泛应用的NTP协议一般指NTP V3版本。
NTP协议被广泛用在以太网时间同步上,其设计目的就是实现计算机的时间同步。NTP是使用网络报文交换实现时间同步的,其基本原理是通过服务器和客户端之间的二次报文交换,确定主从时间误差,完成时间同步[4],如图6所示,其中将本地时间插入时间同步报文的过程称为打时间戳。由于NTP打时间戳及解析时间戳的位置均在应用层,受到操作系统任务调度、协议栈缓存等影响,因此时间戳误差较大,同时在网络传输过程中受到交换设备的带来的传输时延不确定性以及链路不对称性影响,进一步降低了NTP协议的时间同步精度。虽然 NTP协议已经对时钟滤波算法及操作系统进行进一步优化,但其同步精度仍只能达到毫秒量级(典型值5ms)。
SNTP协议全称为简单网络时间协议(Simple Network Time Protocol),一般用于网络时间终端,其时间精度为百毫秒级。由于其实现简单,因此应用较为广泛,常用的Windows操作系统就直接支持SNTP协议。
由于NTP协议实现简单,虽然其时间传递精度较低,仍然在以太网及其他对时间精度要求较低的场景有着较为广泛的应用。
3.2 IEEE1588时间传递协议
为克服NTP的各种缺点,PTP(Precision Time Protocol,精确时间同步协议)应运而生,由于其协议标准号为IEEE1588,因此又称为IEEE1588协议,其最新版本是2008年发布的IEEE1588v2版本。
图7 IEEE1588基本工作原理
PTP协议主要定义了四种多点传送的时钟报文类型:同步报文 Sync、跟随报文 Follow_UP、延迟请求报文 Delay_Req 和延迟请求响应报文Delay_Resp,其实现原理如如图7所示。
IEEE1588报文通过网络接口被系统接收,其中,IEEE1588报文会被时间戳单元记录时间戳,记录的时间戳连同 IEEE1588报文一起转发到 IEEE1588的协议栈;时间戳被收集后传递给IEEE1588的时间恢复算法,计算主从时钟之间的时间偏差,用于调整IEEE1588的数字锁相环,产生恢复时钟和相位信息,恢复的时钟和相位信息会被反馈回时间戳单元来修正下一轮的时间基准,如此反复,不断逼近达到从时钟和主时钟的严格同步。
同步过程分为两个阶段:偏移测量阶段和延迟测量阶段。
第一阶段:偏移测量阶段,修正主时钟和从时钟之间的时间偏差。主时钟周期性地给从时钟发送Sync 报文,如果为Two-step模式,这个同步报文包括该报文离开主时钟的时间估计值,并随后发送follow-up报文,该报文携带Sync报文准确的发送时刻t1。如果为One-step模式,则由Sync报文携带发送时刻t1。从时钟在收到Sync报文后记下报文的精确到达时间t2。根据t1和t2可计算出主时钟和从时钟之间的时间偏差(Tof),由于此时对同步报文的传输延时未知,先假设为零。
第二阶段:延迟测量阶段。从时钟向主时钟发送一个延迟询问报文delay_req,同时记录该报文的实际发送时间t3。主时钟记录延迟询问报文到达的准确时间t4,然后在延迟应答报文delay_resp中把t4送回到从时钟。并把(t3, t4)时间戳对传递到时钟恢复算法模块进行误差的计算和修正,再次对本地时钟进行调整。延迟测量是不规则进行的,其测量间隔时间为4~60s之间的随机值,这样可以使网络的负荷不会太大。
将主从时钟之间的时间偏差记为Tof,将主时钟时间记为tMaster,从时钟时间记为tSlave,则主时钟时间与从时钟时间之间的关系可以表示为:
将主时钟到从时钟方向的传输延迟记为 Dms,从时钟到主时钟方向的传输延迟记为 Dsm,假设Dms= Dsm,则对Tof的计算与式(3)对θ的计算相同。
但是,在真实网络中存在很多因素导致从主时钟到从时钟方向的传输延时和从时钟到主时钟方向的传输延时不一致,即Dms≠ Dsm,这种不一致通常称之为非对称性。这种非对称型主要分为两种:
(1)随机非对称(例如,不同网络上下行负载不一致导致的传输非对称);
(2)确定性的非对称(例如,上下行方向经过的传输路径不一致导致的非对称)。
针对随机性的非对称性,IEEE1588的时钟恢复算法可以通过对接收到的大量的时间数据进行统计{ t1(k), t2(k), t3(k), t4(k),k = 1,.., N },并利用这些统计数据设计滤波器来滤掉噪声以实现高性能的时间同步。针对确定性的非对称,可以通过测量计算等收到得到准确的非对称性的数据,然后通过人为的加上偏差ε = (Dsm- Dms) / 2进行补偿来消除。
与NTP相比,PTP协议针对NTP的误差来源,还作出了以下两点改进:
(1)PTP协议打时间戳的位置在网络链路层,这就避免了线程调度及协议栈缓存的误差。
(2)采用了支持PTP协议的交换设备,可在报文中记录在交换设备中路由所消耗的时间。
采用以上手段,PTP协议的时间同步精度可达百纳秒量级,目前已广泛应用在通信、电力、雷达等领域。同时,在PTP协议基础上发展的光纤专线时间传递技术,即在各站点间通过点对点光纤进行双向时间传递的技术,由于其网络延迟低、对称性好,时间传递精度已可达±1ns。
4 结论
随着通信、雷达、电力等领域技术的进步,对时间精度的要求越来越高,例如通信领域对时隙的严格要求,雷达领域对信号级数据融合的要求等,目前在实际应用中对时间精度要求已达百微秒量级。由于卫导系统及高精度频率源的迅猛发展,目前时间溯源技术及时间保持技术已可达到较高精度,时间传递技术往往成为瓶颈。
为了满足更高的时间传递精度,应根据实际应用中的时间终端特点及网络拓扑等因素,结合各种时间传递技术的特点,进行综合考虑,以满足应用需求。