专利名称:Ieee 1588时间同步系统及其实现方法
技术领域:
本发明涉及电子和电气工程师协会(IEEE) 1588协议的时间同步技术,尤 其涉及一种多端口正EE 1588时间同步系统及其实现方法。
背景技术:
IEEE 1588的全称是网络化测量和控制系统的精密时钟同步协议,通常称 为精密时间协议(PTP, Precision Time Protocol )。 一般使用IEEE 1588精密时 间协议的目的是在以太网中保持不同结点之间的时间同步。在工厂自动化、测 量以及通信中也需要大量应用要求非常精密的时间同步,这通常会超出以标准 软件方式的解决方案所能提供的范围。
正EE1588标准,规定了将分散在测量和控制系统内的分离节点上独立运行 的时钟同步到一个高精度和准确度的协议。而这些时钟是在一个通信网络中互 相通信的,按这个基本格式,该协议要形成树形的管理,使系统内的这些时钟 产生一个主、从同步关系。这里,所述同步包括频率同步和时间同步两个概念。 所谓频率同步即时钟同步,是指信号之间的频率或相位上保持某种严格的特定 关系,其相对应的有效瞬间以同一平均速率出现,以维持通信网络中所有的设 备以相同的速率运行。而时间同步中所述的"时间,,有两种含义时刻和时间 间隔。前者是指连续流逝的时间的某一瞬间,后者是指两个瞬间时刻之间的间 隙。时间同步的操作就是按照接收到的时间来调控设备内部的时钟和时刻。时 间同步的调控原理与频率同步对时钟的调控原理相似,它既调控时钟的频率又 调控时钟的相位,同时将时钟的相位以数值表示,即时刻。与频率同步不同的 是,时间同步接受非连续的时间信息、非连续调控设备时钟,而设备时钟锁相 环的调节控制是周期性的。时间同步有两个主要的功能授时和守时。用通俗的语言描述,授时就是"对表"。通过不定期的对表动作,将本地时刻与标准时
刻相位同步;守时就是前面提到的频率同步,保证在对表的间隙里,本地时刻
与标准时刻偏差不要太大。时间同步的目的就是要将时间基准准确地传递到各 控制点,传递并不困难,而难在要求所能达到的传递时间的精度。
当前,通信网络和业务的IP化、分组化是大势所趋,但业务网尤其是移动 业务对同步的要求仍必不可少,分组化后的传送网络仍需要具备完善的时钟同 步能力来满足相关业务的同步需求。在无线通信的一些应用场景下,业务已IP
化,不再需要时分复用(TDM)接口,但是仍然需要时钟,此时需要一种时序 分组(ToP, Timing over Packet)技术来实现。所述ToP技术,是将定时信息根 据一定的封装格式放入分组包中进行传送,在接收端从包中恢复时钟,通过算 法和封装格式尽量规避传送过程中带来的损伤。正EE 1588标准即是比较通用 的ToP技术之一,能够较好地满足时间和相位同步的要求。该标准经过改进可 以达到非常高的精度,这在即将发布的正EE 1588 v2版本中会有相应介绍,从 目前的发展来看,基于分组传送网采用IEEE 1588 v2技术进行时间传送是今后 组建时间同步网的解决方案发展方向。
正EE 1588主从时钟同步原理如下主钟定期发送Sync报文,随后发送 Followup报文通告上个报文的实际发送时间Tl, /人钟记录Sync报文的到达时 间T2;从钟在T3时刻发送Delay—Req报文,主钟记录报文到达时间T4,并将 其通过响应报文Delay一Resp发送给从钟。根据T1、 T2、 T3和T4,可以计算得 到两个钟之间链路的时延和两个钟的时间偏差,据此调整从钟的时间输出,从 而实现主钟和乂人钟的时间同步。IEEE 1588v2可以同时实现频率同步和时间同 步,其中时间同步能够达到亚微秒级精度,协议标准化较好,可以支持不同厂 家对接,由于是通过在报文中加入时间标签来传递时间信息的,要求中间链路 双向时延必须保持一致,时延不一致会引起相位测量偏差,从而对时间精度造 成一定的影响,另外,时间精度还会受丢包等因素的影响。而且使用软件实现 IEEE 1588协议栈的设置,还会因为软件处理流程和操作系统的多任务导致协 议栈处理延时的4+动,因此,如果采用软件方式来实现正EE 1588v2协议将很难达到预期的传输高精度时间同步的要求。
发明内容
有鉴于此,本发明的主要目的在于提供一种硬件多端口 IEEE 1588时间同 步系统及其实现方法,以满足IEEE 1588v2所要求的同步精度。 为达到上述目的,本发明的技术方案是这样实现的
一种IEEE1588时间同步系统,包括交换机(Switch)模块、物理芯片(PHY) 模块、CPU管理模块以及实时时钟(RTC)模块;该系统还包括时间戳处理模 块;其中
Switch模块,用于将来自多个PHY模块端口的正EE1588时间戳报文过滤 后,送到时间戳处理模块;
PHY模块,用于识别所述IEEE1588报文,并向向所述时间戳处理模块提 供时间戳报文接收指示信号及时间戳报文发送指示信号;
CPU管理模块,用于管理所述时间同步系统;
RTC模块,用于提供本地时钟,根据接收到同步时钟来动态校准RTC;以
及
时间戳处理模块,用于实现对IEEE 1588时间戳报文的解析,获得同步时 间,以校正RTC本地实时时钟;还用于产生IEEE 1588报文、并向其他设备发送。
所述Switch模块具有多个端口 ,每个端口对应一个所述PHY模块。 所述时间戳处理模块中进一步包括时间戳报文收发子模块、时间戳报文解
析子模块、时间戳报文生成子模块、本地时间记录寄存器以及RTC校正/时间
读写模块;其中
时间戳报文收发子模块,用于接收或发送时间戳报文,并记录时间戳报文 接收或发送的准确时间;
时间戳报文解析子模块,用于根据时间戳报文内容及本地时间记录寄存器 的记录判断时间戳类型;时间戳报文生成子模块,用于生成时间戳报文,并在所述时间戳报文中填
入Sync、 FllowUp 、 Delay Request或Delay Response才艮文类另ll才示识;
本地时间记录寄存器,用于记录发送/接收时间戳报文的时间;还用于同时
接收并处理多对时间戳报文接收指示信号和时间戳报文发送指示信号,并在
RTC校正/时间读写子模块所提供的正确时间的作用下,向时间戳报文生成子模
块和时间戳报文解析子模块提供所需的时间信息;
RTC校正/时间读写模块,用于校准本地RTC或读取、修改本地时间。 所述时间戳处理模块中进一步包括CPU接口子模块,用于通过CPU管理
模块对所述时间戳处理模块进行读写操作。
一种采用4又利要求1所述IEEE1588时间同步系统实现时间同步的方法,
将该时间同步系统分别设置在主设备和从设备中,该方法包括
A、主设备通过自身内置的时间戳处理模块顺次向从设备发送Sync报文和
FollowUp报文,所述从设备接收该Sync报文并记录接收时间为Ts2、接收该
FollowUp报文并记录主设备发送Sync报文时间Tm2;
B 、所述从设备向所述主设备发送DelayRequest报文,记录发送时间为Ts3;
所述主设备接收并解析该DelayRequest净艮文,并向所述从i殳备回复
DelayResponse才艮文,所述从i殳备记录主设备才妻收DelayRequest净艮文时间为
Tm3;然后依据相应/>式计算出线路时延值Delay;
C、 所述从设备继续接收所述主设备顺次发来的Sync报文和FollowUp报 文,所述从设备接收该Sync报文并记录接收时间为Ts4、接收该FollowUp报 文并记录主设备发送Sync报文时间为Tm4;利用时延值Delay并按照预设的时 间偏移量计算公式算出从设备与主设备之间的时间偏移量Offset,然后利用所 述Offset值对从设备的本地时间进行校正。
所述步骤C之后进一步包括
D、 所述从设备继续接收所述主设备顺次发来的Sync报文和FollowUp报 文,所述从设备接收该Sync报文并记录接收时间为Ts5、接收该FollowUp报 文并记录主设备发送Sync报文时间为Tm5,然后利用公式Offset=Ts5-Tm5- Delay;
验证该Offset的值是否为零,若OffsetO,则结束主设备、从设备的时间 同步校正过程;否则,返回执行步骤A。
其中,步骤A所述主设备的时间戳处理模块顺次向从设备发送Sync报文 和FollowUp才艮文的过程为
所述主设备的时间戳报文生成子模块产生携带有Sync报文的IEEE1588报 文,通过时间戳报文收发子模块向Switch模块转发,所述Switch模块将Sync 报文通过交换作用转发给PHY模块,并由所述PHY模块向从设备发送所述含 有Sync报文的IEEE1588报文;同时,所述IEEE1588报文通过PHY模块时向 所述主设备的本地时间记录寄存器发送时间戳报文发送指示信号,由所述主设 备的本地时间记录寄存器记录Sync报文的发送时间,所述时间戳报文生成子模 块读取所述本地时间记录寄存器和RTC校正/时间读写子模块的时间信息,并 在时间戳报文生成子模块中生成FollowUp报文,把Sync发送时间放到 FollowUp中,通过时间戳报文收发子模块、Switch模块及PHY模块向从设备 发送,并记下发送Follow Up报文的时间。
步骤A所述从设备分别接收所述Sync报文和接收所述FollowUp报文的过 程为
所述从设备通过PHY模块接收到带有Sync报文或FollowUp报文类别的 IEEE1588报文后,所述PHY模块向自身的本地时间记录寄存器发送时间戳报 文接收指示信号,由所述本地时间记录寄存器记录相应报文的到达时间;并将 所述Sync报文或FollowUp报文通过Switch模块转发给时间戳处理模块,通过 时间戳报文收发子模块接收后转发给时间戳报文解析子模块判断出报文类别进 行记录。
步骤B所述计算线路时延值Delay的公式为 Delay=( ( Ts2-Tm2 ) + ( Ts3-Tm3 ) )/2;
其中,Ts3为所述从设备向主设备发送DelayRequest报文的发送时间; Tm3为所述主设备接收到DelayResponse报文的时间。
10步骤C所述预设的时间偏移量Offset的计算公式为
Offset=Ts4-Tm4- Delay; 其中,Ts4为从设备接收主设备随后发来Sync 4艮文的接收时间; Tm4为主设备发送Sync才艮文的本地时间; Delay为主设备、从设备之间的线路时延值。
所述从设备读取时间戳报文解析子模块中的时间偏移量Offset,通过RTC 校正/时间读写子模块调整PLL模块,将本地RTC的时间调整为与主设备时间 同步网络一致。
本发明所提供的IEEE 1588时间同步系统及其实现方法,具有以下优点 本发明通过釆用硬件形式的时间戳处理模块,并使用该模块内的时间戳报 文收发子模块、时间戳报文解析子模块、时间戳报文生成子模块、本地时间记 录寄存器和RTC校正/时间读写模块对正EE1588报文中的Sync、FllowUp、Delay Request以及Delay Response报文进行实时处理,从而保证了采用本时间同步系 统的设备之间的高精度时间同步。
另外,本发明系统中通过采用Switch模块,配合使用多个PHY模块,并 保证并行处理的实时性,能够实现以多端口提供IEEE1588报文的方式对多个 设备进行时间同步的校正,因而,对采用IEEE1588协议的高速以太网建设有 积极的促进作用。
图1为本发明实施例中IEEE 1588时间同步系统的结构示意图2为现有IEEE 1588协议传输时延的测量和完全同步的获得过程示意图3为本发明实施例IEEE 1588时间同步方法的实现过程示意图。
具体实施例方式
下面结合附图及本发明的实施例对本发明的方法作进一 步详细的说明。图1为本发明实施例中IEEE 1588时间同步系统的结构示意图,如图1所 示,该时间同步系统包括时间戳处理模块10,交换机(Swtich)模块11,中央 处理器(CPU)管理模块12,物理层芯片(PHY)模块13以及实时时钟(RTC ) 模块14;其中,所述时间戳处理模块10中还包括CPU接口子模块100,时间 戳报文收发子模块101,时间戳报文解析子模块102,时间戳报文生成子模块 103,本地时间记录寄存器104以及RTC校正/时间读写模块105。
时间戳处理模块IO,用于实现对IEEE 1588时间戳才艮文的解析,得到同步 时间,以校正RTC本地实时时钟;还用于发送IEEE 1588才艮文提供给其他设备。 其中
CPU接口子模块100,用于通过CPU管理模块12对所述时间戳处理模块 IO进行读写操作。
时间戳报文收发子模块101,用于接收或发送时间戳报文。
时间戳报文解析子模块102,用于根据时间戳报文内容及本地时间记录寄 存器的记录判断时间戳类型;这里,所述时间戳有Delay Response报文、其他 用于完成正常转发流程的报文等类型。
时间戳报文生成子模块103,用于生成时间戳报文,并在所述时间戳报文 中填入Sync、 FllowUp 、 Delay Request或Delay Response等报文类别标识;
本地时间记录寄存器104,用于记录PHY模块发送/接收时间戳报文的时 间;所述本地时间记录寄存器104可以同时接收并处理多对时间戳报文接收指 示信号和时间戳l艮文发送指示信号。并能够在RTC校正/时间读写子模块105 所提供的正确时间的作用下,向时间戳报文生成子模块103和时间戳报文解析 子模块102提供所需的时间信息。
RTC校正/时间读写模块105,用于校准本地RTC或读取、修改本地时间。
Swtich模块ll,用于将多个端口的时间戳报文过滤后,送到时间戳处理模 块10。
CPU管理模块12,用于管理所述时间同步系统。
PHY模块13,用于识别正EE1588时间戳报文,提供给时间戳处理模块10。所述PHY模块13向所述时间戳处理模块IO提供时间戳报文接收指示信号及时 间戳报文发送指示信号,具体为PHY模块向所述时间戳处理模块IO的本地 时间记录寄存器104发送时间戳报文接收指示信号或时间戳报文发送指示信 号。这里,所述PHY模块提供的发送和接收指示信号是为了让本地时间记录器 记下时间戳报文通过PHY模块的准确时间,主设备PHY模块和从设备PHY模 块之间的延时才是我们要计算的延时,因为这个延时是一个固定延时,如果经 过Switch模块在计算延时,那就不准确了。所述PHY模块13可以为单个或多 个,即可以根据实际需要配置N个,N>1。
RTC模块14,用于为时间同步系统提供同步的时间。
本发明实施例的时间同步系统,首先通过PHY模块13得到IEEE 1588时 间报文,提供时间戳处理模块报文到达的本地时间;然后将IEEE 1588时间报 文通过Swtich模块11转发到时间戳处理模块,进行报文识别和时间的计算, 从而得到高精度的同步时间。
图2为现有正EE 1588协议传输时延的测量和完全同步的获得过程示意图, 如图2所示,主钟(Master)和从钟(Slave )之间存在线路时延(Line Delay ), Tm为Master的本地时间,Ts为Slave的本地时间。作Ii殳起始状态时Master的 当前时间为1070s, Slave的当前时间为1009s。 4姿照正EE 1588协议,Master 定时发送,如每隔2秒(可依据实际情况确定时间间隔)发送一次同步(Sync) 报文,随后发送跟随(Follow up )报文通告上个报文的实际发送时间Tmn,由 Slave记录Sync l艮文的到达时间Tsn。如图2所示,Slave在Ts3时刻发送延时 请求(Delay Request)报文,Master记录报文到达的时间Tm3,并将其通过延 时响应(Delay Response )报文发送给Slave,计算出Master和Slave之间的线 路延时Delay= ((Ts2-Tm2)+(Ts3-Tm3)) /2=0+(1082-1080)/2=ls; Slave根据后续 的 Follow up报文计算出 Master和Slave之间的时间偏移量 Offset=Ts4-Tm4-Delay=1083-1083-l=-l,然后根据时间偏移量Offset计算出应该 调整的时间差值Adjust Time=Ts-Offset=Ts-(-l)=ls,据此,在下一个时间间隔 Follow up报文到达的时刻对Slave进行校准,4吏时间偏移量为零,即Offset=Ts5-Tm5-1 =0,完成Master与Slave的时间同步调整过程。
图3为本发明实施例中IEEE 1588时间同步方法的实现过程示意图,如图 3所示,假设对端设备为主设备,从设备为从设备。主设备和从设备中各设置 有一时间戳处理模块10。下面以在主设备和从设备之间互发IEEE1588报文的 对从设备时间同步调整过程为例进行说明,该方法包括
步骤301:主设备通过以太网向从设备发送IEEE1588报文。 这里,主设备中的时间戳处理模块10与从设备中的时间戳处理模块10的 结构、作用相同,只不过本实施例中假设以主设备的时间为标准。所述主设备 通过时间戳报文发送子模块101向Switchll模块发送IEEE 1588报文,再通过 Switchll的交换后转发给自身的PHY模块13,然后通过以太网发送到从设备 的PHY才莫块13。
以上所述IEEE1588报文由主设备的时间戳报文生成子模块103结合主设 备的RTC校正/时间读写子模块105的时间信息后生成,并且由主设备的时间 戳报文生成子模块103传送给时间戳报文收发子模块101,再发送给Switch模 块11。
步骤302:从设备通过PHY模块13接收所述IEEE1588报文,并向Switch 模块11和时间戳处理模块10的本地时间记录寄存器104转发,然后分别执行 步骤303和步骤304。
步骤303:所述Switch模块11接收所述正EE1588报文后通过交换转发给 时间戳处理模块10的时间戳报文收发子模块101,然后执行步骤305。
步骤304:所述本地时间记录寄存器104收到所述正EE1588报文后记录所 述报文到达时间,然后执行步骤306。
步骤305:由时间戳报文解析子模块102解析所述IEEE1588报文,判断是 否为Sync报文,如果是,则执行步骤306;否则,执行步骤307。
步骤306:通过本地时间记录寄存器104记录Sync报文及IEEE1588报文 所到达的时间,记为Ts(n),其中,n > 1 。
这里,所有时间戳报文在到达PHY模块或经过PHY模块发送时都要在本
14地时间记录器中记录到达或发送的时间;当所述报文经过时间戳解析子模块并 根据对报文进行解析的需要用到某个时间时,再从所述本地时间记录寄存器中 获取与所述报文对应的时间信息。
步骤307:进一步判断所述IEEE1588报文是否为Follow Up报文,如果是, 则执行步骤308;否则,执行步骤309。
步骤308:通过解析报文得到主设备发送Sync报文的时间,Tm(n)。
步骤309:判断所述IEEE 1588报文是否为Response报文,如果是,则执 行步骤310;否则,将该报文丢弃结束本次时间戳报文接收过程。
步骤310:通过解析报文,得到主设备接收到Delay Request报文的时间, 记为Tm(n+1)。
以上为IEEE1588报文从主设备发送至从设备的基本过程,所述正EE1588 报文中可以填入不同的标识信息,以区别IEEE 1588的才艮文类别,例如,填入 Sync4艮文、FollowUp才艮文、Delay Request !艮文或Delay Response 4艮文。下面 以IEEE1588报文交互完成一次同步时间校正的过程为例进行分别描述
1 、主设备向从设备发送Sync报文及Follow Up报文的过程
主设备的时间戳报文生成子模块103产生携带有Sync报文的IEEE1588报 文,通过时间戳报文收发子模块101向Switch模块11转发,所述Switch模块 11将Sync报文通过交换作用转发给PHY模块13 ,由所述PHY模块13向从设 备发送含有Sync报文的正EE1588报文;同时,所述正EE1588报文通过PHY 模块13时需要向所述主设备的本地时间记录寄存器104发送时间戳报文发送指 示信号,由所述主设备的本地时间记录寄存器104记录Sync报文的发送时间 Tm2,时间戳报文生成子模块103读取所述本地时间记录寄存器104和RTC校 正/时间读写子模块105的时间信息,并在时间戳报文生成子模块103中在 IEEE1588报文中加入Follow Up报文类别,通过时间戳4良文收发子模块101 、 Switch模块11及通过PHY才莫块13向从设备发送。
然后,由所述,人设备接收该Sync l艮文并记录4妻收时间为Ts2、接收该 FollowUp报文并记录主设备发送Sync报文时间为Tm2,所述从设备通过PHY
15模块13接收到带有Sync报文或FollowUp报文的报文后,所述PHY模块13 向自身的本地时间记录寄存器104发送时间戳报文接收指示信号,由所述本地 时间记录寄存器104记录该报文的到达时间;并将所述Sync报文或FollowUp 报文通过Switch模块11转发给时间戳处理模块10,通过时间戳报文收发子模 块101接收后转发给时间戳报文解析子模块102判断出报文类别进行记录。 2、从设备向主设备发送Delay Request报文的过程
从设备向主设备发送携带有Delay Request报文的IEEE 1588报文时,本地 的时间记录寄存器104记下所述Delay Request l艮文的发送时间Ts3 ,并通过时 间戳报文收发子模块101发送给Switch模块11,经过交换处理后发送给从设备 的PHY模块13将所述Delay Request报文向主设备发送。
3 、主设备向从设备回复Delay Response报文的过程
主设备的PHY模块13接收到从设备的Delay R叫uest报文后,通过PHY 模块13向本地时间记录寄存器104发送时间戳l艮文指示信号,由所述本地时间 记录寄存器104记录Delay R叫uest报文的到达时间Tm3 ,并指示时间戳报文生 成子模块IO3在IEEEl588报文中加入Delay Response报文,再通过时间戳报 文收发子模块101、 Switch模块11以及PHY模块13向从设备发送。
4、从设备接收主设备返回的Delay Response报文的过程
从设备接收到主设备返回的Delay Response报文后,依据公式 Delay=( ( Ts2-Tm2 ) + ( Ts3-Tm3 ) )/2 ( 1 )
计算出主设备、从设备之间的线路时延,并将该时延值存储在从设备的时 间戳报文解析子模块102中。
5 、从设备根据与主设备的时间偏移量调整本地时间的过程
此时,从设备继续接收由主设备的时间戳报文生成子模块103发送来的 Sync报文和Follow Up报文,通过从设备的时间戳报文解析子模块102的解析, 记录Sync净艮文到达的时间为Ts4、并记录主i殳备发送Sync净艮文的时间Tm4; 从设备的时间戳报文解析子模块102根据公式
Offset=Ts4-Tm4-Delay ( 2 )主钟的时间偏移量,即时间差,所述从设 备此时即可利用该时间差来校正本地时间,即所述从设备读取时间戳报文解析
子模块102中的时间偏移量Offset,通过RTC冲交正/时间读写子模块105调整 PLL模块,将本地RTC的时间调整为与主设备时间同步网络一致,从而得到与 主设备的实时时钟保持一致的高精度同步时间。
在从设备校正完本地时间后,还需要一个确认时间同步的过程,即 从设备继续接收来自主设备的到时间戳报文生成子模块103发送来的Sync 报文和Follow Up报文,通过从设备的时间戳报文解析子模块102的解析,记 录Sync 4艮文到达的时间为Ts5,并记录主设备发送Sync报文的时间Tm5;验 证Offset^Ts5-Tm5-Delay的值是否为零,如果Offset=0,则主设备、从设备的 时间同步得到4全证;如果经验证Offset* 0,则此次时间同步校正过程失败,需 要重新执行本方法的时间同步校正过程。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
1权利要求
1、一种IEEE1588时间同步系统,包括交换机(Switch)模块、物理芯片(PHY)模块、CPU管理模块以及实时时钟(RTC)模块;其特征在于,该系统还包括时间戳处理模块;其中Switch模块,用于将来自多个PHY模块端口的IEEE1588时间戳报文过滤后,送到时间戳处理模块;PHY模块,用于识别所述IEEE1588报文,并向向所述时间戳处理模块提供时间戳报文接收指示信号及时间戳报文发送指示信号;CPU管理模块,用于管理所述时间同步系统;RTC模块,用于提供本地时钟,根据接收到同步时钟来动态校准RTC;以及时间戳处理模块,用于实现对IEEE1588时间戳报文的解析,获得同步时间,以校正RTC本地实时时钟;还用于产生IEEE1588报文、并向其他设备发送。
2、 根据权利要求1所述的时间同步系统,其特征在于,所述Switch模块 具有多个端口,每个端口对应一个所述PHY才莫块。
3、 根据权利要求1所述的时间同步系统,其特征在于,所述时间戳处理模 块中进一步包括时间戳报文收发子模块、时间戳报文解析子模块、时间戳报文 生成子模块、本地时间记录寄存器以及RTC校正/时间读写模块;其中时间戳报文收发子模块,用于接收或发送时间戳报文,并记录时间戳报文 接收或发送的准确时间;时间戳报文解析子模块,用于根据时间戳报文内容及本地时间记录寄存器 的记录判断时间戳类型;时间戳报文生成子模块,用于生成时间戳报文,并在所述时间戳报文中填 入Sync、 FllowUp、 Delay Request或Delay Response报文类另'J标识;本地时间记录寄存器,用于记录发送/接收时间f^艮文的时间;还用于同时接收并处理多对时间戳报文接收指示信号和时间戳报文发送指示信号,并在RTC校正/时间读写子^t块所提供的正确时间的作用下,向时间戳报文生成子模 块和时间戳报文解析子模块提供所需的时间信息;RTC校正/时间读写模块,用于校准本地RTC或读取、修改本地时间。
4、 根据权利要求1或3所述的时间同步系统,其特征在于,所述时间戳处 理模块中进一步包括CPU接口子模块,用于通过CPU管理模块对所述时间戳 处理模块进行读写操作。
5、 一种采用权利要求1所述IEEE1588时间同步系统实现时间同步的方法, 将该时间同步系统分别设置在主设备和从设备中,其特征在于,该方法包括A、 主设备通过自身内置的时间戳处理模块顺次向从设备发送Sync报文和 FollowUp报文,所述从设备接收该Sync报文并记录接收时间为Ts2、接收该 FollowUp才艮文并记录主i殳备发送Sync净艮文时间Tm2;B、 所述从设备向所述主设备发送DelayRequest报文,记录发送时间为Ts3; 所述主设备接收并解析该DelayRequest报文,并向所述从设备回复 DelayResponse才艮文,所述从设备记录主设备接收DelayR叫uest报文时间为 Tm3;然后依据相应公式计算出线路时延值Delay;C、 所述从设备继续接收所述主设备顺次发来的Sync报文和FollowUp报 文,所述从设备接收该Sync报文并记录接收时间为Ts4、接收该FollowUp报 文并记录主设备发送Sync报文时间为Tm4;利用时延值Delay并按照预设的时 间偏移量计算公式算出从设备与主设备之间的时间偏移量Offset,然后利用所 述Offset值对从设备的本地时间进行校正。
6、 才艮据权利要求5所述的实现时间同步的方法,其特征在于,所述步骤C 之后进一步包括D、 所述从设备继续接收所述主设备顺次发来的Sync报文和FollowUp报 文,所述从设备接收该Sync报文并记录接收时间为Ts5、接收该FollowUp报 文并记录主设备发送Sync报文时间为Tm5,然后利用7>式Offset=Ts5-Tm5- Delay;验证该Offset的值是否为零,若Offset=0,则结束主设备、从设备的时间 同步校正过程;否则,返回执行步骤A。
7、 根据权利要求5所述的实现时间同步的方法,其特征在于,步骤A所 述主设备的时间戳处理模块顺次向从设备发送Sync报文和FollowUp报文的过 程为所述主设备的时间戳报文生成子模块产生携带有Sync报文的IEEE1588报 文,通过时间戳报文收发子模块向Switch模块转发,所述Switch模块将Sync 报文通过交换作用转发给PHY模块,并由所述PHY模块向从设备发送所述含 有Sync报文的IEEE1588报文;同时,所述IEEE1588报文通过PHY模块时向 所述主设备的本地时间记录寄存器发送时间戳净艮文发送指示信号,由所述主设 备的本地时间记录寄存器记录Sync报文的发送时间,所述时间戳报文生成子模 块读取所述本地时间记录寄存器和RTC校正/时间读写子模块的时间信息,并 在时间戳报文生成子模块中生成FollowUp报文,把Sync发送时间放到 FollowUp中,通过时间戳报文收发子模块、Switch模块及PHY模块向从设备 发送,并记下发送Follow Up报文的时间。
8、 根据权利要求5所述的实现时间同步的方法,其特征在于,步骤A所所述从设备通过PHY模块接收到带有Sync报文或FollowUp报文类别的 IEEE1588报文后,所述PHY模块向自身的本地时间记录寄存器发送时间戳报 文接收指示信号,由所述本地时间记录寄存器记录相应报文的到达时间;并将 所述Sync报文或FollowUp才艮文通过Switch模块转发给时间戳处理模块,通过 时间戳报文收发子模块接收后转发给时间戳报文解析子模块判断出报文类别进 行记录。
9、 根据权利要求5所述的实现时间同步的方法,其特征在于,步骤B所 述计算线路时延值Delay的公式为<formula>formula see original document page 4</formula>其中,Ts3为所述从i殳备向主设备发送DelayRequest报文的发送时间;Tm3为所述主设备接收到DelayResponse报文的时间。
10、根据权利要求5所述的实现时间同步的方法,其特征在于,步骤C所 述预设的时间偏移量Offset的计算公式为 Offset=Ts4-Tm4- Delay; 其中,Ts4为从设备接收主设备随后发来Sync报文的接收时间; Tm4为主"i殳备发送Sync报文的本地时间; Delay为主设备、从设备之间的线路时延值。
11、根据权利要求5所述的实现时间同步的方法,其特征在于,步骤C 所述利用所述Offset值对从设备的本地时间进行校正的过程为所述从设备读取时间戳报文解析子模块中的时间偏移量Offset,通过RTC 校正/时间读写子模块调整PLL模块,将本地RTC的时间调整为与主设备时间 同步网络一致。
全文摘要
本发明公开了一种IEEE 1588时间同步系统,通过增设时间戳处理模块,使用该模块内的时间戳报文收发子模块、时间戳报文解析子模块、时间戳报文生成子模块、本地时间记录寄存器及RTC校正/时间读写模块,并结合交换机(Swtich)模块、物理层芯片(PHY)模块以及实时时钟(RTC)模块等外围部件形成一个硬件系统,使用中通过采用主、从同步的一对一、或一对多的方式,能够实现IEEE 1588v2协议所要求的高精度时间同步。本发明还公开了一种IEEE 1588时间同步的实现方法,通过对主、从设备的时间信息进行实时处理,能够实现所述时间同步系统的功能。采用本发明对高速以太网建设有积极的促进作用。
文档编号H04L7/033GK101447861SQ20081018767
公开日2009年6月3日 申请日期2008年12月29日 优先权日2008年12月29日
发明者刘立华 申请人:中兴通讯股份有限公司