一种链状网络的实时通信与时钟同步方法

文档序号:7903370阅读:277来源:国知局
专利名称:一种链状网络的实时通信与时钟同步方法
技术领域
本发明涉及一种实时通信与时钟同步方法,尤其涉及一种基于集总帧和透明时钟的链状网络的实时通信与同步方法。
背景技术
以太网由于其开放性好、应用广泛及价格低廉的特点,已越来越多地被用于工业现场通信。与传统的商业以太网相比,应用于工业现场的以太网信息传输系统要求具有更高的实时性,进而对作为网络信息传输实时性基础的系统时钟同步也提出了更高的要求。目前的以太网信息传输系统中多节点的时钟同步普遍采用IEEE 1588协议,其基本功能是使分布式网络内的其他时钟与最精确时钟保持同步。IEEE 1588协议中定义了一种精确时间协议(PTP,Precision Time ftOtocol),用于对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备的时钟进行亚微秒级同步。透明时钟模式是IEEE1588v2协议的一种工作方式,其通过计算同步报文在中间设备的驻留时间,对IEEE1588协议报文进行修正和转发处理,以实现报文在中间设备的透明传输,改善网络对称性,并减小设备级联带来的同步误差累积,从而可以更为精确地进行时钟同步。申请号为200710014419. 2,公开号为CN1010173A,发明名称为“一种实时以太网链状网络节点间同步的装置和方法”的中国专利申请提出了一种时间同步方法。在该方法中,各节点测量自己与最后一个节点间的网络延时。第一个网络节点周期性地发送同步报文,各节点在收到该同步报文后延时特定的时间后动作,以实现网络节点间动作的同步性。 在该方法中,各节点内用于延时计时的定时器的频率存在差异,且没有进行必要的频率补偿,因此,该方法的同步精度不高,若定时器采用普通晶振,则只能实现微秒级同步。申请号为200910169537. X,公开号为CN101692632,发明名称为“一种支持透传时钟的装置及方法”的中国专利申请,提出了一种支持透明时钟的方法及装置。但该方法主要用于IP传输设备,需要在本地IP传输设备上额外增加透传时钟装置,从而增加了系统成本和消息处理转发时间,难以满足工业控制网络的实时性要求。申请号为200810217520. 2,公开号为CN101404618A,发明名称为“实现精确时钟同步协议中透传时钟的系统、装置和方法”的中国专利申请,公开了一种实现透明时钟的方法。该方法主要用于路由交换设备,为了获取精确的时间戳和驻留时间,需要在路由交换设备前、后各增加一个透传时钟装置,从而增大了系统的数据通信周期,降低了系统的实时性。上述技术方案均没有考虑时钟同步在以太网链状网络上实施时的实时通信调度问题。在实际应用中,各设备之间不仅要完成时钟同步所需的延时测量、时钟偏差纠正、频率补偿等工作,还需周期性地进行实时通信。若不采用合理的实时通信调度,上述步骤间就会互相干扰,从而使系统通信出现故障,实时性和同步性遭到破坏
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种链状网络的实时通信与时钟同步方法,集合了集总帧传输效率高和透明时钟累积误差小的优点,解决了两者结合所带来的实时通信调度问题,也即带宽分配问题,从而实现了高效率的数据传输和各设备之间的实时通信和高精度时钟同步,满足了工业以太网强实时性和高精度时钟同步的要求。为实现上述目的,本发明提供了一种链状网络的实时通信与时钟同步方法,应用于以太网信息传输系统中,所述系统包括一个主设备和多个从设备,包括以下步骤A、所述主设备对各从设备进行枚举和配置,开启所述各从设备的转发功能,形成以太网链状网络结构;B、所述主设备与所述从设备之间,或者所述从设备之间通过交换延时请求报文和延时应答报文,来获取相关的时间戳,再计算当前设备与下一从设备之间的线路延时并将所述线路延时储存在所述当前设备中;C、所述主设备发送纠正初始偏差信号报文,所述各从设备接收到所述纠正初始偏差信号报文后,依次完成对本地时钟的初始偏差纠正;D、所述主设备与所述各从设备之间以集总帧的形式来进行周期性地实时通信,时钟同步过程嵌在实时通信过程之中。进一步地,所述步骤A进一步包括以下步骤Al、所述主设备发送配置报文OxOlAF,其中,所述配置报文的低字节表示报文类型,所述配置报文的高字节表示从设备号;A2、与所述主设备相连的第一从设备收到所述配置报文后,将所述第一从设备编号为01并开启所述第一从设备的转发功能,所述第一从设备将所述配置报文修改为 0x02AF后,转发给下一从设备,并向所述主设备发送第一配置反馈报文OxOlBF;A3、与所述第一从设备相连的第二从设备收到所述配置报文后,将所述第二从设备编号为02并开启所述第二从设备的转发功能,所述第二从设备将所述配置报文修改为 0x03AF后,转发给下一从设备,并向所述主设备发送第二配置反馈报文0x02BF;A4、以此类推,直至所有从设备均完成网络配置。进一步地,所述步骤B进一步包括以下步骤Bi、所述主设备向所述第一从设备发送第一延时请求报文,并记录对应的发送时间作为延时请求发送时间戳tMDelayJte(1 ;所述第一从设备接收所述延时请求报文时记录对应的接收时间作为延时请求接收时间戳、;所述第一从设备解析所述延时请求报文后,向所述主设备发送延时应答报文,并记录对应的发送时间作为延时应答发送时间戳 、—所述延时请求接收时间戳、—z^—M和所述延时应答发送时间戳、—z^—一随所述延时应答报文一起发送给所述主设备;所述主设备收到所述延时应答报文时记录对应的接收时间作为延时应答接收时间戳tMJtelayltesp ;所述主设备根据所述延时请求发送时间戳、 所述延时请求接收时间戳、所述延时应答发送时间戳和所述延时应答接收时间戳,计算出所述第一从设备与所述主设备之间的线路延时Delay1并储存在所述主设备中;B2、所述第一从设备向所述主设备发送延时应答报文的同时,向所述第二从设备发送第二延时请求报文,记录第二延时请求发送时间戳所述第二从设备接收到所述第二延时请求报后重复第一从设备的步骤,并得到第二延时请求接收时间戳tS2 _Delay_Req、第二延时应答发送时间戳、_ Delay _Rs Sp 和第二延时应答接收时间戳述第一从设备根据所述第二延时请求发送时间戳、所述第二延时请求接收时间戳、所述第二延时应答发送时间戳和所述第二延时应答接收时间戳,计算出所述第二从设备与所述第一从设备之间的线路延时Delay2并储存在所述第一从设备中;B3、以此类推,计算得出所述第K从设备与第k-Ι从设备之间的线路延时Delayk并储存在所述第k-Ι从设备中,直到计算出所述链状网络结构最末端的从设备与其前一个从设备之间的线路延时,其中,k > 2。进一步地,所述Delayk的计算公式为
H^S1 Delay Req _ ^M Delay Req) + i^M Delay Resp _ ^S1 Delay Resp)) Z 2,k — 1 日寸
^S1 Delay Req _Delay Re q) +Delay Resp _ ^S1 Delay Resp)) ^ ^ — 2 时其中k为设备编号。进一步地,所述步骤C进一步包括以下步骤Cl、所述主设备发送纠正初始偏差信号报文,所述纠正初始偏差信号报文带有发送时间戳tM
和所述主设备到所述第一从设备的端到端延时;C2、第k从设备接收到所述纠正初始偏差信号报文时记录对应的接收时间戳 [°],所述第k从设备解析所述纠正初始偏差信号报文后,提取出所述发送时间戳tM

所述端到端延时,并将所述纠正初始偏差信号报文转发给第k+Ι从设备;记录转发时间作为所述第k从设备发送所述纠正初始偏差信号报文的发送时间戳,在所述第k从设备转发给所述第k+Ι从设备的所述纠正初始偏差信号报文中,将所述第k从设备中的驻留时间、所述第k从设备与所述第k+Ι从设备之间的线路延时累加到中, 得到所述主设备到所述第k+Ι从设备的端到端延时,并用所述主设备到所述第k+Ι从设备的端到端延时Α^μ&Ρ]替代;然后,所述第k从设备纠正初始偏差,其中,k彡2;C3、对每个从设备纠正初始偏差,直至所述链状网络结构最末端的从设备完成纠正初始偏差。进一步地,所述第k从设备纠正初始偏差进一步为所述第k从设备将当前本地时钟 Currenttimek 纠正为Q
+ Delayuto8i
+ (Currenttimek - ^
)。进一步地,所述集总帧包括前导符、帧首定界符、帧类型、从设备数据窗口、同步数据窗口和帧检验序列。所述前导符、帧首定界符和帧检验序列与标准以太网帧相同;所述帧类型用于区别该集总帧是否带有同步数据;所述从设备数据窗口根据从设备数量η分为 η段,每段包括从设备编号、周期性数据(包括控制指令和实时反馈信息)和非周期性数据 (报警信息和用户定义的非周期数据);所述同步数据窗口包括时间戳和端到端延时。进一步地,所述步骤D进一步包括以下步骤D1、每隔预定时间,实时通信报文的所述同步数据窗口带有所述主设备的发送端到所述第一从设备的接收端的延时和发送时间戳tM[N],其中,N表示第N次同步过程,N≥1 ;
D2、第k从设备接收到所述实时通信报文时,记录对应的接收时间戳、[ΛΠ,所述第k从设备解析所述实时通信报文,并提取出[ΛΠ和tM[N]后,将所述实时通信报文转发给第k+Ι从设备,记录对应的转发时间戳[Α ;在所述k从设备转发给所述k+Ι从设备的所述实时通信报文中,将所述第k从设备中的驻留时间、所述第k从设备与所述第 k+Ι从设备之间的线路延时累加到中,得到所述主设备到所述第k+Ι从设备的
端到端延时,并用所述端到端延时^^替代所述实时通信报文中的 DelayMtoSt[N];D3、对所述第k从设备进行时钟校准,直至所述链状网络结构最末端的从设备完成对本地时钟的时钟校准。进一步地,当所述主设备发送实时通信报文时,所述集总帧的所述同步数据窗口的长度为0字节;当所述主设备发送同步报文时,带有端到端延时和所述主设备的发送时间戳的所述同步数据窗口的长度为6字节。本发明的有益效果在于本发明的方法采用集总帧的方式避免带宽冲突,最大化地利用以太网带宽进行用户数据传输。本发明的方法采用IEEE1588精确时钟同步协议中的透明时钟来解决以太网链状网络中的时钟同步问题,可以减小多级级联的累积同步误差,实现高精度时钟同步。本发明的方法将线路延时测量放在初始化阶段进行,并通过对集总帧进行配置, 使主设备不用发送专门的同步报文即可完成时钟同步,解决了集总帧实时通信方式和透明时钟同步过程结合所带来的实时调度问题,满足了工业以太网强实时性和高精度时钟同步的要求。以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。


图1为本发明的一个实施例的以太网信息传输系统的结构示意图。图2为本发明的一个实施例的实时通信与时钟同步方法的过程示意图。图3为本发明的一个实施例的集总帧的结构示意图。
具体实施例方式如图1所示,在本实施例中,以太网信息传输系统包括1个主设备和η个从设备 (η >2)。在本实施例中,假设有4个从设备。以太网信息传输系统采用环型拓扑结构,各设备之间通过长度为3米的双绞线连接。主设备的时钟作为整个网络系统的时钟源,而在各从设备中可构建频率可调的时钟计数器。在本实施例中,以太网信息传输系统的用户层协议通过DSP实现。DSP采用Texas Instruments公司的TMS320F2812芯片,除了芯片自带的flash存储区之外,以太网信息传输系统利用扩展的SRAM-IS61LV51216作为DSP运行的数据存储区。在本实施例中,采用FPGA作为系统的数据链路层,并在其中构建频率可调的时钟计数器。具体而言,FPGA为Altera公司生产的Cyclone II系列芯片,型号为EP8C8Q208I8N。在本实施例中,物理层通过htel公司的LXT973芯片实现,该芯片带有2个通信端口,且支持双绞线和光纤通信两种通信媒介。图2为本发明的一个实施例的实时通信与时钟同步方法的过程示意图。本发明的实时通信与时钟同步方法包括以下步骤A、以太网链状网络结构的配置;在网络配置开始之前,各从设备未编号,且各从设备的内部转发功能关闭,整个网络断开。系统上电,网络初始化后,主设备发送配置报文OxOlAF(低字节表示报文类型,AF 为网络初始化配置报文;高字节表示从设备号)。与主设备相连的从设备收到此配置报文后,将当前从设备编号为01,并开启当前从设备的转发功能。当前从设备将配置报文修改为0x02AF后,转发给下一从设备,并向主设备发送配置反馈报文OxOlBF。与1号从设备相连的从设备收到配置报文后,将当前从设备编号为02,并开启当前从设备的转发功能。当前从设备将配置报文修改为0x03AF后,转发给下一从设备,并向主设备发送配置反馈报文0x02BF。以此类推,所有从设备均做类似操作,直到最后一个从设备完成网络配置。每个从设备的编号各自存储在其自身中。B、透明时钟中线路延时的单次测量;主设备向1号从设备发送延时请求报文Delay_Req,并记录其对应的发送时间作为延时请求发送时间戳tM Delay Krai。1号从设备接收此延时请求报文时,记录其对应的接收时间作为延时请求接收时间戳、—MmM。1号从设备解析此延时请求报文后,向主设备发送延时应答报文Delay_ReSp,并记录对应的发送时间作为延时应答发送时间戳、—Rw。延时请求接收时间戳、和延时应答发送时间戳、随延时应答报文Delay_Resp 一起发送给主设备。主设备收到延时应答报文Delay_ReSp时,记录对应的接收时间作为延时应答接收时间戳tM
Delay_Resp°主设备根据上述四个时间戳,也即tM—Delay—_、、—υ——―、、—υ——和 tM—Delay—Kesp, 计算出1号从设备与主设备之间的线路延时Delay1,并储存在主设备中。在1号从设备与2号从设备之间做类似操作,可计算出2号从设备与1号从设备之间的线路延时Delay2,并将其储存在1号从设备中。以此类推,直到测出η号从设备与η-1号从设备(在本实施例中,为4号从设备与 3号从设备)之间的线路延时。其中,线路延时Delayk的计算公式为
权利要求
1.一种链状网络的实时通信与时钟同步方法,应用于以太网信息传输系统中,所述系统包括一个主设备和多个从设备,其特征在于,包括以下步骤A、所述主设备对各从设备进行枚举和配置,开启所述各从设备的转发功能,形成以太网链状网络结构;B、所述主设备与所述从设备之间,或者所述从设备之间通过交换延时请求报文和延时应答报文,来获取相关的时间戳,再计算当前设备与下一从设备之间的线路延时并将所述线路延时储存在所述当前设备中;C、所述主设备发送纠正初始偏差信号报文,所述各从设备接收到所述纠正初始偏差信号报文后,依次完成对本地时钟的初始偏差纠正;D、所述主设备与所述各从设备之间以集总帧的形式来进行周期性地实时通信,时钟同步过程嵌在实时通信过程之中。
2.如权利要求1所述的链状网络的实时通信与时钟同步方法,其中所述步骤A进一步包括以下步骤Al、所述主设备发送配置报文OxOlAF,其中,所述配置报文的低字节表示报文类型,所述配置报文的高字节表示从设备号;A2、与所述主设备相连的第一从设备收到所述配置报文后,将所述第一从设备编号为 01并开启所述第一从设备的转发功能,所述第一从设备将所述配置报文修改为0X02AF后, 转发给下一从设备,并向所述主设备发送第一配置反馈报文OxOlBF ;A3、与所述第一从设备相连的第二从设备收到所述配置报文后,将所述第二从设备编号为02并开启所述第二从设备的转发功能,所述第二从设备将所述配置报文修改为 0x03AF后,转发给下一从设备,并向所述主设备发送第二配置反馈报文0x02BF ;A4、以此类推,直至所有从设备均完成网络配置。
3.如权利要求1或2所述的链状网络的实时通信与时钟同步方法,其中所述步骤B进一步包括以下步骤Bi、所述主设备向所述第一从设备发送第一延时请求报文,并记录对应的发送时间作为延时请求发送时间戳tM DelayJte(1 ;所述第一从设备接收所述延时请求报文时记录对应的接收时间作为延时请求接收时间戳、—^ ;所述第一从设备解析所述延时请求报文后,向所述主设备发送延时应答报文,并记录对应的发送时间作为延时应答发送时间戳 、—ZXR-;所述延时请求接收时间戳、所述延时应答发送时间戳、—IX一随所述延时应答报文一起发送给所述主设备;所述主设备收到所述延时应答报文时记录对应的接收时间作为延时应答接收时间戳tM DelayJtesp ;所述主设备根据所述延时请求发送时间戳、 所述延时请求接收时间戳、所述延时应答发送时间戳和所述延时应答接收时间戳,计算出所述第一从设备与所述主设备之间的线路延时Delay1并储存在所述主设备中;B2、所述第一从设备向所述主设备发送延时应答报文的同时,向所述第二从设备发送第二延时请求报文,记录第二延时请求发送时间戳^―—;所述第二从设备接收到所述第二延时请求报后重复第一从设备的步骤,并得到第二延时请求接收时间戳、第二延时应答发送时间戳&, Delay _R& Sp 和第二延时应答接收时间戳;所述第一从设备根据所述第二延时请求发送时间戳、所述第二延时请求接收时间戳、所述第二延时应答发送时间戳和所述第二延时应答接收时间戳,计算出所述第二从设备与所述第一从设备之间的线路延时Delay2并储存在所述第一从设备中;B3、以此类推,计算得出所述第K从设备与第k-Ι从设备之间的线路延时Delayk并储存在所述第k-Ι从设备中,直到计算出所述链状网络结构最末端的从设备与其前一个从设备之间的线路延时,其中,k > 2。
4.如权利要求3所述的链状网络的实时通信与时钟同步方法,其中所述Delayk的计算公式为
5.如权利要求4所述的链状网络的实时通信与时钟同步方法,其中所述步骤C进一步包括以下步骤Cl、所述主设备发送纠正初始偏差信号报文,所述纠正初始偏差信号报文带有发送时间戳tM
和所述主设备到所述第一从设备的端到端延时;C2、第k从设备接收到所述纠正初始偏差信号报文时记录对应的接收时间戳、
,所述第k从设备解析所述纠正初始偏差信号报文后,提取出所述发送时间戳tM
和所述端到端延时,并将所述纠正初始偏差信号报文转发给第k+Ι从设备;记录转发时间作为所述第k从设备发送所述纠正初始偏差信号报文的发送时间戳Z5i
,在所述第k从设备转发给所述第k+Ι从设备的所述纠正初始偏差信号报文中,将所述第k从设备中的驻留时间、所述第k从设备与所述第k+Ι从设备之间的线路延时累加到中,得到所述主设备到所述第k+Ι从设备的端到端延时D^^^JO],并用所述主设备到所述第k+Ι从设备的端到端延时替代;然后,所述第k从设备纠正初始偏差,其中,k彡2 ;C3、对每个从设备纠正初始偏差,直至所述链状网络结构最末端的从设备完成纠正初始偏差。
6.如权利要求5所述的链状网络的实时通信与时钟同步方法,其中所述第k从设备纠正初始偏差进一步为所述第k从设备将当前本地时钟Currenttimq纠正为 tM[°] + DelayMtoSi
+ (Currenttimek -、
)。
7.如权利要求1或6所述的链状网络的实时通信与时钟同步方法,其中所述集总帧包括前导符、帧首定界符、帧类型、从设备数据窗口、同步数据窗口和帧检验序列;所述前导符、所述帧首定界符和所述帧检验序列分别与标准以太网帧的前导符、帧首定界符和帧检验序列相同;所述帧类型用于区别所述集总帧是否带有同步数据;所述从设备数据窗口根据所述从设备的数量划分为多段,每段包括从设备编号、周期性数据和非周期性数据;所述同步数据窗口包括时间戳和端到端延时。
8.如权利要求7所述的链状网络的实时通信与时钟同步方法,其中所述步骤D进一步包括以下步骤D1、每隔预定时间,实时通信报文的所述同步数据窗口带有所述主设备的发送端到所述第一从设备的接收端的延时和发送时间戳tM[N],其中,N表示第N次同步过程,N彡0 ;D2、第k从设备接收到所述实时通信报文时,记录对应的接收时间戳、[#],所述第k 从设备解析所述实时通信报文,并提取出Ρβ/φ^^^ΛΠ和tM[N]后,将所述实时通信报文转发给第k+Ι从设备,记录对应的转发时间戳^[Λ ;在所述第k从设备转发给所述第k+Ι从设备的所述实时通信报文中,将所述第k从设备中的驻留时间、所述第k从设备与所述第 k+Ι从设备之间的线路延时累加到中,得到所述主设备到所述第k+Ι从设备的端到端延时,并用所述端到端延时^^替代所述实时通信报文中的DelayMtostW ;D3、对所述第k从设备进行时钟校准,直至所述链状网络结构最末端的从设备完成对本地时钟的时钟校准。
9.如权利要求8所述的链状网络的实时通信与时钟同步方法,其中当所述主设备发送实时通信报文时,所述集总帧的所述同步数据窗口的长度为0字节;当所述主设备发送同步报文时,带有端到端延时和所述主设备的发送时间戳的所述同步数据窗口的长度为6字节。
全文摘要
本发明公开了一种链状网络的实时通信与时钟同步方法,包括以下步骤A、主设备对各从设备进行枚举和配置,开启各从设备的转发功能,形成以太网链状网络结构;B、主设备与从设备之间,或者从设备之间通过交换延时请求报文和延时应答报文,来获取相关的时间戳,再计算当前设备与下一从设备之间的线路延时并将线路延时储存在当前设备中;C、主设备发送纠正初始偏差信号报文,各从设备接收到纠正初始偏差信号报文后,依次完成对本地时钟的初始偏差纠正;D、主设备与各从设备之间以集总帧的形式来进行周期性地实时通信,时钟同步过程嵌在实时通信过程之中。本发明的方法解决了两者结合所带来的实时通信调度问题。
文档编号H04L7/00GK102332973SQ201110264368
公开日2012年1月25日 申请日期2011年9月7日 优先权日2011年9月7日
发明者丁懋卿, 丁汉, 吴建华, 熊振华, 许雄 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1