时钟同步系统

2025-01-27

时钟同步系统(精选7篇)

时钟同步系统 篇1

一般高校学生上课的教室都是流动的, 如此以来, 很容易出现有的老师因为前两节课没听到下课铃声而延误了后两节课的上课时间, 而学生也会因为下课晚了, 在匆匆忙忙中找不到后两节课的教室。所以, 校园内采用传统时钟时, 由于各钟表的时间不一致, 极易出现上述现象。而借助校园无线网络, 研究基于无线网络同步时钟系统, 使控制信号能随时随地进行传递, 时钟部分只需接收控制信号, 进行同步调整, 就能很容易实现校园内多地点、多房间时钟的同步显示, 保证时钟的正确、正点、无误显示, 为日常教学和师生生活带来方便。

1 PTP 介绍

PTP是一种主从同步系统 , 其原理是通过主从时钟方式 , 对时间信息进行编码, 利用网络的对称性和延时测量技术, 实现主从时间同步的系统。该系统的同步原理是: 主时钟周期性的发布PTP时间同步协议及时间信息, 而从时钟接收来自于主时钟端口所发出的信息的时间差, 根据这个时间差来计算从主时钟到达从时钟所消耗的时间延迟和主从之间的时间差, 并根据这个时间差来动态调整本地的时间, 以保持从时间设备与主时间设备的时钟同步性。

2 PTP 同步原理

从图1可以看到, Master clock与Slaver clock之间通过交互的方式来同步报文, 同时记录收发报文的时间。然后通过计算报文在主、从时钟所往返路程上消耗的时间差来计算二 者间往返的总延时。设若是对称网络 (即主、从间的传输延时相同), 则总延时的一半就是单边延时, 而这个单边延时便是Master clock与Slaver clock间时钟偏差。只要利用这个偏差来调整Slaver clock, 就可以实现与Master clock之间的同步

3 PTP 的组成模块

PTP协议引擎模块: 这个模块是确保系统精确对时的关键部件, 主要负责协议状态机的转化、报文计算、时钟同步计算等任务。 其主要功能是保证本地时钟、数据集和接收发送模块之间进行数据的交换, 并对总体加以控制。

数据集服务器: 将本地时钟系统和远程主时钟系统的特征信息进行存储, 为PTP协议的配置和计算提供数据源。

PTP接收、发送控制模块 : 利用UDP (即用户数据报协议) 提供通信接口来实现PTP协议报文的接收和发送, 并将本地发送的时刻和接收网络报文的时刻进行记录, 以此来增加同步时的精确度。

PTP协议引擎模块主要包括4个部分, 如表1所示。

同步时钟系统结构如图2所示。

一种分布式时钟同步系统设计 篇2

随着信息技术的不断发展,对信息采集的速度和精度要求越来越高,机器之间的时钟同步要求也越来越高。因此,分布式时钟同步系统应运而生,该系统可以协调分布式网络中的节点时间,为网络中的节点提供准确时钟。但是由于分布式网络环境的复杂性,时钟本身温漂、网络延时和成本因素等影响,系统有时不能为机器长时间提供高精度的时钟。因此,设计高精度、稳定、低成本的同步系统是必要的。

目前,时钟同步主要有2类方法,一类方法是通过Network Time Protocol(NTP)服务器来提供时间信息,如文献[1-7]中都采用了网络时间来同步机器的时间,再通过补偿算法来矫正网络时间,以此来减少网络延时误差。但是,此方法得到的时间因为线路长短,电脑时间分辨率和环境等原因,误差有随机性,同步精度只能达到几十ms左右,对于实时性同步性很高的信息采集机器来说精度是不够的。而且机器必须接入网络才可以得到时间,这也大大限制了机器使用的范围。另一类方法是通过解析GPS(Global Positioning System)的时间信息,来实时同步机器时间,GPS可以提供精度很高的时间信息,可以达到ns级别。通过解析GPS的时钟同步系统精度也可以达到μs级别,如文献[8-12]都是先通过同步GPS的时间信息来产生对应的时间码,再使用时间码来同步机器时钟。这样可以得到高精度的时间信息,但是随着机器数量的增加,使用此方法每一台机器必须配备一台GPS时间同步机器产生时间码,成本大大增加。由于机器使用的流动性,GPS时间同步机器需要一起移动,但是必须是可以接收到GPS信号的地方,这样又限制了机器的使用,机器的便捷性减弱。

为解决以上问题,本文从第2类方法思路出发,通过同步GPS源的基准时间信号,得到高精度的时间信号。为提高便捷性和降低成本,提出了一种同步GPS源的IRIG-B码的方法。在此方法的基础上使用FPGA器件,51单片机和恒温晶体完成了多机器时间同步系统的硬件实现。该系统可以以很小的体积和较低的成本嵌入到产品中,为机器提供同步时钟源,从而达到在便捷性的基础上提高精度且降低成本的目的。

1 系统设计原理

系统接收IRIG-B时钟信号来同步时间。时钟同步系统同步之后需要进入守时状态,守时状态影响时钟精度的因素主要是本地时钟的精度,首先本地时钟精度需要满足要求。

1.1 时钟误差分析

时钟同步系统要在系统同步完成后保持精度,首先系统内部时钟源精度需要满足要求。同步GPS时间同步系统的IRIG-B码为几十ns的误差,误差可以忽略。同步时钟按照1 k Hz输出、连续工作8 h、误差不大于0.5个时钟周期计算,时钟输出精度为:

式(1)的时间误差为一个时钟周期的误差要小于3.47*10-8s,机器信息采集一般误差要小于0.5个时钟周期,那么误差为:

现采用JKOC36-25.6M型号的恒温晶体,标称频率为25.6 MHz,工作温度为-40℃~70℃,在此范围内,它的短期频率稳定度优于5E-12(阿伦方差),频率温度稳定度<±5 ppb(不带隐含参考温度,ppb为10-9),日老化<±0.5 ppb,年老化<±0.05 ppm。工作电压为5 V,输出方波,高电平为2.85 V,低电平为0.25 V,占空比为45%~55%。短期稳定度可以满足要求,现主要考虑频率温度稳定度:

由式(2)、式(3)和式(4)可得采用JKOC36-25.6M型号的恒温晶体可以满足时钟按照1 k Hz输出、连续工作8 h、误差不大于0.5个时钟周期的要求(计算温度对恒温晶体的影响造成的累计误差,按照最大误差计算)。

1.2 时钟同步方案

时钟同步方案结构图如图1所示,主要由协议解析模块,实时时间计数器模块,高精度时钟生成模块和内部时钟源模块组成。FPGA器件接收CT-TSS2000B时间同步系统输出的IRIG-B,解析IRIG-B得到标准秒脉冲PPS和时间信息。将PPS和时间信息分别送到高精度时钟生成模块和实时时间模块。JKOC36-25.6M恒温晶体为FPGA器件提供外部时钟,再通过锁相环电路倍频到100 MHz的频率为高精度时钟生成模块提供基准时钟。在同步时,高精度时钟生成模块通过PPS秒脉冲来同步本身的时钟,并调整输出时钟的参数,实时时间模块直接接收解析的时间信息。在守时时,高精度时钟生成模块根据同步时时钟调整后的参数输出时钟,实时时间模块通过接收高精度时钟生成模块输出的PPS秒脉冲来更新时间。在同步半小时后,可以断开时钟源,进入守时状态。系统除了可以生成k Hz的时钟,还可以通过锁相环动态生成MHz的时钟,输出时钟频率可以通过STC12 C5 A60 S2单片机来控制。

1.3 高精度时钟生成和守时模块设计

高精度时钟生成模块的主要作用是,实现高精度时钟的生成方案以及守时方案,它由同步整形电路、相位比较电路、启动电路、分频电路和分频系数控制电路组成。该模块的结构如图2所示。

PPS秒脉冲接入高精度时钟生成模块模块之后,先经过同步整形电路,输出一个系统时钟(100 MHz)周期宽度的秒脉冲PPS_Pulse。启动电路接收到PPS_Pulse信号之后,在信号的的上升沿发送启动信号给分频电路。分频电路在启动信号的上升沿启动,以初始分频系数108-1生成PPS_C秒脉冲信号,并将PPS_C秒脉冲信号送给相位比较电路。相位比较电路接收PPS_Pulse信号和PPS_C信号,并以系统时钟为单位计数2个秒脉冲的相位差,并将相位差传递给启动模块。启动模块接收到相位差之后,在PPS_Pulse的上升沿判断相位差是否小于20,如果连续20次相位差小于20个系统时钟周期,表明恒温晶体已经稳定,则发送启动信号给分频系数控制电路。分频系数控制电路接收相位差信号,调整分频系数并传递给分频电路。分频电路使用新的分频系数生成PPS_C信号,并传递给相位比较电路。相位比较电路再将相位差传递给启动电路模块和分频系数电路模块。如此循环,不断调整分频系数,同步0.5 h后,分频系数基本收敛稳定,可以断开时钟源。此时,可得到高精度的秒脉冲信号,再用秒脉冲信号复位系统所需要的时钟信号,以此来消除时钟信号的累计误差,达到较长时间保持时钟精度的目的。

在此过程中,启动电路一共有3个状态来控制其他电路的启动。启动信号模块在PPS_Pulse脉冲的上升沿发送启动信号给分频电路,分频电路启动之后,启动电路获取相位差,若相位差连续20次小于20,发送启动信号给分频系数控制电路。启动电路的策略如图3所示。

相位比较电路共有3个状态,来计数2个秒脉冲的相位差,为启动电路和分频控制电路提供依据。在PPS_Pulse的上升沿开始计数,在PPS_C的下降沿停止计数。停止计数之后判断计数值是否过大,如果数值大于256就重新计数,小于256便输出计数值。相位比较电路的状态转换图如图4所示。

分频系数控制电路共有4个状态,如图5所示。通过相位差来调整分频系数。分频控制电路接收到启动信号,开始启动,接收相位比较电路的相位差,再经过处理得到调整之后的分频系数。调整策略主要从时钟突变和随机误差考虑,分别采用加权和平均的方法来处理随机误差和突变的影响。

2 硬件实现

系统硬件装置采用成都可为科技有限公司的CT-TSS2000B时间同步系统输出的IRIG-B(InterRange Instrumentation Group)码作为同步时钟源,FPGA芯片EP4CE15F17C8核心板用来实现同步方案,完成时钟同步系统的主要工作。STC12C5A60S2单片机最小系统系统作为控制器,控制FPGA时钟输出的频率。JKOC36-25.6M恒温晶体作为EP4CE15F17C8芯片的外部时钟源。电脑上位机软件可以通过串口与单片机最小系统通信,来控制时钟的输出。系统硬件框图如图6所示。

系统开始运行,CT-TSS2000B时间同步系统首先接收GPS信号完成时间同步,完成同步之后输出IRIG-B时间基准信号。FPGA核心板接收IRIG-B信号,解析出时间信号和PPS秒脉冲,经过0.5 h时间完成同步。通过上述高精度时钟生成方法,输出PPS标准秒脉冲和高精度时钟。使用人员可以通过PC机应用软件与单片机控制器通信,实现时间信息查询和输出时钟频率的控制。

3 实验结果

3.1 实验环境

在实验中,为了证明本系统达到要求,在不同温度下可以保持精度。本文使用高低温交变试验箱作为外部温度变化的模拟,高低温交变试验箱是用于测试和确定电工、电子及其他产品及材料进行高温、低温、或恒定试验的温度环境变化后的参数及性能。系统硬件装置采用CT-TSS2000B时间同步系统输出的IRIG-B(InterRange Instrumentation Group)码作为同步时钟源,采用Alter公司Cyclone IV系列EP4CE15F17C8芯片的核心板实现同步方案,STC12C5A60S2单片机系统作为控制器和JKOC36-25.6M恒温晶体作为EP4CE15F17C8芯片的外部时钟源。

3.2 实验结果

3.2.1 温度试验

为了测试在不同温度下,系统的时钟精度是否达到要求。本次温度实验分别设定高低温交变试验箱的温度在-10℃,-5℃,0℃,10℃,20℃,30℃,40℃,45℃和50℃,在室温下(25℃)同步完成之后,来测试温度对系统时钟精度的影响,每个温度实验时间为1 h。得到温度与时钟误差关系图如图7所示,实验表明在0℃~30℃误差最小,通常1 h<20μs。随着温度的降低和升高,误差略有增大,通常小于40μs。1 h的试验通常误差已经稳定,可以预见为机器提供8 h的时钟可以满足要求。在-10℃~50℃之内满足要求,已达到高精度,低成本的要求。

3.2.2 时钟稳定度试验

在本实验过程中,记录了常温下PPS_C秒脉冲在同步时的分频数。同步时的分频数表示时钟的稳定度,随着时间的推移,分频数的变化趋势如图8所示。

图8表明,在常温下,时钟的分频数在一定范围内波动,分频数在108-4~108+2之间波动,均值在108-1左右,波动范围在±3之内,具有较高的时钟稳定度。

4 结束语

本文从设备的便捷性和成本角度出发,提出了一种同步GPS时间同步系统的IRIG-B码的方法。在此方法的基础上使用FPGA器件,51单片机和恒温晶体完成了多机器信息采集时间同步系统的硬件实现。该方法通过同步基准时间信号源,并在断开信号源之后,可以在一定时间内保证时钟的精度。通过该方法达到了在误差不大于0.5个时钟周期的精度要求下,1 k的时钟输出,可以连续工作8 h。该系统可以以很小的体积和较低的成本嵌入到产品中,为其他采集系统提供同步信号源。在进一步的研究中将进一步提高精度和系统的稳定性。

参考文献

[1]丁永红,徐强,汪芸.基于NTP的ORBUS时间同步系统[J].东南大学学报(自然科学版),2006,36(3):477-482.

[2]李杏.网络时钟同步及时钟服务器稳定性研究[D].北京:北京化工大学,2012.

[3]徐金平.网络时钟同步的研究[D].北京:北京化工大学,2004.

[4]辛欣,游雄,刘芳,等.分布式虚拟地理环境中时间同步问题研究[J].测绘工程,2010,19(1):21-24.

[5]张红亮.分布式系统时钟同步技术的研究与应用[D].长沙:国防科学技术大学,2002.

[6]王刚,黄飞,乔纯捷,等.分布式网络时钟同步研究[J].仪器仪表学报,2008,29(11):2 399-2 403.

[7]孙祥祥.分布式系统时钟同步协议的研究与实现[D].杭州:杭州电子科技大学,2014.

[8]刘靖宇.基于CAN总线的分布式系统的时钟同步算法研究[D].青岛:青岛科技大学,2006.

[9]熊慧.CAN总线分布式系统高精度时钟同步技术的研究[D].武汉:华中科技大学,2007.

[10]陈丕龙.分布式测试系统中的GPS时钟同步系统设计[D].太原:中北大学,2011.

[11]龚晓春.分布式微型航天器的时钟同步研究[D].哈尔滨:哈尔滨工业大学,2007.

探讨线网AFC系统时钟同步机制 篇3

关键词:地铁,AFC,时钟同步,机制

1 探讨AFC系统时间同步的重要性

随着地铁线网的不断扩大和站点的不断建设, 车站的AFC设备数量非常多。广州地铁AFC系统作为一个覆盖全站计时计程的全自动收费系统, AFC设备时间的错乱可以导致设备出现运行参数出错、车票发售错误、乘客票卡扣费错误和设备后台报表收益混乱等重大故障。因此线网AFC系统时间的一致性, 对于保障设备正常运行和保持广州地铁优质服务的良好形象具有重要意义。

2 AFC系统时间同步实现方式

AFC系统由五层构成:第一层:综合中央计算机系统 (ICCS) ;第二层:线路中央计算机系统 (LCC) ;第三层:车站计算机系统 (SC) ;第四层:车站终端设备 (SLE) ;第五层:读卡器和车票媒质IC卡、单程票Token币车票 (见图1) 。

AFC设备系统的时间精度要求不是十分高。SNTP是简单网络时间协议 (Simple Network Time protocol) 的简称, 它是目前Internet网上实现时间同步的一种重要工程化方法。SNTP协议采用客户/服务器工作方式, 以服务器作为系统的时间基准, 各层级设备通过定期访问服务器提供的时间服务获得准确的时间信息, 并调整自己的系统时钟, 达到网络时间同步的目的。

广州地铁AFC系统设备网络为一个封闭式的局域网, 不与外网进行连接。考虑到AFC设备层级较多, 为使系统可以统一时间, 可通过以下两种方法实现时钟同步功能: (1) 各终端可安装SNTP时钟同步软件 (见图2) , 该软件可设置设备本地需同步的服务器IP地址和同步时间间隔, 使用直观可靠, 但该软件为无条件与服务器同步时间; (2) 在AFC系统设备的应用软件加入时钟同步或逻辑判断时间差异功能, 可通过以配置文件的形式修改服务器地址和同步时间间隔等。

3 AFC系统各层级设备时间同步机制

3.1 ICCS与LCC级

ICCS (综合中央计算机系统) 与LCC (线路中央计算机系统) 为两系统进行通信, 设备数量少。LCC主要完成与ICCS之间的信息交换, 接收和存储由ICCS系统下载的运营和设置参数, 并下达车站计算机系统。两台设备主要通过时间同步软件、时间跳变逻辑判断和人工监控即可达到时间同步目的。

3.2 LCC与SC级

LCC (线路中央计算机) 主要以一对多形式连接线路各站的SC (车站计算机) 设备, LCC主要实现收集保存各站SC上传的各类数据和管理控制各站SC等功能。

广州地铁SC服务器设备的应用软件具有时间同步功能, 通过配置文件可将时间同步服务器地址设为LCC的IP地址, 时间同步间隔为15分钟;而且SC应用软件判断当SC与LCC的时间差异超过15分钟后 (可通过配置文件更改) , SC不响应LCC的时钟同步。

该机制存在以下优点:当LCC服务器时间出现异常, 可避免该线路各站的SC服务器同步错误的LCC服务器时间, 从而防止因LCC时间错误导致全线设备运行异常的情况。

但该机制也存在以下不足之处:当SC服务器因设备运行异常导致时钟跳变 (时间差异大于设定值) , 如果没人工调整时间, 则SC服务器时间一直错误从而影响全站的设备。

SC服务器时间异常跳变情况包括: (1) SC主板电子没电时设备人工或自动重启后, SC服务器时间会跳变至主板出厂时间, 如果没及时发现则服务器时间会出错; (2) 人为误操作更改SC服务器操作系统的时间 (差异大于设定值) , SC服务器时间将跳变并且影响全站设备。

防范措施包括: (1) 通过制定检修规程, 定期检查和定更SC服务器主板电池, 设备重启后需检查操作系统时间, 确认时间正常; (2) 添加时间更改确认小插件, 更改操作系统时间时需输入相应信息确认, 避免人为不清楚的情况下误操作导致系统时间跳变。

3.3 SC与SLE级

SC主要实现收集保存SLE设备的所有数据、监控SLE和下发参数等作用。广州地铁AFC系统SLE数量较多, SLE通过安装“SNTP Client”软件与SC服务器进行无条件同步 (时间间隔设定为2分钟) , 其中BOM时间与SC服务器差异大于一个月将不进行时间同步。

该机制存在以下优点:车站级所有设备 (除BOM外) 无论何种原因出现时钟跳变后, 都可以无条件地与SC服务同步正常的时间。

但该机制也存在以下不足之处:SC服务器的时钟出现跳变后 (BOIS电池失效或人为误操作) , SLE将会出现时钟错乱, 导致全站设备运行异常。

防范措施包括: (1) 检修SC服务器如需重启SC服务器, 需断开SC服务器网络, 避免因SC服务器重启后时钟跳变而使全站设备时间错误; (2) 规范员工SC服务器操作守则和添加时间跳变确认插件, 避免人为误操作修改SC服务器时间。

SLE与车票级不涉及时间同步问题。

4 AFC系统时间同步机制的多样性

AFC系统各级设备的时间同步机制可进行无条件同步, 条件判断同步, 或者两者互相混用。功能实现方式可以是嵌入设备应用软件, 开发时间同步软件或添加程序插件等。建立AFC系统的时间同步机制, 需结合设备运营的实际情况, 全面考虑各层级设备时间跳变发生的可能性, 各层级设备时间跳变的影响范围和健全的防范应对措施, 以达到最优的时间同步机制。

5 结语

网络设备时钟同步系统设计与实现 篇4

计算机或带时钟的设备大多采用时钟晶振的方式,这种方式由于易受温湿度变化、电磁干扰、振荡器老化和生产调试等原因的干扰,所以时钟的振荡频率和标准频率之间存在一些误差,从而导致时间的误差。据统计,普通个人计算机的时钟一般一天会有5 6秒的误差,并且会随时间的增长,逐渐放大。这种误差,在电视节目播出级别上是不允许的,解决这一问题的方法就是采用时钟同步系统。

计算机时钟同步研究较多,并且有成熟的协议和产品,但设备时钟同步的研究却很少,主要原因有:

1. 设备本身多样性:

当前主流的设备在硬件核心器件的选择上,有些是采用单片机,有些采用PLC设计电路、有些是采用ARM系统,有些甚至直接使用计算机。这些系统中,有些有时钟模块,有些没有时钟模块;有些设备考虑自身应用中,虽然自带时钟,也不一定做为一接口出现。

2.设备控制的多样性:目前对硬件的控制有很多方式,从硬件连接中大致可以分为三类,串口(COM)类,网口类,其它类。串口类又可以分为RS232、RS422、RS485,每一种又可以有多组设置的参数;网口类可以分为SNMP方式、TCP方式、UDP方式(严格讲,SNMP也属于UDP方式);其它类如GPIO、GPIB、电话线(RJ11)等。

这种设备间的重大差异,使得在设备时钟同步上很难有一个统一的标准。然而在很多特殊场合下,又需要这些设备有一个统一的标准时钟,而不是简单地采用控制设备的计算机时钟。因此有必要研究一下设备时钟的相关问题。

另外,显而易见的是,计算机同样可以做为一个设备,因此,虽然本文强调的是设备之间的时钟同步,但所有描述及算法,对计算机肯定同样适用。

1算法设计

设备时钟同步首先要解决的是时钟源的选择、没有时钟的设备如果处理时间、延时时钟设备的处理等问题,然后讨论一些离线设备、物理隔断网络的时钟同步。

1.1 时钟源的选择

全网时钟同步通常的做法就是先选一台或几台计算机作为时钟参考机,其余的计算机或设备以这些时钟参考机通过网络或设备接口进行时钟同步。而时钟参考机则需要通过时钟源来保证其时钟的准确性。

时钟源的选择有多种,具体采用哪一种要看实际的应用环境。如果用户对时钟的精确度要求不高,并且可以访问互联网,则时钟参考机可以通过连接互联网上的几个标准授时服务器来完成。如果是专业的技术网,既不能连接互联网,又对时钟精确度要求较高,则可以选择GPS授时服务器。

1.2 虚时钟设备

在实际应用中会遇到一些特殊的情况,比如某一设备在某一时刻发生了报警,除了要把报警及时发送到报警处理模块之外,还需要告诉报警发生的时间,而这个设备也许根本就没有时钟。为了解决这一问题,可以假设设备本身有一个“虚时钟”,当需要读取这个虚拟时钟的时候,采用的是读取设备的计算机时钟。

对于虚时钟,还有一种表现形式,就是像电视台、电台等媒体单位,有时为了使节目时间看上去更具有连贯性,通常把0点表示为24点,1点表示为25点,依次类推。这种情况下,即使设备自身带时钟模块,同样也可以按这种惯例处理时间。

1.3 延时时钟设备

在电视节目,有一种延时播出的技术,该技术通常用于需要实时处理,但因技术限制又不能立即处理的直播节目。在该延时播出期间,接收端对接到的节目流,并不马上输出,而且将当前在缓存中保存一定时间再输出,同时再将新的节目存入缓存。整个节目各阶段的绝对时间虽然不一致,但相对时间是一样的,因此,在接收端和输出端的时间如果同样错开,则更易于理解,这时就需要用于延时时钟技术。

该时钟技术的处理并不难,只需要在接到时钟源的校时命令时,按指定的延时设定当前时间即可。

1.4 离线设备时钟同步

离线设备在实际应用中很常见,虽然一般离线设备在一段时间后还会接入系统,重新校时,但在离线阶段,由于没有时钟源,因此其时钟也会出现偏差。对于时钟要求较高的场合是不利的。

解决这一问题的一种办法就是, 平时将常离线的设备离线定时测一下一段时间内的时钟偏差,虽然理论上来说,时钟偏差是随机分布的,但如果外界干扰因素相同,则还是有一定的规律性。当设备离线时,只需要通过程序定时回调时钟即可。

还有一种折衷的办法是采用概率分布原理,即假设设备出现偏差是随机地、均匀地分布于准确时钟周围,则可以在设备离线时,把所有带时钟的设备集中起来,将各个时钟汇总后,求出平均的时钟值作为离线时的准确时间,并定时地以此值设定所有的离线设备。

1.5 物理隔断网络的时钟同步

对于安全级别高的单位,通常会将管理网络和物理网络物理隔断,这种物理隔断可以防止病毒、攻击等不利因素,但也使得两网时钟无法同步。如果每个网络都安装一套时钟同步系统,各用一套时钟源,则不仅增加了成本,还增加了维护难度。

有效的办法就是将两网中的时钟参考机通过串口互连互通,并且实时互相同步,这只需要一套时钟源即可。这样做不仅符合物理隔断的要求,也实现了全网的时钟同步。

2算法设计及实现

为了实现上述各方法,需要至少四组程序,即:

1.时钟源时钟采集程序:该程序运行于主时钟参考机上,用于实现从互联网上授时服务器,或GPS上读取时钟,一套系统中,该程序只需要一个。

2. 时钟参考机之间的同步程序:该程序运行于辅时钟参考机上,其作用是从主参考机上,以网络或串口的方法读取时间,并设定自己本地时间。

3.各客户端的时钟同步程序:该程序运行于各计算机上,其作用就是从指定的参考机上读准确的时间,以校正本地时间。

4.设备时间同步程序:该程序运行于控制设备的计算机上,对于自身带时钟的设备,程序只需要定时将准确的时间通过时钟设置命令发送到设备上即可;对于自身不带时钟的设备,程序则直接读取控制设备的计算机时钟即可。

2.1 计算机时钟源的采集

计算机时钟源的读取有两种方法,一种是直接从网络上的授时服务器获得时间,一般的操作系统都预置有客户端程序,所以不需要额外编程,只需要设置一下即可,以Windows XP为例,双击屏幕右下角的时间,在弹出的框中选“Internet时间”标签,输入网上免费的授时服务器主机名即可,如:time.windows.com。

还有一种方法就是通过串口或网口连接GPS设备,读取准确的时钟,该方法依赖于具体的GPS设备和协议。

读到时间后,可以通过Set Local Time () 设置该时间为本地时间。

2.2 计算机之间的时钟同步

计算机之间的时钟同步相对比较容易,不管是通过网络,还是通过串口,都是先通过Get Local Time () 读本地时间,然后通过网络或串口将时间发出去。接收端在接收到新的时间后,同样用Set Local Time () 设置该时间为本地时间,出于效率的考虑,当采用网络方式时,可以采用广播或组播的方式,各接收端设备在接到新时间时,也可以根据需要定时地设定本地时间,没有必要每次都更新时间。

2.3 虚设备、延时设备和离线设备的时钟同步

虚设备、延时设备和离线设备,其原理和计算机的同步操作都是一致的,所不同的只是在获得当前时间后,需要进行一个指定的运算,再通过Set Local Time () 设为本地时间,故不再赘述。

2.4 经济效益

时钟同步在视音频领域有着举足轻重的地位,以电视台为例,几乎所有的节目都与时间有紧密的关系,节目的播出时间需要精确到帧级(误差约0.04秒),节目的传送则只需要精确到秒级即可。为了保证所有的计算机和设备时钟同步,有些电台、电视台则只能通过行政命令规定指定人员按时修正带时钟的设备(如频谱仪、Metiq、CPI)。如果通过设备时钟同步系统定时给这些设备进行校时,则既可以省去人工调整的工作,同时增加了时钟的准确性,减少了出错的概率。

在播出领域,还有一个重要的概念就是“情景重现”,播出系统的复杂同时也导致一旦发生故障的时候,有些现象瞬间即逝,如果不能及时捕捉到发生故障时各设备的状态,就难以找到故障发生的原因,也就难以找到解决办法。如果能及时保存各相关设备发生故障时的状态,则即使是故障消失了,也可以通过这些状态重现当时的情形,从而排查原因,解决问题。这时不仅要实时保存设备状态的历史记录,还得要有一个准确的时钟,根据广电行业“一秒报警,三秒处理”的原则,则该误差应该在500毫秒以内。

3结束语

通过网络或串口,无论是理论上,还是实践中,绝对的时间同步是不存在的,但只要在满足应用需求的前提下,实现了时钟的同步,进而实现情景重现,就可以认为所有参与同步的计算机和设备能以一致的时间运行。从这个意义上来说,本文并不是在研究一种网络中设备时钟如何精确地进行同步,而是分析和研究了影响网络中的计算机和设备如何实现同步,尤其是在设备没有时钟系统、有时钟的设备需要采用相对时间的延时时钟、设备离线状态下、物理隔断式网络等几个特殊情况下的时钟同步问题。

摘要:网络中的计算机时钟同步的文章较多, 但设备时钟的同步却很少。本文针对这一问题, 结合实际系统中, 设备时钟表现形式、访问接口各不相同等复杂问题, 找到一种统一的解决方案。首次对本身无时钟设备提出虚时钟概念, 针对要求相对时间同步设备提出延时时钟概念, 并提出离线设备时钟同步和物理隔断网络的时钟同步等常见问题的解决方法。

关键词:时钟同步,虚时钟,延时时钟,离线同步,NTP

参考文献

[1]李明国, 宋海娜.计算机时钟同步技术研究[J].系统仿真学报.2002, 14.

[2]李学军, 谢剑薇等.局域网环境下的时钟同步与保持[J].计算机技术与发展.2009, 4.

[3]王刚, 黄飞等.分布式网络时钟同步研究[J].仪器仪表学报.2008, 11.

浅谈变电站GPS时钟同步系统 篇5

随着电网规模的日益扩大, 微机保护和其它自动装置经长时间运行后其时钟累计误差不容忽视, 从而使得各种装置的时间失去同步, 进而影响各自动化装置的正常工作, 给电力系统安全稳定运行带来危害。

本文介绍了全球定位系统GPS及其在电网中的应用情况, 对其安装工艺及维护常见问题进行了简要说明。

2 GPS全球定位系统

2.1 GPS系统简介

GPS是美国新一代卫星导航系统, 可全天候连续实时向用户提供高精确度的位置、速度和时间信息, GPS系统包括空间、地面控制及用户设备三个部分。

空间部分即卫星星座, 每秒钟通过L1、L2两个波段发射三种伪随机码:C/A码 (粗码) 、P码 (精码) 和Y码 (加密的P码) 。C/A码一次定位精度25m, 多次定位精度8m, 定时精度100ns, 全世界都可以无偿使用;P码一次定位精度10m, 多次定位精度可以达到厘米级, 定时精度10ns, 只能美国及盟国军事和授权的民用部门使用。

地面控制部分即地面监控系统, 每颗GPS卫星所播发的星历, 是由地面监控系统提供的。地面监控系统另一重要作用是保持各颗卫星处于同一时间标准—GPS时间系统, 这就需要地面站监测各颗卫星的时间求出钟差, 然后由地面注入站发给卫星, 卫星再由导航电文发给用户设备。

用户设备部分即GPS信号接收机, 其任务是:能够捕获到按一定卫星高度截止角所选择的待测卫星的信号, 并跟踪这些卫星的运行, 对所接收到的GPS信号进行变换、放大和处理, 以便测量出GPS信号从卫星到接收机天线的传播时间, 解译出GPS卫星所发送的导航电文, 实时地计算出测站的三维位置, 甚至三维速度和时间。

2.2 GPS在电力系统中的应用

目前GPS主要用校验时钟, 如全网的继电保护装置、故障录波装置、其他自动装置及调度自动化系统都留有GPS接口, 这些接口和GPS信号接收机连接, 装置内部有自动校时程序, 每隔固定时间将装置本身时钟和GPS时钟作一比较, 时间差超过某规定值时, 自动以GPS时钟为准, 修改装置时钟 (校时步长、时间差由校时程序给定) 。这样, 全网的保护装置及自动装置都具有统一时钟, 准确记录每次事故的时间, 以便事故调查, 并准确定性。

3 GPS安装及维护

3.1 变电站GPS系统配置

变电站GPS时间同步系统由标准时间同步钟本体和时标信号扩展装置组成。

以某500k V变电站为例, 该站采用南汇生产的NH-9000型时间同步系统, 实现与全站各种二次系统的统一对时。主时钟柜设于220k V#2小室, 在220k V#2小室和其它保护小室内均设置了一块扩展时钟柜。主时钟柜有两种时间同步系统输入, 即GPS主时钟和北斗主时钟互为备用, 主时钟柜负责接收GPS及北斗天线时钟并通过两根光缆将GPS及北斗天线时钟信号送至各扩展时钟柜, 各扩展时钟通过输出接口模块将时钟信号送至站内不同的测控、保护、录波、PMU等各类二次设备。任意一个小室的扩展时钟出问题均不影响其他小室对时, 故采用这种方式系统可靠性更高。

3.2 GPS系统安装注意事项

GPS系统相对保护装置来说回路简单, 安装过程侧重于天线安装工艺、各类缆线的规范标识、装置上电调试等工序。

3.2.1 天线安装

天线是GPS的接收器, 它的安装工艺会影响GPS系统时间的正确性, 必须通过各种措施来实现GPS系统天线接收信号的完整正确:天线必须保证有足够的视野来接收GPS信号, 安装的最佳位置应该是在它的上空与水平线呈45度角以外无障碍物的地方, 避免安装在变电站进出母线下, 减少强磁电对天线卫星接收的影响;天线高出屋面距离不要超过正确安装必须的高度, 尽可能减少雷击危险;对可能出现腐蚀和与墙壁发生摩擦的天线的传输线裸露部分尽可能使用海绵、泡沫等软物体裹住裸露部分;天线施放的时候, 需注意把天线连接装置的BNC连接头用塑料带及绝缘胶布可靠包裹, 避免安放过程中造成损坏, 影响天线收星效果, 且BNC连接头要配防雷器, 防止雷电串入GPS装置;天线的传输线不能弯折, 尽量呈弧度放线, 传输线放线在主控室内的电缆层时, 要用扎带将它固定住, 传输线到达屏柜后进入放线槽, 需用扎带固定在放线槽内。

3.2.2 各类缆线整理及标示

GPS屏柜内缆线主要包括电源电缆、至公用测控柜的装置信号电缆、GPS时钟信号输出电缆、主时钟柜与扩展时钟柜之间的联络光缆等, 为便于今后维护, 必须对各类缆线进行规范的整理及标示。

各类电缆、光缆应排列整齐, 不宜交叉, 及时加以固定, 均可按照电缆吊牌标示规范进行挂牌, 即标明电缆编号、电缆型号、起点、终点即可。

为便于今后对光纤通道进行维护, 光缆应按进终端盒的顺序起从左到右标记, 尾纤的标记顺序也应从左到右排列, 当光缆熔接完成后应马上贴上对应的标签纸, 使装置跳线与光缆尾纤一一对应起来, 一般将每根光缆的前两根尾纤做为工作尾纤, 后两根做为备用。

3.2.3 上电调试

装置通电后, 首先检查主时钟屏是否正确接收到卫星, 然后检查屏内信号输出是否无误, 最后检查保护小室需对时装置的对时信号是否正常。

在检测GPS装置的输出时, 需先用万用表直流电压档来测试各个端子信号输出电平。如电平输出无电压, 则确定此输出是无源脉冲, 无源脉冲可用自制的脉冲信号灯直接观察, 正常显示为一秒闪一次, 脉冲信号测试仪只可测试无源脉冲, 不能测试其他信号, 以免造成对装置的损坏。有源脉冲及其B码对时信号可用万用表直流电压档检查电压是否一秒有一次变化:有源脉冲用万用表直流档测试为每秒一个电压变化, 如24V有源脉冲电压每秒都会从24V跳动一下;B码信号电平用万用表直流档测量为一个-0.5到-2.0之间不停变化的值。串口则先用直流档测试其电压是否正常, RS232电压为9V左右, RS485电压为4V左右;电压正常后可通过串口连接线与笔记本相连, 串口连接线GPS装置端9针口的3、5端, 接收装置 (笔记本或其它需对时装置) 为9针口的2、5端, 通过串口调试助手, 测试其报文输出是否正常。如GPS装置各时间信号输出无误, 而保护装置还是对时不成功, 则可查看保护装置的对时方式是否有误, 保护装置是否需添加外置模块等。

3.3 GPS系统维护常见问题

根据近年来对GPS缺陷出现情况进行的统计来看, 一般存在以下几类:

(1) 接触不良:电源线接触不好导致GPS装置运行不正常闪屏或GPS输出信号线接触不好导致装置对时不准;

(2) 天线中断:天线外露部分被咬断或腐蚀, GPS主时钟屏面板不显示接收到的卫星数, GPS装置报天线告警、后台报GPS异常;

(3) 信号不稳:光纤熔接耦合度不好或天线焊接不好运行1-2年后信号衰减, 均会导致此类现象发生;

(4) 装置老化:GPS装置运行年限过长, 内部元器件失效造成无法运行。

针对第一类缺陷紧固二次接线即可恢复, 在安装过程中一定要做好紧螺丝的工作, 同时也要注意对厂家内部配线也要紧固一遍。第二类缺陷需要重新敷设天线, 并做好天线外露部分的防腐蚀及小动物噬咬措施。第三类缺陷就要在尾纤熔接请工艺水平高的人员进行, 使耦合度满足运行要求, 光纤通道标识必须规范, 这将为今后更换备用尾纤及重新熔接提高方便;因厂家发货时已是将天线头可靠焊接的, 尽量不从中减断天线重新焊接, 如天线确实较长, 可将其盘绕整理好即可, 这样就可避免天线焊接不好造成信号衰减的现象出现。第四类缺陷, 联系GPS厂家对坏的模块进行更换即可恢复。

4 结语

随着电力系统往大容量大网络方面的不断发展, 以及自动化水平的不断提高, 电网对统一标准时间提出了更高的要求。GPS系统由于其高精度的定时功能, 将成为电力系统主要的对时方式, 同时也将为电力系统的发展奠定坚实的基础。

摘要:随着电网规模的日益扩大, 建立一套统一的时钟同步系统对全网所有设备进行对时意义重大。本文介绍了GPS时钟同步系统及其在电力系统中的应用情况, 并对GPS系统安装及维护过程中的一些注意事宜进行了阐述。

关键词:GPS时钟同步系统,安装,维护

参考文献

[1]张晓飞.GPS同步时钟系统技术在电力系统中的应用分析.广西电力, 2009, (4) :78-83.

[2]湖南南汇电气公司.GPS基础知识.2010.

时钟同步系统 篇6

但是即使两个进程在同时读他们的时钟,他们各自的本地时钟也会提供不同的时间值。这是因为计算机时钟和绝对时间之间有偏差,(如图1所示)而且他们的时钟漂移率不同。时钟偏移是指两个时钟的读数之间的瞬间不同。时钟漂移率是指在由参考时钟变量的每个单位时间内,在时钟和名义上完美的参考时钟之间的偏移量。时钟漂移的存在使得两个进程以不同的频率给某个事件计数。

基于上述问题的考虑,可利用IEEE1588精密时间协议(PTP)实现网络系统之间的精确同步。

1 IEEE1588精准时间同步原理与实现

IEEE 1588精密时间协议通过消息传递机制使控制网络内的时钟与最精确时钟保持同步,其基本思想是在网络设备中加入时钟节点,在节点网络里选择最佳的主时钟,其他的时钟同步于这个主时钟,这样节点内的时钟便通过PTP协议达到同步的目的。

1.1 PTP协议同步原理

一对在单条链路上的主从时钟的同步过程主要靠交互时间戳来完成(如图2所示)。其实现过程可分为以下步骤:

第一步,主时钟采用多播方式向网络上发布Sync报文,报文中记录着sync报文的发送时间估计值t0,从时钟接收sync报文,并在报文接收时刻记录下sync报文的本地接收时间tl。

第二步,主时钟采用多播方式向网络上发布follow_up报文,报文中包含sync报文的精确发送时间t0的值;从时钟接收follow_up报文,得到t0的值。

第三步,从时钟采用单播方式向主时钟发送delay_req报文,报文中记录着delay_Req报文的发送时间t2,主时钟接收delay_req报文,并在报文接收过程中记录下delay_Req报文的本地接收时间戳t3。

第四步,主时钟采用单播方式向从时钟发送delay-resp报文,其中包含delay-req报文的接收时间t3的值;从时钟接收delay-resp报文,得到t3的值。

从时钟获取了全部4个时间戳的值。通过计算得到与主时钟的偏差(offset)和传输延迟(delay),调整本地的PTP时钟并与主时钟对准。

计算过程如下:

1.2.1 PTP协议中的报文时戳点和时钟时戳点

在以太网中,IEEE1588所定义的报文将封装在UDP/IP中,以多播方式发送,它符合IEEE 802.3中以太网帧格式的基本结构(以太网帧格式如表1所示)。起始帧界定符的最后两位“11”用于通知接收端后面的内容是帧的实际字段,在一个封装了sync报文或者delay_req报文的以太网帧中,需要有时戳生成功能的部件在这两位之后打上报文时戳点(如图3所示)。

在PTP报文的传输路径上也有一个特殊的点称为时钟时戳点(如图4所示),sync报文和delay_req报文应分别在发送和接收时刻(当报文时戳点经过时钟时戳点的时刻)打上时间戳。这个时间戳用于记录sync报文和delay_req报文的发送或者接收时间值。

1.2.2 网络传输延迟分析

PTP报文自发送到另一个时钟节点接收所经历的传输延迟主要包括三部分:1)栈内滞留时间outbound_latency和intbound_latency。2)传输路径的延迟。3)网络交换设备等带来的延迟。

每个PTP端口有两个标志性的常量outbound_latency和inbound_latency(如图5所示),常量outbound_latency是sync报文和delay_req报文从时钟时间戳到通信介质的时间,常量inbound_latency是sync报文和delay_req报文从通信介质到时钟时间戳的时间,这两个常量在延迟校正过程中被用到。

当报文时戳点经过时钟时戳点时应该被有效的机制检测到,超前或者滞后检测到都应该得到纠正。在时钟时戳点获得的时间值我们称之为测量值(measured value)在到达通信介质处的时间值我们称之为reported value。所有与outbound_latecy有关的报文都应该转换为reported value,它的值等于measured value+outbound_latecy。所有与inbound_latecy有关的报文都应该转换为reported value,它的值等于measured value-inbound_latecy。

在网络通讯过程中,被传递的信息需要在发送端的本地协议栈中进行封装,从协议栈的顶层开始,每下降一层就将原有数据打包,增加一些包头、包尾等信息,运算处理时间的不确定性导致在栈内的滞留时间也具有不确定性。因此,要降低网络传输延迟的不确定性,需要尽可能的将时间戳获取点向协议栈的底层移动,时间戳的获取点越靠近传输介质,获取的发送和接收时间戳的精度就越高(图6表示了可以获取时间戳的位置)。

1.3 DP83640中对Sync和delay_req报文的处理

Sync报文和delay_req报文都含有一个origin Timestamp字段,该字段的值和PTP_ASSIST的值有关,当PTP_ASSIST值为真时将跟随一个follow_up报文(只针对sync报文),其时间戳字段包含latency信息。当PTP_ASSIST值为假时将不跟随follow_up报文,sync报文origin Timestamp字段包含滞留时间(latency)的信息。

1)Sync报文的处理:

Sync报文的两步操作:

DP83640缺省状态下是两步操作,对于两步操作,需要记录和保存消息入口和出口的时间值以用来计算其滞留时间latency。一旦收到相关的Follow_Up消息,滞留时间(latency)应加到Follow_Up消息的修正字段correction Field。另外如果使能IGNORE_2STEP位,不管PTP报文PTP_ASSIST位如何,都强行进行两步操作。

Sync报文的一步操作:

为避免在管理接口间传输时间值,可以利用DP83640的一步操作。通过使能SYNC_1STEP位,可令DP83640进行一步操作,自动将时间戳插入报文的origin Timestamp字段。PTP协议要求是把滞留时间latency加到correction Field,将到来的原始时间戳值origin Timestamp加到correction Field,并减去入口的时间戳值。处理器会做如下设置:

但DP83640使用一步操作将不会做上述操作,用于Sync消息的出口时间会随着传送过程自动嵌入到origin Timestamp字段。PHY会自动设定:

需要注意的是在转发第一个Sync消息之前,应首先设定PTP时钟时间然后根据滞留时间latency修改入口时间。[2]

2)Delay_Req消息处理

对于Delay_Req消息,DP83640不支持将latency加到Delay_Req消息的correction Field字段,取而代之的是必须为Delay_Req消息纪录入口和出口的时间值,这些时间值用来确定其滞留时间latency,并将其加到Delay_Resp消息的correction Field字段。

从以上分析可以看到,应用DP83640可以精确地计算在栈内的滞留时间,同步效果更加精确。

1.4 利用DP83640进行频率纠正和相位对准

通常分布式系统中各个节点上的时钟,是用一个晶振驱动的计数器来计量的。一般情况下两台计算机的晶振频率是不同的,导致PTP时钟也以不同频率计数,在这里我们可以把晶振驱动的本地时钟看作硬件时钟H(t),对此硬件时钟进行采样形成软件时钟S(t),S(t)用来为PTP节点提供时间基准,即PTP时钟。以此PTP时钟为基础的PTP计数器记录着时间值。DP83640能有效地调节采样频率和进行相位对准,同时还能在物理电路上保证晶振的精确性。

DP83640具有几个内部时钟,包括本地参考时钟,一个被恢复的以太网接收时钟,一个PTP时钟(其时间值记录在PTP_TDR寄存器中),一个内部的PTP数字计数器,一个可以控制数字计数器和PTP时钟速率(频率)的逻辑(参见图7)。

外部晶振或振荡器对本地参考时钟提供激励。本地参考时钟成为器件中所有时钟的核心。DP83640能够将主PTP时钟和主PTP计数器相位对准,再将本地参考时钟锁频到PTP主时钟上。可以用下式简单的表述其过程:主本地时钟→PTP主时钟→主计数器→sync报文时间→恢复主本地时钟→从时钟节点本地时钟→PTP从时钟→从计数器。

从接收的PTP数据包中恢复接收时钟,并锁定到对接点中的发送时钟。在正常工作时利用IEEE 1588 PTP包,通过控制速率调节逻辑将从器件中的PTP时钟和计数器与主器件中的PTP时钟和计数器相匹配。将从系统的PTP时钟和计数器锁定到主系统的PTP时钟和计数器,DP83640通过有效调节硬件时钟,达到主从时钟的频率锁定和相位对准。[3](图8为原理示意图)

DP83640采用PTP速率(频率)控制寄存器(PTP_RATEH和PTP_RATEL)和PTP临时速率控制寄存器(PTP_TRDH和PTP_TRDL)来调节PTP速率。具体采用哪种方式与主从时钟之间的频率差异有关,例如在开始同步时时间值相差较大,可通过固定速率纠正,当相差很小时转为临时速率纠正。

固定速率纠正可按如下方式编程:

1)将速率方向(0x8000表示更高,0x0000表示更低)和该值的上10位写入PTP_RATEH寄存器中。

2)将时间差值的低16位写入PTP_RATEL寄存器。在速率写到PTP_RATEL时生效。

举例说明:假设主时钟上次同步后的计数器读数为a,从时钟自上次同步后计数器读数也为a。经过2秒,主时钟计数器记录的sync报文发送时间为b,从时钟计数器记录的接收时间为c,那么就有:

主时钟频率=(b-a)/2s,

从时钟频率=(c-a)/(2s+delay),

(从时钟频率-主时钟频率)/主时钟频率=dppm(百万分之一),

d×10-6×2/(b-a)=e

将e的单位转化为亚毫微秒,假设其十六进制值为0x254DC4,那么就可依下述方式实现固定速率纠正。

1)将0x0025写入PTP_RATEH。

2)将0x4DC4写入PTP_RATEL。

3)DP83640根据此值调节本地从时钟频率使其等于主时钟频率。

临时速率纠正与固定速率纠正的编程方法类似。临时速率在写入PTP_RATEL寄存器时立即生效,所以在设定临时速率前必须对PTP临时速率延时寄存器进行编程。在临时速率持续时间(记录在PTP_TR_DURL寄存器中)结束后,PTP_TMP_RATE位清零,速率纠正数值将切回到固定速率纠正数值。临时速率延时按以下方式配置:

1)临时速率持续时间为一个26位的数,单位是时钟周期。在默认的8 ns参考时钟周期时,最大持续时间约为537 ms。

2)将临时速率持续时间的上10位写入PTP_TRDH。

3)将临时速率持续时间的低16位写入PTP_TRDL。在写该寄存器时临时速率持续时间立即生效,并且会保持恒定,直到通过写寄存器操作进行修改。通常不需要改变临时速率的持续时间。[4]

2 测试与结果

实验采用三块freescale的M5234BCC开发板,该开发板采用了coldfire系列CPU,和DP83640网络控制器,IEEE1588代码部分由IXXAT提供。分别对时钟抖动和相位误差进行测试,测试过程如下。

将三块M5234BCC开发板通过LAN连接,M5234BCC与计算机之间通过RS232电缆相连,通过主时钟输出信号来触发示波器,依靠主触发信号来测量从信号时间。在IEEE 1588应用中,一般通过将主器件的一个秒脉冲(PPS)触发输出连接从器件输出的相应PPS信号,来测量同步性能。(如图9所示)。

参考时钟采用FCO 25 MHz时钟源。以1秒的同步间隔和10毫秒的临时速率持续时间,在25℃室温和3.3 V的VCC等正常条件下进行测量。使用示波器内部的直方图功能在特定的延迟时间点捕捉时钟信号的上升沿,并记录直方图的峰峰值和标准偏差值。如图10所示,测量时钟信号抖动峰峰值和标准偏差不超过1ns。

在同样的25 C室温和3.3 V的VCC等条件下,通过确定主时钟输出到从时钟输出引脚的时延可测得对主时钟的同步误差。同步周期设为1秒,临时速率持续时间为100毫秒。如图11所示,时钟相位误差不超过6ns。

3 总结

该文结合IEEE1588协议和DP83640以太网控制器初步探讨了协议的同步原理。对延迟时间进行了深层次的讨论,结合测试结果得出采用专用的IEEE1588同步以太网芯片要比仅用软件实现IEEE1588协议更加精确,满足大多数以太网应用的同步要求。DP83640提供了一个高精度的低抖动时钟输出,对于IEEE 1588主时钟而言是频率对准的,同时也是相位对准的。

摘要:该文基于IEEE1588精准时间同步协议(PTP协议),结合DP83640以太网控制芯片阐述了PTP协议同步报文发送和接收原理,通过在物理层加盖时间戳和调节本地时钟的频率和相位,DP83640能够提供精准的IEEE1588时钟,有效地解决由于软件带来的时钟抖动问题。

关键词:IEEE1588,DP83640,时钟同步,时间戳

参考文献

[1]IEEE Std.1588-2002,IEEE standard for a Precision clock Synchronization Protocol for Networked Measurement and Control Systems[S],2002.

[2](2007)National Semiconductor Corporation.http://www.national.com/an/AN/AN-1838.pdf.

[3](2007)National Semiconductor Corporation.http://www.national.com/an/AN/AN-1730.pdf.

[4](2008)National Semiconductor Corporation.http://www.national.com/an/AN/AN-1729.pdf.

时钟同步系统 篇7

数控系统的网络化发展要求其控制接口由模拟、脉冲方式向总线方式转变[1,2,3]。现场总线支持数据双向传输,可简化线缆,具有传输速率高、传输距离远、抗干扰能力强等优点,实时性和可靠性较高,适合数控机床发展对高速、高精度加工的要求[4]。

在现场总线技术发展过程中,对其性能评价、实时性等的研究一度成为热点[5,6,7,8],而对于现场总线时钟同步的研究却较少,这使得现有的时钟同步协议都存在不同程度的问题。常用的时钟同步协议主要有两种[9]。一种为网络时钟协议NTP。NTP用于一台计算机与一个时钟源的时间同步。这种同步方法简单,适合于计算机网络的时间同步,但同步精度较低,一般在毫秒级。另一种网络时钟同步协议为IEEE1588。IEEE1588是将分散在测量和控制系统内的分离节点上独立运行的时钟同步到一个高精度和高准确度的协议,但该协议实现复杂,占用通信带宽大。

数控系统中的通信网络具有特殊性,即为一主多从,主站为CNC,从站为伺服驱动器或I/O设备,网络拓扑具确定性。通信具有实时、周期性等特点。基于以上通用现场总线时钟同步存在的问题和数控系统通信的特点,笔者开展了现场总线时钟同步方面的研究,以提高数控系统中各设备的时钟同步精度和效率,进而提高数控系统的加工精度。

1 数控系统同步通信需求

基于现场总线的数控系统结构如图1所示。现场总线分为主从端两个通信设备,主设备以板卡的形式插入CNC中,从设备一般直接集成在伺服驱动器或I/O的硬件板上。CNC的命令通过现场总线发给指定的伺服驱动器或I/O;伺服驱动器或I/O的响应也通过现场总线传递给CNC。

在进行机床加工时,CNC中的插补器按照固定的插补周期(如1ms),将被加工的空间曲面分解成离散的位置插补点(平面曲线形成的插补点如图2所示),然后将位置插补点的各轴分量分别发送给各进给轴的伺服驱动器,各进给轴伺服按照指定的位置指令运动,最终合成所需要的空间曲线。为了控制调节或监测,各进给轴的相关信息也要上传给CNC。插补位置命令和进给轴的位置反馈要满足同步实时(第三类实时:通信周期小于1ms,同步抖动小于1μs [7])的要求。

如果各轴间不能精确同步,则会出现空间位置点的偏移。如图2所示,加工路径由空间插补点abc代表,如果在第2个控制周期通信的过程中,轴x和轴y没有精确同步,即点b(xb,yb)的x轴分量xb和点y轴分量yb没有同时生效,产生了时间差,则空间点b就偏到了点d

在数控加工中,刀具在工件表面所走过的路径(刀具路径)至关重要,因为被加工工件的轮廓误差主要取决于刀具路径[10],所以为了满足数控系统对高精度目标的不断追求,必须提高面向数控系统应用的现场总线通信的同步精度。

2 数控系统现场总线时钟同步协议

数控系统通信的网络结构在系统设计时确定,正常工作时不发生变化,所以主站与各从站间的通信延时也是确定的。基于此,本文设计了较为简单高效的现场总线时钟同步协议。

该协议分为从站通信延时测量和时钟同步两部分。从站通信延时测量由主站发起,主要完成主站到各从站间通信延时时间的测量,并将该延时作为参数通知给相应的从站。从站通信延时测量只在通信连接建立前进行,一旦测量完成,在网络结构不变的情况下,此通信延时不会变化,所以在后续的通信过程中可以一直使用。时钟同步也由主站发起,周期性地校对各从站的时钟,使各从站的时钟能准确高效地与主站时钟同步。

2.1从站通信延时测量

如图3所示,从站通信延时测量分为两个阶段。第一阶段为延时测量,主站向从站发送一个请求帧(REQ),帧内容为请求延时测量,同时记录下主站发送时刻T1。从站接收到请求延时测量帧后发送应答帧(ACK),内容为延时测量应答。主站接收到延时测量应答帧后,记录下接收时刻T2,所以主站到从站的单向通信延时Tdelay=(T2- T1)/2。第二阶段为延时通知,主站向从站发送通知帧INFO,帧内容为测量并计算出的从站通信延时信息,从站接收到通知帧后解析出主站到从站的通信延时,将其作为以后时钟同步时的校准时钟。

2.2时钟同步

时钟同步过程如图4所示,主站在周期通信的开始,发送一个广播的同步帧(SYNC),同步帧内容为同步帧发送时刻的主站当前时间,每个从站接收到同步帧后,从中读出主站发送该同步帧时刻的时间,并根据前阶段测量到的通信延时,计算出当前时间,然后对各自的时钟进行校准。由于同步帧中只含有一个时间,帧长度小,且同步帧的广播不需要从站应答,所以时钟同步过程占用的通信带宽极小。因此可以在每个通信周期中都进行时钟同步,从而能够提高各站的时钟同步精度。

3 数控系统现场总线时钟同步机制设计

基于上述时钟同步协议的时钟同步机制的设计,主要包括通信模型的建立、主站通信调度过程和从站的实时数据交换三个方面。

3.1通信模型

本文的时钟同步通信模型如图5所示。采用一主多从、主从问答的通信方式。一个主站为CNC,从站为多个伺服驱动器、主轴驱动器或I/O板卡,主从之间使用一问一答的方式进行通信,主站从从站的应答协议帧中获取通信状态信息(数据收发是否错误等)。在工业自动化领域,为了减小布线成本,星形拓扑结构逐渐被环形和菊花链所替代,本文设计采用菊花链拓扑结构,即每个从站有两个通信接口,依次相连。每个从站除了作为通信主体外,还采用交换技术对其他站的信息进行实时转发。

本文设计的通信协议栈分为3层,分别与开放系统互连标准(open system interconnection,OSI)的物理层、数据链路层和应用层等价。物理层采用标准百兆以太网物理层;数据链路层利用电子辅助设计技术设计专用的通信数字逻辑电路,实现同步实时调度;应用层建立面向数控系统应用的实时和非实时通信实体[11]。时钟同步通信协议通过主站数据链路层的同步实时调度和从站数据链路层的实时数据交换实现。

本文的设计基于时槽通信网络管理(SCNM)的主从调度机制,通信时序如图6所示。网络中有一个主站(MN)和多个从站(SN1、SN2、…)。主站负责管理整个通信周期的调度。通信周期划分为3个阶段:时钟同步阶段、实时通信阶段和非实时通信阶段。在时钟同步(start)阶段,主站首先广播一个同步帧(SYNC),通知每个从站进行对时,并准备开始实时通信;在实时通信(real-time)阶段,主站依次与每个从站进行问答式通信,即发送命令数据(CMD),接收响应数据(RSP);最后是非实时通信(non-real-time)阶段,主站根据需要与某个从站进行非实时数据的交换。

3.2主站调度模型

主站负责控制整个通信的时序,本文设计的主站数据链路层调度模型如图7所示。整个模型由含有10个状态的有限状态机构成,每个状态负责不同的通信功能。图7中符号含义如下:空闲等待状态IDLE、延时测量请求状态REQ、延时测量应答接收状态ACK、从站延时通知状态INFO、错误或超时状态ERR、时钟同步状态SYNC、发送命令状态CMD、接收响应状态RSP、异步开始状态SOA、异步数据交换状态ASND。

整个通信过程分为2个阶段:延时测量阶段和周期通信阶段。

主站在和每个从站进行周期通信前,要建立通信连接。建立通信连接时进行从站通信延时的测量,测量过程如下:

上电后主站为空闲状态IDLE,因为和从站没有连接,所以进入延时测量请求状态REQ;①在REQ状态,向从站发送延时测量请求帧,然后进入延时测量应答接收状态ACK;②在ACK状态,等待接收从站的延时测量响应帧,如果接收正确,则进入延时通知状态INFO,否则进入错误处理状态ERR;④在INFO状态,向从站发送延时通知帧,然后进入周期通信阶段。

在ERR状态,处理通信错误,进入空闲状态,试图进行下次通信连接。

通信连接建立后,即进入周期通信阶段,在此阶段主站与每个从站进行对时和周期性的数据交换,具体运行过程如下:①在SYNC状态时,广播同步对时帧,然后进入给从站发送命令状态CMD;②在CMD状态,给特定的从站发送命令数据,然后进入接收响应状态RSP;③在RSP状态,等待接收从站的响应数据,如果异步通信时间到,则进入异步通信开始状态SOA,如果异步通信时间未到,接收正确则进入命令发送状态CMD,进行下一个从站的命令发送,接收错误则进入错误处理状态ERR;④在SOA状态,发送异步通信开始帧,然后进入异步通信状态ASND;⑤在ASND状态,主站与某个从站进行非实时的数据交换,然后进入SYNC状态,重新开始下一周期的通信。

3.3从站实时数据交换

由于整个系统的网络采用菊花链拓扑结构,为了保证对时的精度,要求从站的数据交换满足实时性和确定性。本文设计的从站由A口到B口的实时交换原理如图8所示,由含两个状态的状态机组成。状态机的具体工作过程如下:判断A口的接收队列是否为空,如果A口接收队列为空时,状态机进入空闲状态IDLE,在此状态下,只是等待接收A口数据,不产生其他动作;如果A口接收到数据,即A口的接收队列不空,则状态机切换到转发状态RELAY,在此状态下,将A口接收队列中的数据读出,同时写入B口发送队列和数据帧缓冲区队列,从而实现了数据的实时转发和接收。

4 实验

依据本文设计的时钟同步机制所开发的现场总线,已应用到高精数控公司的数控系统产品中,以下给出实验环境的搭建、实验结果及分析。

4.1实验环境搭建

实验中,一个主站CNC连接4个从站伺服驱动器。现场总线的主站端板卡插入PC机的PCI插槽中,从站端直接在伺服驱动器中实现。站间采用100M屏蔽双绞线连接,主站与第一个从站的间距为10m,从站的间距为1m。实验中使用四通道存储记录仪,对被测设备的周期中断信号进行采集。一个通道接收CNC的通信芯片中断信号,另一个通道接收伺服中的通信芯片中断信号。各设备的具体参数如下:

(1)CNC。Intel Pentium 4 CPU 3.00GHz、1.00GB RAM,操作系统版本为Ubuntun-8.04,数控系统软件版本为emc2_2.3.2,插补周期为1ms。

(2)伺服驱动器。GJS015ADA SERVO,TMS320LF2407A DSP 16位,40MHz。

(3)现场总线。通信数据帧长度80字节;物理层为标准百兆以太网;通信主站端板卡与数控系统控制器接口为PCI(频率为33MHz,数据宽度为32位);通信从站端与伺服驱动器的DSP采用并行总线接口(频率为40MHz,数据宽度为16位)。

4.2实验结果及分析

实验中采用2种方案对时钟同步性能进行测试。

第一种方案是进行同步性测试。具体测试过程如下:在主站和从站建立通信连接的情况下(此时为周期通信的起始阶段,主从站进行时钟同步),使用存储记录仪记录10min的测试结果,图9为部分截图。从整个测试结果中看出主从站能够有效同步(2个中断信号一直对齐)。

然后将主站和从站的通信连接断开(此时主从站自由运行,时钟不进行同步),观察2个中断信号的对齐情况。肉眼能观察到主从站时钟不能同步(2个中断信号发生缓慢偏移)。

产生上述现象的原因在于,主从站无通信连接时,主站和从站都基于各自的时钟运行,2个时钟的物理精度差异造成了各自内部计数器的偏差,所以表现为中断信号缓慢偏移。而当主从站有通信连接时,主站会在很短的时间内给每个从站对时,使得所有从站的时间都能与主站同步,补正了不同时钟的物理精度不同造成的计数器偏差,所以表现为中断信号一直对齐。

另一种方案是进行时钟同步精度测试。具体测试过程如下:长时间记录并比较2个中断的下降沿(中断信号为下降沿有效),图10为实验数据的部分截图。通过数据可以看出同步抖动非常小(范围在60ns以内)。同步精度高的原因在于,虽然主从站的时钟会由于各自的物理精度差异造成时钟计数偏差,但在一个通信周期内,此偏差还没有累计很大时,主从站就进行了时钟同步操作,从而消除这个偏差,因此使得主从站的时钟都能以一个较高的同步精度运行。

5 结论

(1)数控系统中通信站点的时钟同步性对数控加工精度有重要的影响。

(2)根据数控的特性,设计了较为简单高效的现场总线时钟同步协议。

(3)所设计的时钟同步协议简单有效,具有良好的同步性,同步精度高。

本文设计的时钟同步协议具有实现简单、占用通信带宽小等优势,为在数控系统中的应用需求提供了更好的支持。

参考文献

[1]Yu Dong,Hu Yi,Xu Xun,et al.An Open CNC Sys-tem Based on Component Technology[J].IEEE Transactions on Automation Science and Engineer-ing,2009,6(2):302-310.

[2]兰红波,刘日良,张承瑞.基于STEP-NC智能数控系统的研究[J].中国机械工程,2007,18(3):692-694.

[3]Ellis G.Comparison of Drive and Controller Archi-tecture:SERCOS and Analog[C]//PCIM-Europe,Nuremberg,Germany,1998.

[4]Abdel-Ghaffar H F,Abdel-Magied M F,Fikri M,et al.Performance Analysis of Fieldbus in Process Control Systems[C]//Proceedings of the2003American Control Conference.Denver,Colo-rado,2003:591-596.

[5]Cena G,Seno L,Valenzano A,et al.Performance Analysis of Ethernet Powerlink Networks for Dis-tributed Control and Automation Systems[J].Com-puter Standards&Interfaces,2009,31(3):566-572.

[6]Lee Kyung Chang,Lee Suk.Performance Evaluation of Switched Ethernet for Real-time Industrial Communications[J].Computer Standards&Inter-faces,2002,24(5):411-423.

[7]Neumann P.Communication in Industrial Automa-tion-What Is Going on?[J].Control Engineering Practice,2007,15(11):1332-1347.

[8]Felser M.Real-time Ethernet-industry Prospec-tive[J].Proceedings of the IEEE,2005,93(6):1118-1129.

[9]Zhang Xiangli,Tang Xiaoqi,Chen Jihong.Time Syn-chronization of Hierarchical Real-time Networked CNC System Based on Ethernet/Internet[J].Inter-national Journal of Advanced Manufacturing Tech-nology,2008,36(11/12):1145-1156.

[10]Ramesh R,Mannan M A,Poo A N.Tracking and Contour Error Control in CNC Servo Systems[J].International Journal of Machine Tools and Manu-facture,2005,45(3):301-326.

上一篇:柯布西耶下一篇:舞弊空间