一种基于ieee1588协议的高精度实时同步方法

文档序号:7687379阅读:208来源:国知局
专利名称:一种基于ieee1588协议的高精度实时同步方法
技术领域
本发明属于集成电路技术领域,涉及工业实时以太网中现场设备的 实时同步的硬件实现方法,尤其涉及一种基于IEEE1588的PTP精确时钟 同步协议来产生的实时同步方法。
技术背景随着网络技术的发展,目前很多应用系统都是建立在分布式网络环 境中,此时,如果没有一个统一的、准确的时钟,这些应用很难正常地 协调工作和运行。特别在分布式控制系统中,考虑到实时性的调度和控 制,对时间统一的要求更为严格。所以建立一个时间统一的分布式系统, 是分布式网络的基本要求。而我们所涉及的工业以太网就属于这种分布 式网络的范畴。精确时钟同歩协议PTP (Precision Time protocol),就 是以IEEE1588为标准定义了一个在测量和自动化系统中的时钟同步协 议。该协议适合于以太网,可以实现微妙级高精度的时钟同步。IEEE1588 所定义的精确网络同步协议实现了网络中的高度同步,使得在分配控制 工作时无需再进行专门的同步通信,从而达到了通信时间模式与应用程 序执行时间模式分开的效果。由于高精度的同步工作,使以太网技术所 固有的数据传输时间波动降低到可以接收的,不影响控制精度的范围。 常用于以太网TCP/IP网络的同步协议有NTP(Network Time Protocol, 网络时间协议)和SNTP (Simple Network Time Protocol,简单网络时间 协议)。NTP是一种通过因特网服务于计算机时钟的时间同步协议。它提 供了一种同步时间机制,能在庞大而复杂多样的因特网中用光速调整时 间分配。它使用的是可返回时间设计,分布式子网内的时间服务器,能 自我组织操作、分层管理配置,经过有线或无线方式同歩子网内的逻辑 时钟达到国家标准时间。此外,通过本地路由选择运算法则及时间后台 程序,服务器可以重新分配标准时间,实现了毫秒级精度的时钟同步。 SNTP则是一个简化了的NTP服务器和NTP客户端策略。和NTP, SNTP相比,PTP在网络基础、时间源、精度、安全性和目标用户等方面都具有优势。虽然IEEE1588协议从2002年制定至今只有几年的时间,但己显示 出其广泛的应用前景,并且目前在硬件上的研究尚处于空白状态。 发明内容本发明提供一种基于IEEE1588协议实现多台设备时间同步的方法, 以用硬件实现的方式解决目前工业以太网中各设备间的实时同步,从而 达到各设备同步执行控制指令的目的。为了实现上述目的,本发明方法包括以下内容 A.发送报文、B.接收报文、C.本地系统时间纠偏、D.最优主时钟选择。 所述内容A具体为Al.如果对应设备为主时钟,则可以发送Sync同步报文、FollowUp报 文和D卩layResp响应报文,具体地Al-l.Sync同步报文以组播形式在所设定的时间周期进行发送,通过 计时器决定周期发送使能信号;A1-2.紧跟Sync同步报文后立即以组播形式周期发送FollowUp报文, FollowUp报文内容中包含Sync同步报文发送时的主时钟本地时间;A1-3.主时钟接收到从时钟发来的DelayReq请求报文后,向从时钟以 单播形式发送DelayResp响应报文。A2.如果对应设备为从时钟,则可以发送DelayReq请求报文,具体地A2-1.考虑到子网中有多台从时钟存在,每台从时钟发送DelayReq请 求报文的时间不同,以免主时钟接收时发生拥塞;A2-2.从时钟发送DelayReq请求报文时记录本地的时间。所述内容B具体为Bl.如果对应设备为主时钟,则可以接收DelayReq请求报文,具体地 Bl-l.主时钟在接收DelayReq请求报文时记录本地时间以及请求从时 钟的物理地址和IP地址,完成歩骤Al-3中的响应报文的反馈;Bl-2.根据接收到的报文内容中的报文类型值,主时钟判断接收到的 报文是否为DelayReq请求报文,如果接收到的报文内容中的报文类型值 和DelayReq请求报文对应的本地默认值相同,判断为DelayReq请求报文,并接收。B2.如果对应设备为从时钟,则可以接收Sync同步报文、FollowUp报 文和DelayResp响应报文,具体地B2-l.从时钟通过接收到的报文内容中的报文类型值不同来区分这三 种报文,如果接收到的报文内容中的报文类型值和相应的三种本地默认 值相同,判断为相应的报文;B2-2.从时钟在收到Sync同步报文时记录本地时间;B2-3.从时钟在收到FollowUp报文时,从FollowUp报文内容中提取 出Sync同步报文的发送时间;B2-4.从时钟在收到DelayResp报文时,从DelayResp报文内容中提 取出步骤Bl-l中主时钟所记下的接收到DelayReq报文时所记录的本地 时间。所述内容C具体为Cl.如果对应设备为主时钟,则主时钟完成系统时间计数,具体地 Cl-l.每当计数使能为1时,把原来的系统时间增加一个时钟周期的 数值。C2.如果对应设备为从时钟,则除了要完成系统时间计数功能以外, 还要进行时间纠偏,即从时钟加上和主时钟之间的时间偏差,以期达到和主时钟时间同步,具体地C2-l.每当计数使能为1时,从时钟亦要把原来的系统时间增加一个 时钟周期的数值;C2-2.从时钟将步骤B2-2记录的时间减去歩骤B2-3提取的时间后的 时间差作为自己和主时钟之间的时间偏差,该时间偏差包含网络传输造 成的延时;C2-3.从时钟将步骤B2-4提取的时间减去歩骤A2-2记录的时间后的 时间差作为网络传输造成的延时;C2-4.从时钟将步骤C2-2确定的时间偏差减去歩骤C2-3确定的延时 后的时间差作为自己和主时钟之间的真实偏差;C2-5.从时钟根据歩骤C2-4中的真实偏差,完成纠偏功能,即从时钟减去和主时钟之间的时间偏差,以和主时钟时间同步。 所述内容D具体为Dl.如果对应设备为从时钟,则每收到-一条同步Sync报文即启动最优 主时钟选择,从时钟根据同歩Sync报文内容中的时钟优先级值和IP地 址来作判断,如果自己的优先级值比网络中所认为的主时钟优先级值更 小,则本地从时钟将成为网络中新的主时钟;如果相同,则比较两者的 IP地址值,更小IP地址值的将成为网络中的主时钟;如果大于,则网络 中的主时钟不改变。D2.如果对应设备为主时钟,当网络中存在新的主时钟后,则本地主 时钟转换成从时钟状态。本发明中的所涉及的操作(如计数、减法等)为基本技术常识,采用常 规技术手段。本发明的发明点在于提供一种较为先进的实时同步方法。本发明基于IEEE1588协议用硬件方式实现了分布式网络中各设备的实 时同步,这种方式使以太网技术所固有的数据传输时间波动降低到可以接 收的,不影响控制精度的范围,从而解决了分布式网络系统中时钟的统一 性和精准性问题


图1为子网中的各设备拓扑结构示意图;图2为本发明方法具体实施例的发送、接收报文流程图;图3为本发明方法具体实施例主时钟本地系统时间计时流程图;图4为本发明方法具体实施例从时钟本地系统时间纠偏流程图; 图5为本发明方法具体实施例主时钟最优主时钟选择流程图;图6为本发明方法具体实施例从时钟最优主时钟选择流程图。
具体实施例方式下面结合附图与实施例对本发明作进一歩说明。如图l, 一个基于工业以太网的子网络,存在N( N》1)台设备, 每台设备可看作网络上的一个节点,并且每个节点包含一个时钟,把时 钟最精准的节点定为主时钟,其他的节点定为从时钟,则我们的目的就 是针对此子网络中的具体设备,使其完成一定的功能,以实现网络子域中所有设备的时间都同步于最精准设备的时间。设备的主从特性在同步 过程中可以改变,通过最优主时钟算法来实现,改变的依据是各自的优 先级,优先级越高则成为主时钟的可能性越大,而优先级则根据时钟的 特性自行配置决定,特性越好则优先级越高。如图2,本发明方法针对发送、接收报文的具体实施方式
包括以下步骤201. 主时钟以组播方式每隔2秒周期性的向从时钟发送Sync同步报 文和FollowUp报文。FollowUp报文内容中包含Sync同步报文发送时的 主时钟本地时间;202. 从时钟通过接收到的报文内容中的报文类型值不同来区分这三 种报文,如果接收到的报文内容中的报文类型值和相应的三种本地默认 值相同,判断为相应的报文。若从时钟收到Sync同歩报文,记录本地时 间,并延迟随机的一个时间后向主时钟发送DelayReq请求报文。延迟一 个随机时间是为了避免子网中的多台从时钟同时向主时钟请求发送 DelayReq报文,造成主时钟接收时发生拥塞。从时钟在发送DelayReq请 求报文时并记录下本地的时间。从时钟在收到FollowUp报文时,则要从 FollowUp报文内容中提取出Sync同步报文的发送时间。收到DelayResp 报文时,则要从DelayResp报文内容中提取出主时钟所记下的接收到 DelayReq报文时所记录的本地时间;203. 主时钟根据接收到的报文内容中的报文类型值,主时钟判断接 收到的报文是否为DelayReq请求报文,如果接收到的报文内容中的报文 类型值和DelayReq请求报文对应的本地默认值相同,判断为DelayReq 请求报文,并接收。并在接收DelayReq请求报文时记录本地时间以及请 求从时钟的物理地址和IP地址,然后以单播形式向相应的从时钟反馈 DelayResp响应t艮文。如图3,本发明方法针对主时钟本地系统时间计时具体实施方式
详细 描述为主时钟为子网中最精准时钟,当歩长时间使能信号为l时,在原有的 系统时间基础上加上一个时间歩长,此时间歩长可通过寄存器进行配置。如图4,本发明方法针对从时钟本地系统时间计时具体实施方式
详细 描述为对于从时钟,除了要完成系统时间计数功能以外,还要进行时间纠偏, 即从时钟加上和主时钟之间的时间偏差,以期达到和主时钟时间同步。从时钟每收到一条Sync同步报文,启动一次同步计算,当步长使能信号 为1时,在原有的系统时间基础上增加一个时钟周期的数值,此时间步 长可通过寄存器进行配置。当同步计算启动时,若本地从时钟和主时钟 之间的真实偏差不为0,则在原有的系统时间基础上减去此时间偏差,对 从时钟进行纠偏。本地从时钟和主时钟之间的真实偏差通过下列方法得 到从时钟将收到Sync同步报文时的时间减去发送Sync同步报文时的 时间,得到的时间差记为dl;再将收到DelayReq请求报文时的时间减去 发送DelayReq请求报文时的时间,得到的时间差记为d2; dl_d2即为本 地从时钟和主时钟之间的真实偏差。如图5,本发明方法针对主时钟最优主时钟选择具体实施方式
详细描 述为主时钟若收到同歩Sync报文,则表明子网中存在另一主时钟,此主 时钟会和它进行比较,若优先级比它高,则子网中的主时钟仍不变,若 优先级相同且IP比它小,则子网中的主时钟也不会改变,否则子网中的 主时钟会被更新,这是为了保证子网中经过一定的算法比较后使得任何 时候只存在一个主时钟。如图6,本发明方法针对从时钟最优主时钟选择具体实施方式
详细描 述为从时钟收到同步Sync报文,会首先和自己之前认定的主时钟的特性 进行比较,以判定此Sync报文是否来自另一主时钟。若是则比较这两个 主时钟的优先级,优先级更高的成为新的被本从时钟认定的主时钟,否 则本从时钟和子网中认定的主时钟进行比较,优先级若比主时钟高,则 子网中的主时钟改变,此从时钟成为子网中新的主时钟,否则子网中的 主时钟不变。
权利要求
1、一种基于IEEE1588协议的高精度实时同步方法,其特征在于该方法包括以下内容A.发送报文、B.接收报文、C.本地系统时间纠偏、D.最优主时钟选择、所述内容A具体为A1.如果对应设备为主时钟,则可以发送Sync同步报文、FollowUp报文和DelayResp响应报文,具体地A1-1.Sync同步报文以组播形式在所设定的时间周期进行发送,通过计时器决定周期发送使能信号;A1-2.紧跟Sync同步报文后立即以组播形式周期发送FollowUp报文,FollowUp报文内容中包含Sync同步报文发送时的主时钟本地时间;A1-3.主时钟接收到从时钟发来的DelayReq请求报文后,向从时钟以单播形式发送DelayResp响应报文;A2.如果对应设备为从时钟,则可以发送DelayReq请求报文,具体地A2-1.每台从时钟发送DelayReq请求报文的时间不同;A2-2.从时钟发送DelayReq请求报文时记录本地的时间;所述内容B具体为B1.如果对应设备为主时钟,则可以接收DelayReq 请求报文,具体地B1-1.主时钟在接收DelayReq请求报文时记录本地时间以及请求从时钟的物理地址和IP地址,完成步骤A1-3中的响应报文的反馈;B1-2.根据接收到的报文内容中的报文类型值,主时钟判断接收到的报文是否为DelayReq请求报文,如果接收到的报文内容中的报文类型值和DelayReq请求报文对应的本地默认值相同,判断为DelayReq请求报文,并接收;B2.如果对应设备为从时钟,则可以接收Sync同步报文、FollowUp报文和DelayResp响应报文,具体地B2-1.从时钟通过接收到的报文内容中的报文类型值不同来区分这三种报文,如果接收到的报文内容中的报文类型值和相应的三种本地默认值相同,判断为相应的报文;B2-2.从时钟在收到Sync同步报文时记录本地时间;B2-3.从时钟在收到FollowUp报文时,从FollowUp报文内容中提取出Sync同步报文的发送时间;B2-4.从时钟在收到DelayResp报文时,从DelayResp报文内容中提取出步骤B1-1中主时钟所记下的接收到DelayReq报文时所记录的本地时间;所述内容C具体为C1.如果对应设备为主时钟,则主时钟完成系统时间计数,具体地C1-1.每当计数使能为1时,把原来的系统时间增加一个时钟周期的数值;C2.如果对应设备为从时钟,则除了要完成系统时间计数功能以外,还要进行时间纠偏,即从时钟加上和主时钟之间的时间偏差,具体地C2-1.每当计数使能为1时,从时钟亦要把原来的系统时间增加一个时钟周期的数值;C2-2.从时钟将步骤B2-2记录的时间减去步骤B2-3提取的时间后的时间差作为自己和主时钟之间的时间偏差,该时间偏差包含网络传输造成的延时;C2-3.从时钟将步骤B2-4提取的时间减去步骤A2-2记录的时间后的时间差作为网络传输造成的延时;C2-4.从时钟将步骤C2-2确定的时间偏差减去步骤C2-3确定的延时后的时间差作为自己和主时钟之间的真实偏差;C2-5.从时钟根据步骤C2-4中的真实偏差,完成纠偏功能,即从时钟加上和主时钟之间的时间偏差,以和主时钟时间同步;所述内容D具体为D1.如果对应设备为从时钟,则每收到一条同步Sync报文即启动最优主时钟选择,从时钟根据同步Sync报文内容中的时钟优先级值和IP地址来作判断,如果自己的优先级值比网络中所认为的主时钟优先级值更小,则本地从时钟将成为网络中新的主时钟;如果相同,则比较两者的IP地址值,更小IP地址值的将成为网络中的主时钟;如果大于,则网络中的主时钟不改变;D2.如果对应设备为主时钟,当网络中存在新的主时钟后,则本地主时钟转换成从时钟状态。
全文摘要
本发明涉及一种基于IEEE1588的PTP精确时钟同步协议来产生的实时同步方法。IEEE1588协议目前在硬件上的研究尚处于空白状态。本发明方法包括发送报文、接收报文、本地系统时间纠偏、最优主时钟选择。并且当对应设备为主时钟或从时钟时,其同步动作不同。本发明的硬件实现方式使以太网技术所固有的数据传输时间波动降低到可以接收的,不影响控制精度的范围,从而解决了分布式网络系统中时钟的统一性和精准性问题。
文档编号H04L29/06GK101232457SQ200810059859
公开日2008年7月30日 申请日期2008年2月22日 优先权日2008年2月22日
发明者廉玉平, 艳 张, 陈金龙, 霍明旭, 雁 韩 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1