一种实现以太网链状网络节点间同步的装置和方法

文档序号:7644518阅读:346来源:国知局
专利名称:一种实现以太网链状网络节点间同步的装置和方法
技术领域
本发明涉及一种在以太网链状网络结构中实现各网络节点间精确同步动作的方法和装置,尤其涉及一种在高性能集中式控制网络系统中,控制器采用标准网卡,即可实现以太网链状网络节点间同步的装置和方法。
背景技术
在现场级通信中,有的系统对通信节点间的同步性有严格的要求,比如在运动控制中,各轴的同步性就是一个非常重要的因素。在某一时刻,各轴必须同时锁存当前的状态,控制器根据当前各轴的状态作规划、插补运算,在下一个周期时各轴根据规划数据作同步控制运动,各轴的运动是严格同步的。
现有的解决方案为网络上的所有站点必须通过精确的时钟同步以实现同步以太网。例如Internet网络时间协议NTP(Network Time Protocal)、简单时间网络协议SNTP(SimpleNetwork Time Protocal)、IEEE1588标准精确时间协议PTP(Precision Time Protocal),周期性的通过发送带有时间戳协议的同步数据包实现通信循环的同步。Internet网络时间协议NTP、简单时间网络协议SNTP精度较低,只能达到几十ms的精度要求。
IEEE1588将整个网络内的时钟分为普通时钟OC和边界时钟BC,只有一个PTP通信端口上的时钟为普通时钟,每个PTP端口提供独立的PTP通信。其中边界时钟通常用在确定性较差的网络设备如交换机和路由器上。从通信关系上又把时钟分为主时钟和从时钟,理论上任何时钟都能实现主时钟和从时钟的功能,但一个PTP通信子网内只能有一个主时钟。整个系统中的最优时钟为最高级时钟GMC,有着最好的稳定性、精确性、确定性等。根据各节点上时钟的精度和级别以及UTC(通用协调时间)的可追溯性等特性,由最佳主时钟算法来自动选择各子网内的主时钟。在只有一个子网的系统中,主时钟就是GMC。每个系统只有一个GMC,且每个子网内只有一个主时钟,从时钟与主时钟保持同步。PTP通信中的报文包括同步报文,跟随报文,延迟请求报文,延迟应答报文和管理报文等。PTP协议基于同步数据包被传播和接收时的最精确的匹配时间,每个从时钟通过与主时钟达到同步。这个同步过程分为两个阶段偏移测量阶段和延迟测量阶段。第一阶段修正主时钟与从时钟之间的时间偏差,称为偏移测量。在修正偏移量的过程中,主时钟按照定义的间隔时间周期性地向相应的从时钟发出唯一的同步报文。这个同步报文包括该报文离开主时钟的时间估计值,主时钟测量传递的精确时间TM1,从时钟测量接收的准确时间TS1。之后主时钟发出第二条报文一跟随报文(Follow_Up Message),此报文与同步报文相关联,且包含同步报文放到PTP通信路径上得更为精确的估计值。这样,对传递和接收的测量与标准时间戳的传播可以分离开来。从时钟根据同步报文和跟随报文中的信息来计算偏移量,然后按照偏移量来修正从时钟的时间,如果在传输路径中没有延迟,那么两个时钟就会同步。为了提高修正精度,可以把主时钟到从时钟的报文传输延迟等待时间考虑进来,即延迟测量,这是同步过程的第二阶段,从时钟向主时钟发送一个“延迟请求”数据包,在这个过程中决定该报文传输准确时间TS3。主时钟对接收数据包打上一个时间戳TM3送回到从时钟。根据传递时间戳TS3和主时钟提供的接收时间戳TM3,从时钟计算与主时钟之间的延迟时间。与偏移测量不同,延迟测量是不规则进行的,其测量间隔时间(缺省4到60秒之间的随机值)比偏移值测量间隔时间大。这样使得网络尤其是设备终端的负荷不会太大。采用这种同步过程,消减PTP协议栈中的时间波动和主从时钟间的等待时间。在要求同步精度为微秒级的场合,想要获得如此高的同步定时,单纯靠软件是无法实现的,必须依靠网络第二层(数据链路层)中硬件的支持,即等时实时ASIC芯片。这种方式在周期性实时通信中,将严重增加传输的负担,依靠等时实时ASIC芯片,又增加了系统成本。
美国专利“Reduced pin-count 10Base-T MAC to transceiver interface”,专利号为5953345,提供了一种以太网中实现时钟同步的技术,该技术利用一个公共时钟信号和同步脉冲,利用单独的线来连接到网络节点的PHY收发器和MAC控制器中。在实际应用中,该方法不适用,因为采用单独的线增加了系统成本。
美国专利‘CLOCK SYNCHRONIZING METHOD OVER FAULT-TOLERANT ETHERNET’,公开号为US 2003/235216A1,公开了一种在控制系统中同步各网络节点的方法,每个网络节点包括一个主计算机和一个收发器。方法为监视一个包含时间戳信息的主时间数据包。在主模式下,主计算机提供一个数据报到收发器,在监听模式下,收发器保存一个带时间戳的数据包并通知到主计算机,在主时间模式时,用当地计时器中的值替代监视到的时间戳的值,主计算机把已替换时间戳的数据包发送到接收器。该方案提供了在PHY收发器和MAC控制层间增加一个处理时间戳的电路,以实现时钟的同步性。
在SERCOS iii中,提供了一种在环形网络结构中实现节点间时钟同步的方式,控制器发送一个特定的同步报文,第一个节点收到该报文后修正自己的定时器,并转发该同步报文到下一个节点,这样每个节点都收到转发的同步报文,并修正自己的定时器。时钟同步的整个过程是以最后一个节点收到该同步报文并修正定时器为结束的,这样,由于在报文传输过程中的延时,使得各节点的定时器不够准确。
美国专利“System for motion control,method of using the system for motion control,and computer readable instructions for use with the system for motion control”,专利号为7024257,提供了每个网络节点上有存储器,用来配置保存控制器与节点间相应的传输延迟,主控制器发送一个时间信息给各节点,各节点利用延迟修正电路,实现接收数据和动作的同步性。这种方法要求控制器具有严格的定时功能,但仅靠标准网卡是做不到的,必须靠专用设备,这就造成了控制器的封闭性,不能兼容别的厂家的产品,并提高了成本。

发明内容
本发明的目的就是为了解决目前在以太网链状网络结构中实现各网络节点间精确同步动作时成本较高,不能兼容不同厂家产品,增加使用成本等问题,提供一种实现以太网链状网络节点间同步的装置和方法,它具有结构简单,使用方便等优点,解决了目前以太网链状网络结构中网络节点间同步依赖主控制器,造成各厂家控制系统封闭、不兼容的问题。
为实现上述目的,本发明采用如下技术方案一种实现以太网链状网络节点间同步的装置,它包括至少一个控制器和若干个网络节点,控制器能枚举和配置各网络节点,控制器分配给各网络节点一个单独的节点号,所述控制器具有至少一个通信接口,各节点具有至少两个通信接口,控制器的通信接口通过数据线连接到某节点的一个通信接口上,然后该节点的另一个通信接口通过数据线连接到下一个节点的一个通信接口上,这样彼此连接下去,形成一个链状网络结构;在各节点上还设有定时器。
所述控制器为标准网卡,其发送的控制报文为IEEE802.3协议规范的报文结构;各节点采用dual PHY和带MAC IP核的FPGA作为网络通信接口;在各网络节点中均设有一个PLL电路,各晶振信号经过该PLL电路后再产生时钟信号,以消除各网络节点间的时钟信号抖动的影响。
一种实现以太网链状网络节点间同步的方法,它的方法为,(1)系统上电后,控制器对各网络节点进行自检,控制器发送一个查询报文,第一个网络节点首先接收到此查询报文,然后转发此查询报文,并发送自己的应答报文,将自己的设备号初始化为0;各网络节点在收到查询报文后依次转发此查询报文,并发送自己的应答报文和将自己的设备号初始化为0,直到最后一个网络节点;最后一个网络节点可以通过拨码开关或者其他的装置来确定,该最后一个网络节点收到此查询报文后,发送自己的应答报文,包含为最后一个网络节点的信息,并将自己的设备号初始化为0,控制器收到最后一个网络节点的应答报文后,说明系统连接可靠和各设备正常工作;若控制器在发送完查询报文后,在设定时间内收不到最后一个网络节点的应答报文,将报告错误,说明有故障;(2)自检通过后,控制器对各网络节点进行枚举和配置;(3)然后,控制器发送一个测量网络时间延迟的控制报文通知各网络节点,第一个网络节点发送一个特定的报文,各网络节点转发该特定报文,测量自己与最后一个网络节点间的网络时间延迟;(4)进入网络周期性工作阶段,第一个网络节点周期性地发送一个同步报文,各网络节点在接收到该同步报文后将转发此同步报文到下一个网络节点,各网络节点收到该同步报文后,延迟一定的时间以补偿网络时间延迟,然后动作,实现网络节点间动作同步性;(5)其他的各网络节点的定时器也设定初始参数值,该初始参数为测量网络节点间网络时间延迟中测得的该网络节点相对于最后一个网络节点的网络时间延迟;各网络节点在收到同步报文后,触发定时器,该定时器在时钟信号的驱动下,开始计时,到设定的初时参数后,产生一个中断信号,网络节点根据该中断信号锁存当前的状态并按照控制报文的命令动作,并将当前的状态信息以报文的形式发送到控制器;控制器收到各网络节点的状态信息后,然后作数据规划,并将规划的数据以数据报文的形式在该周期发送到各网络节点;各网络节点在收到数据报文后,在下一周期按照同样的方式动作;这样周期往复下去,实现系统正常的周期数据交换和同步动作。
所述步骤3)中测量网络时间延迟的控制报文结构为IEEE802.3协议规范,其组成包括前导符7bytes、分割符1byte、目的地址6bytes、源地址6bytes、长度/类型字段2bytes、数据段46-1500bytes、帧校验序列域4bytes,其中数据段又分为两个bytes的控制器报文标志,紧跟着的一个byte用来区分控制报文的不同控制信息的控制类型标志,其余为控制报文的数据信息。
所述步骤3)中测量网络节点间网络时间延迟方法为,各节点收到控制报文后,将定时器清零,第一个网络节点向下一个网络节点发送一个特定的报文,并触发自己的定时器开始计时;第二个网络节点收到该特定报文后向下一个网络节点转发此报文,并触发自己的定时器开始计时;这样向下转发下去,直到最后一个网络节点;最后一个网络节点收到该特定报文后将向上一个网络节点转发该特定报文,上一个网络节点收到该特定报文后再向上转发该特定报文,并触发自己的定时器停止计时,这样向上转发并触发自己的定时器停止计时,直到第一个网络节点;第一个网络节点收到该特定报文后将触发自己的定时器停止计时,并不再转发该特定报文;这样,每个网络节点即可获得自己与最后一个网络节点间的网络时间延迟,即定时器计时的一半,该定时器的计时将以寄存器参数的形式保存在各网络节点上,最后一个网络节点该参数设为0。
所述步骤4)的周期性工作阶段中,各网络节点在动作的同时锁存当前网络节点的当前状态,并按照上一个周期收到的控制器的命令报文同时动作,将该节点的状态信息以报文的形式发送到控制器,控制器分析各节点的状态信息,并统一规划下一周期各节点的动作,并将该动作信息以命令报文的形式在该周期传送到各网络节点上,实现各网络节点动作的同步性。
所述步骤4)中,周期性的发送一个同步报文是指第一个节点的定时器设定初始参数后,该初始参数就是周期性通信的通信周期,定时器在第一个网络节点时钟信号的驱动下,开始计时,当计时值到达设定的初始参数时,该定时器产生一个中断信号并将定时器清零并重新开始计时,第一个网络节点收到该中断信号,将向下发送一个特定的同步报文,这样周期往复,实现了周期性发送同步报文的方法。
所述步骤4)中网络节点延迟一定的时间,然后动作的方法为各网络节点中都包括一个定时器,各定时器可设定初始参数值,该初始参数该网络节点相对于最后一个网络节点的网络时间延迟,各网络节点在收到同步报文后,触发定时器,该定时器在时钟信号的驱动下,开始定时,到设定的初始参数后,产生一个中断信号,网络节点根据该中断信号锁存当前的状态并按照控制报文的命令动作,并将当前的状态信息以报文的形式发送到控制器。
所述步骤4)中,同步报文在各网络节点间传送,用两个字节0XAA55来表示。
本发明结合FPGA(现场可编程门阵列)技术实现了一种在以太网链状网络结构中实现各网络节点间精确同步动作的方法,尤其是在高性能的集中式控制网络系统中,控制器不采用专用设备,实现各网络节点精确同步动作的方法与装置。该方法解决了目前以太网链状网络结构中网络节点间同步依赖主控制器,造成各厂家控制系统封闭、不兼容的问题。
本发明的有益效果(1)本发明提出一种实现以太网链状网络节点间同步的方法与装置,尤其适用于集成式控制网络系统中,控制器采用普通标准网卡,与以太网完全兼容,实现了工厂控制网络的一致性,实现了一网到底,避免了控制器采用专用设备时不兼容的局限性。
(2)本发明提出一种实现以太网链状网络节点间同步的方法与装置,相比Internet网络时间协议NTP(Network Time Protocal)、简单时间网络协议SNTP(SimpleNetwork Time Protocal)、IEEE1588标准精确时间协议协议PTP(Precision TimeProtocal)等方法,减轻了网络负担。在实现高精度同步时,避免每个从设备站点必须自带精确时钟芯片(即等时实时ASIC),节约了成本。


图1为实施例1的系统的内部结构图;图2为控制器的控制报文结构;图3为系统的工作流程图。
其中,1、控制器,2、网络节点,3、标准网卡,4、变压器,5、dual PHY,6、带MAC IP核的FPGA,7、定时器。
具体实施例方式
下面结合附图与实施例对本发明作进一步说明。
本发明采用了以太网链状网络,它包括控制器1和若干个网络节点2,控制器1能枚举和配置各网络节点2,控制器1分配给各网络节点2一个单独的节点号。控制器1发送一个测量网络节点间时间延迟的控制报文后,各网络节点2测量自己与最后一个网络节点2间的网络时间延迟。在网络周期性工作阶段,第一个网络节点2周期性地发送一个同步报文,各网络节点2在接收到该同步报文后将转发此同步报文到下一个网络节点2,各网络节点2收到该同步报文后,延迟一定的时间以补偿网络时间延迟,然后动作,这样实现了网络节点2间动作同步性。
控制器1选用标准网卡3作为网络通信接口,各节点采用dual PHY5和带MAC IP核的FPGA6作为网络通信接口,这样,控制器1具有一个通信接口,而各节点具有两个通信接口,控制器1的通信接口通过数据线连接到节点的一个通信接口上,节点的另一个通信接口通过数据线连接到下一个节点的一个通信接口上,这样彼此连接下去,形成一个链状网络结构。
控制器1发送的控制报文结构符合IEEE802.3报文结构协议规范,为了与控制器1所发的TCP/IP等报文格式区别,在IEEE802.3报文结构数据区域中前两个字节用0X55AA表示为控制报文的格式,紧跟着的一个字节用来区分控制报文的不同控制信息,例如0X11表示测量网络节点间时间延迟的控制报文,剩下的为控制报文的数据区域。整个报文组成包括前导符7bytes、分割符1byte、目的地址6bytes、源地址6bytes、长度/类型字段2bytes、数据段46-1500bytes、帧校验序列域4bytes,其中数据段又分为两个bytes的控制器报文标志,紧跟着的一个byte用来区分控制报文的不同控制信息的控制类型标志,其余为控制报文的数据信息。
第一个网络节点2周期性发送的同步报文,该同步报文是在各网络节点2间传送,其结构协议不必符合IEEE802.3这种长的报文结构协议规范,由于同步报文关系到同步的精度,因此该同步报文应尽量短。该同步报文的用两个字节0XAA55来表示。
由于各晶振在制造时都有一定的偏差,这也是允许的,为了消除各网络节点间的时钟信号抖动,各网络节点中都设有一个PLL电路,各晶振信号经过该PLL电路后再产生时钟信号,该相位锁定回路电路消除了各网络节点间的时钟信号抖动的影响。
一种实现以太网链状网络节点间同步的方法,其工作方法为(1)系统上电后,控制器对各网络节点进行自检,控制器发送一个查询报文,第一个网络节点首先接收到此查询报文,第一个网络节点将转发此查询报文,并发送自己的应答报文和将自己的设备号初始化为0,各网络节点在收到查询报文后依次转发此查询报文,并发送自己的应答报文和将自己的设备号初始化为0,直到最后一个网络节点,最后一个网络节点可以通过拨码开关或者其他的装置来确定,该最后一个网络节点收到此查询报文后,发送自己的应答报文,包含为最后一个网络节点的信息,并将自己的设备号初始化为0,控制器收到最后一个网络节点的应答报文后,说明系统连接可靠和各设备正常工作;若控制器在发送完查询报文后,等待一段时间,此时间为正常情况下枚举最大网络节点数的最长时间的2倍,仍然收不到最后一个网络节点的应答报文,将报告错误,说明有故障;(2)自检通过后,控制器对各网络节点进行枚举和配置,即从控制器收到最后一个网络节点的应答报文后,开始发送配置报文,跟控制器相连的第一个网络节点,此时设备号为0,将先收到配置报文,收到此配置报文后,将不转发此配置报文到下一个网络节点,第一个网络节点将自己的设备号设置为1,同时发送一个应答报文,包含自己的设备号、该网络节点的功能、作用等,控制器在配置完第一个网络节点后,将再发个下一个配置报文,第一个网络节点(此时设备号为0)将转发此配置报文到第二个网络节点,第二个网络节点在收到此配置报文后将不转发此配置报文到下一个网络节点,第二个网络节点将自己的设备号设置为2,同时发送一个应答报文,包含自己的设备号、该从设备的功能、作用等;这样依次类推,直到配置到最后一个网络节点;这样每个网络节点都有自己唯一的设备标号,控制器也建立一个设备表,包含各网络节点的设备号、各网络节点的功能和作用等;(3)然后,控制器发送一个测量网络时间延迟的控制报文,各网络节点上包括一个定时器,第一个网络节点在收到测量网络时间延迟的控制报文后,将自己的定时器清零,并转发该测量网络时间延迟的控制报文,各网络节点收到此控制报文后,将定时器清零。第一个网络节点向第二个网络节点发送一个特定的控制报文,并触发自己的定时器开始计时,第二个网络节点收到该特定报文后向第三个网络节点转发此报文,并触发自己的定时器开始计时,这样向下转发下去,直到最后一个网络节点,最后一个网络节点收到该特定报文后将向上一个网络节点转发该特定报文,上一个网络节点收到该特定报文后将上转发该特定报文后,并触发自己的定时器停止计时,这样各网络节点向上转发下去并触发自己的定时器停止定时,直到第一个网络节点,第一个网络节点收到该特定报文后将触发自己的定时器停止定时,并不再转发该特定报文。这样,每个网络节点就能知道自己跟最后一个网络节点间的网络时间延迟,即定时器计时的一半,该定时器的计时将以寄存器参数的形式保存在各网络节点上,最后一个网络节点该参数设为0。
(4)系统进入周期性通信阶段,第一个网络节点周期性地发送一个同步报文,第一个节点中包括一个定时器,该定时器可设定初始参数,该初始参数就是周期性通信的通信周期,定时器在第一个网络节点时钟信号的驱动下,开始计数,当计数值到达设定的初始参数时,该定时器产生一个中断信号并将定时器清零,第一个网络节点收到该中断信号,将向下发送一个特定的同步报文。定时器在时钟信号的驱动下,开始计数,到达初始参数值后,产生一个中断信号并将计时器清零。这样周期往复,实现了周期性发送同步报文的方法。
(5)其他的各网络节点中都包括一个定时器,该定时器可设定初始参数值,该初始参数为测量网络节点间网络时间延迟中测得的该网络节点相对于最后一个网络节点的网络时间延迟。各网络节点在收到同步报文后,触发定时器,该定时器在时钟信号的驱动下,开始计数,到设定的初时参数后,产生一个中断信号,网络节点根据该中断信号锁存当前的状态并按照控制报文的命令动作,并将当前的状态信息以报文的形式发送到控制器。控制器收到各网络节点的状态信息后,然后作数据规划,并将规划的数据以数据报文的形式在该周期发送到各网络节点。各网络节点在收到数据报文后,在下一周期按照同样的方式动作。这样周期往复下去,实现系统正常的周期数据交换和同步动作。
步骤4)中,网络周期性通信阶段是指,第一个网络节点周期性的发送一个同步报文,各网络节点收到该同步报文后,延迟一定时间以补偿报文传输过程中的网络时间延迟,同时动作,锁存当前网络节点上传感器的当前状态,并按照上一个周期收到的控制器的命令报文同时动作,将该节点的状态信息以报文的形式发送到控制器,控制器分析各节点的状态信息,并统一规划下一周期各节点的动作,并将该动作信息以命令报文的形式在该周期传送到各网络节点上,实现了各网络节点动作的同步性。
各网络节点延迟一定的时间,然后动作的方法为,各网络节点中的定时器可设定初始参数值,该初始参数为该网络节点相对于最后一个网络节点的网络时间延迟。各网络节点在收到同步报文后,触发定时器,该定时器在时钟信号的驱动下,开始计时,到设定的初时参数后,产生一个中断信号,网络节点根据该中断信号锁存当前的状态并按照控制报文的命令动作,并将当前的状态信息以报文的形式发送到控制器。
下面以一个控制器1和3个网络节点2组成的链状网络结构来说明。其中控制器1包括标准网卡3,网络节点2则包括变压器4、dual PHY5、带MAC IP核的FPGA6和定时器7。
其工作过程为(1)系统上电后,控制器1对各网络节点2进行自检,控制器1发送一个查询报文,第一个网络节点2首先接收到此查询报文,第一个网络节点2将转发此查询报文,并发送自己的应答报文和将自己的设备号初始化为0,第二个网络节点2收到此查询报文将转发此查询报文,并发送自己的应答报文和将自己的设备号初始化为0,直到最后一个网络节点2,最后一个网络节点2可以通过拨码开关或者其他的装置来确定,该最后一个网络节点2收到此查询报文后,发送自己的应答报文,包含为最后一个网络节点的信息,并将自己的设备号初始化为0,控制器1收到最后一个网络节点2的应答报文后,说明系统连接可靠和各设备正常工作;若控制器1在发送完查询报文后,等待一段时间,此时间为正常情况下枚举最大网络节点数的最长时间的2倍,仍然收不到最后一个网络节点2的应答报文,将报告错误,说明有故障;(2)自检通过后,控制器1对各网络节点2进行枚举和配置,即控制器1收到最后一个网络节点2的应答报文后,开始发送配置报文,跟控制器1相连的第一个网络节点2,此时设备号为0,将先收到配置报文,收到此配置报文后,将不转发此配置报文到下一个网络节点2,第一个网络节点2将自己的设备号设置为1,同时发送一个应答报文,包含自己的设备号、该网络节点的功能、作用等,控制器1在配置完第一个网络节点后,将再发个下一个配置报文,第一个网络节点2(此时设备号不为0)将转发此配置报文到第二个网络节点2,第二个网络节点2在收到此配置报文后将不转发此配置报文到下一个网络节点2,第二个网络节点2将自己的设备号设置为2,同时发送一个应答报文,包含自己的设备号、该网络节点的功能、作用等;这样依次类推,直到配置到最后一个网络节点2;这样每个网络节点2都有自己唯一的设备标号,控制器1也建立一个设备表,包含各网络节点的设备号、各网络节点的功能和作用等;
(3)控制器1然后发送一个测量网络时间延迟的控制报文,各网络节点上2包括一个定时器7,第一个网络节点2在收到测量网络时间延迟的控制报文后,将自己的定时器7清零,并转发该测量网络时间延迟的控制报文,各网络节点收到此控制报文后,也将自己的定时器7清零。
(4)第一个网络节点2向第二个网络节点2发送一个特定的控制报文,并触发自己的定时器7开始计时,第二个网络节点2收到该特定报文后向第三个网络节点2转发此报文,并触发自己的定时器7开始计时,最后一个网络节点2收到该特定报文后将向上一个网络节点2转发该特定报文,上一个网络节点2收到该特定报文后将上转发该特定报文后,并触发自己的定时器7停止计时,直到第一个网络节点,第一个网络节点2收到该特定报文后将触发自己的定时器7停止定时,并不再转发该特定报文。这样,每个网络节点2就能知道自己跟最后一个网络节点2间的网络时间延迟,即定时器7计时的一半,该定时器的计时将以寄存器参数的形式保存在各网络节点上,最后一个网络节点该寄存器参数设为0。
(5)系统进入周期性通信阶段,第一个网络节点2周期性地发送一个同步报文,第一个节点2中包括一个定时器7,该定时器可设定初始参数,该初始参数就是周期性通信的通信周期,定时器7在第一个网络节点2时钟信号的驱动下,开始计数,当定时期的值到达设定的初始参数时,该定时器7产生一个中断信号并将定时器7清零,并再开始定时,第一个网络节点2收到该中断信号,将向下发送一个特定的同步报文,各网络节点将转发此同步报文。这样周期往复,实现了周期性发送同步报文的方法。
(6)各网络节点2中都包括一个定时器7,该定时器7可设定初始参数值,该初始参数为测量网络节点间网络时间延迟中测得的该网络节点相对于最后一个网络节点的网络时间延迟。网络节点2发送该同步报文、网络节点3转发完同步报文和网络节点4收到同步报文后,触发定时器7,该定时器7在时钟信号的驱动下,开始定时,到设定的初时参数后,产生一个中断信号,网络节点2根据该中断信号锁存当前的状态并按照控制报文的命令动作,并将当前的状态信息以报文的形式发送到控制器1。控制器1收到各网络节点的状态信息后,然后作数据规划,并将规划的数据以数据报文的形式在该周期发送到各网络节点2。这样周期往复下去,实现系统正常的周期数据交换和同步动作。
各节点2包括变压器4、DUAL PHY5和带MAC IP核的FPGA6、两个定时器7。
权利要求
1.一种实现以太网链状网络节点间同步的装置,它包括至少一个控制器和若干个网络节点,控制器能枚举和配置各网络节点,控制器分配给各网络节点一个单独的节点号,其特征是所述控制器具有至少一个通信接口,各节点具有至少两个通信接口,控制器的通信接口通过数据线连接到某节点的一个通信接口上,然后该节点的另一个通信接口通过数据线连接到下一个节点的一个通信接口上,这样彼此连接下去,形成一个链状网络结构;在各节点上还设有定时器。
2.根据权利要求1所述的实现以太网链状网络节点间同步的装置,其特征是所述控制器为标准网卡,其发送的控制报文为IEEE802.3协议规范的报文结构;各节点采用dual PHY和带MAC IP核的FPGA作为网络通信接口;在各网络节点中均设有一个PLL电路,各晶振信号经过该PLL电路后再产生时钟信号,以消除各网络节点间的时钟信号抖动的影响。
3.一种采用权利要求1所述的装置实现以太网链状网络节点间同步的方法,其特征是它的方法为,(1)系统上电后,控制器对各网络节点进行自检,控制器发送一个查询报文,第一个网络节点首先接收到此查询报文,然后转发此查询报文,并发送自己的应答报文,将自己的设备号初始化为0;各网络节点在收到查询报文后依次转发此查询报文,并发送自己的应答报文和将自己的设备号初始化为0,直到最后一个网络节点;最后一个网络节点可以通过拨码开关或者其他的装置来确定,该最后一个网络节点收到此查询报文后,发送自己的应答报文,包含为最后一个网络节点的信息,并将自己的设备号初始化为0,控制器收到最后一个网络节点的应答报文后,说明系统连接可靠和各设备正常工作;若控制器在发送完查询报文后,在设定时间内收不到最后一个网络节点的应答报文,将报告错误,说明有故障;(2)自检通过后,控制器对各网络节点进行枚举和配置;(3)然后,控制器发送一个测量网络时间延迟的控制报文通知各网络节点,第一个网络节点发送一个特定的报文,各网络节点转发该特定报文,测量自己与最后一个网络节点间的网络时间延迟;(4)进入网络周期性工作阶段,第一个网络节点周期性地发送一个同步报文,各网络节点在接收到该同步报文后将转发此同步报文到下一个网络节点,各网络节点收到该同步报文后,延迟一定的时间以补偿网络时间延迟,然后动作,实现网络节点间动作同步性;(5)其他的各网络节点的定时器也设定初始参数值,该初始参数为测量网络节点间网络时间延迟中测得的该网络节点相对于最后一个网络节点的网络时间延迟;各网络节点在收到同步报文后,触发定时器,该定时器在时钟信号的驱动下,开始计时,到设定的初时参数后,产生一个中断信号,网络节点根据该中断信号锁存当前的状态并按照控制报文的命令动作,并将当前的状态信息以报文的形式发送到控制器;控制器收到各网络节点的状态信息后,然后作数据规划,并将规划的数据以数据报文的形式在该周期发送到各网络节点;各网络节点在收到数据报文后,在下一周期按照同样的方式动作;这样周期往复下去,实现系统正常的周期数据交换和同步动作。
4.根据权利要求3所述的实现以太网链状网络节点间同步的方法,其特征是所述步骤3)中测量网络时间延迟的控制报文结构为IEEE802.3协议规范,其组成包括前导符7bytes、分割符1byte、目的地址6bytes、源地址6bytes、长度/类型字段2bytes、数据段46-1500bytes、帧校验序列域4bytes,其中数据段又分为两个bytes的控制器报文标志,紧跟着的一个byte用来区分控制报文的不同控制信息的控制类型标志,其余为控制报文的数据信息。
5.根据权利要求3所述的实现以太网链状网络节点间同步的方法,其特征是所述步骤3)中测量网络节点间网络时间延迟方法为,各节点收到控制报文后,将定时器清零,第一个网络节点向下一个网络节点发送一个特定的报文,并触发自己的定时器开始计时;第二个网络节点收到该特定报文后向下一个网络节点转发此报文,并触发自己的定时器开始计时;这样向下转发下去,直到最后一个网络节点;最后一个网络节点收到该特定报文后将向上一个网络节点转发该特定报文,上一个网络节点收到该特定报文后再向上转发该特定报文,并触发自己的定时器停止计时,这样向上转发并触发自己的定时器停止计时,直到第一个网络节点;第一个网络节点收到该特定报文后将触发自己的定时器停止计时,并不再转发该特定报文;这样,每个网络节点即可获得自己与最后一个网络节点间的网络时间延迟,即定时器计时的一半,该定时器的计时将以寄存器参数的形式保存在各网络节点上,最后一个网络节点该参数设为0。
6.根据权利要求3所述的实现以太网链状网络节点间同步的方法,其特征是所述步骤4)的周期性工作阶段中,各网络节点在动作的同时锁存当前网络节点的当前状态,并按照上一个周期收到的控制器的命令报文同时动作,将该节点的状态信息以报文的形式发送到控制器,控制器分析各节点的状态信息,并统一规划下一周期各节点的动作,并将该动作信息以命令报文的形式在该周期传送到各网络节点上,实现各网络节点动作的同步性。
7.根据权利要求3所述的实现以太网链状网络节点间同步的方法,其特征是所述步骤4)中,周期性的发送一个同步报文是指第一个节点的定时器设定初始参数后,该初始参数就是周期性通信的通信周期,定时器在第一个网络节点时钟信号的驱动下,开始计时,当计时值到达设定的初始参数时,该定时器产生一个中断信号并将定时器清零并重新开始计时,第一个网络节点收到该中断信号,将向下发送一个特定的同步报文,这样周期往复,实现了周期性发送同步报文的方法。
8.根据权利要求3所述的实现以太网链状网络节点间同步的方法,其特征是所述步骤4)中网络节点延迟一定的时间,然后动作的方法为各网络节点中都包括一个定时器,各定时器可设定初始参数值,该初始参数该网络节点相对于最后一个网络节点的网络时间延迟,各网络节点在收到同步报文后,触发定时器,该定时器在时钟信号的驱动下,开始定时,到设定的初始参数后,产生一个中断信号,网络节点根据该中断信号锁存当前的状态并按照控制报文的命令动作,并将当前的状态信息以报文的形式发送到控制器。
9.根据权利要求3所述的实现以太网链状网络节点间同步的方法,其特征是所述步骤4)中,同步报文在各网络节点间传送,用两个字节0XAA55来表示。
全文摘要
本发明公开了一种实现以太网链状网络节点间同步的装置和方法。它解决了目前以太网链状网络结构中实现各网络节点间精确同步动作时成本较高,不能兼容不同厂家产品,增加使用成本等问题,它具有结构简单,使用方便,兼容性好等优点。其结构为它包括至少一个控制器和若干个网络节点,控制器能枚举和配置各网络节点,控制器分配给各网络节点一个单独的节点号,所述控制器具有至少一个通信接口,各节点具有至少两个通信接口,控制器的通信接口通过数据线连接到某节点的一个通信接口上,然后该节点的另一个通信接口通过数据线连接到下一个节点的一个通信接口上,这样彼此连接下去,形成一个链状网络结构;在各节点上还设有定时器。
文档编号H04L12/28GK101039173SQ200710014419
公开日2007年9月19日 申请日期2007年4月29日 优先权日2007年4月29日
发明者张承瑞, 王金江 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1