通讯方法与流程

文档序号:13741324阅读:278来源:国知局
技术领域本发明涉及通讯技术领域,尤其是一种通讯方法。

背景技术:
POWERLINK的数据链路层:也就是POWERLINK的核心,主要包括如下功能:1、构建/解析数据桢、对数据桢定界、网络同步、数据桢收发顺序的控制。2、传输过程中的流量控制、差错检测、对物理层的原始数据进行数据封装等。3、实时通信的传输控制。4、网络状态机。在POWERLINK网络中,至少有一个设备做为主站(MN),其他的设备做为从站(CN)。主站的作用是为了为协调各个从站,合理分配总线使用权,避免冲突,实现实时通信。POWERLINK的实时通信机制有两种,分别是:基于请求/应答模式和基于定时主动上报模式(PRC模式)。但是,节点过多时,原有的POWERLINK轮询过程是SoC对表,MN发送Preq请求CN1~CNn,每个CN接受到请求后则Pres响应并广播数据到网络上,这个过程里存在的问题在的问题在于Preq和Pres的反复握手过程,降低了整个网络的效率。因此如何提高网络的通信效率成为目前亟待解决的问题之一。

技术实现要素:
本发明的技术方案要解决的问题是提高网络的通信效率。为解决上述问题本发明的技术方案提供了一种通讯方法,包括:对节点设置时钟,所述节点包括从节点和管理节点;将配置信息发送至所述从节点,所述从节点接收到同步开始帧后,所述从节点进入数据通信等待状态;所述管理节点依次发送请求至每一个处于等待状态的从节点,所述处于等待状态的从节点接收到所述请求后,将反馈信息发布至网络,该从节点进入数据通信状态;每个从节点进入数据通信状态后,所述管理节点发送异步开始帧,所述从节点将所述异步开始帧发送至网络。可选的,所述节点具有标示号,所述从节点的标示号的取值范围为1-239,所述管理节点的标示号为240。可选的,所述网络中包括快速设备和慢速设备,所述快速设备在每个同步开始帧后的周期中进行数据刷新,所述慢速设备在预定间隔的每个同步开始帧后的周期中进行数据刷新。可选的,所述同步开始帧的周期是等长的。可选的,所述节点的时钟同步。可选的,所述网络为拓扑结构,所述网络为以太网。本发明的技术方案具有以下有益效果:取消了握手过程,缩短了反应时间提高了网络的通信效率。其次,设置了循环帧,由等时同步阶段和异步阶段构成,对等时同步阶段和异步阶段配置时间,资源交互利用,提高效率。附图说明图1是本发明实施例提供的通讯方法的流程图;图2是本发明实施例提供的等时同步示意图;图3是本发明实施例提供的多路复用示意图;图4是本发明实施例提供的PRC技术示意图。具体实施方式为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。图1是本发明实施例提供的通讯方法的流程图,下面结合图1详细说明。步骤S1,对节点设置时钟,所述节点包括从节点和管理节点;步骤S2,将配置信息发送至所述从节点,所述从节点接收到同步开始帧后,所述从节点进入数据通信等待状态;步骤S3,所述管理节点依次发送请求至每一个处于等待状态的从节点,所述处于等待状态的从节点接收到所述请求后,将反馈信息发布至网络,该从节点进入数据通信状态;步骤S4,每个从节点进入数据通信状态后,所述管理节点发送异步开始帧,所述从节点将所述异步开始帧发送至网络。所述网络为拓扑结构,所述网络为以太网。所述网络中包括快速设备和慢速设备,所述快速设备在每个同步开始帧后的周期中进行数据刷新,所述慢速设备在预定间隔的每个同步开始帧后的周期中进行数据刷新。所述同步开始帧的周期是等长的。所述节点的时钟同步。每个从站设备都有唯一的节点号(NodeId),该节点号是用来区分网络中的设备,所述节点具有标示号,所述从节点的标示号的取值范围为1-239,所述管理节点的标示号为240。下面举例说明本发明的技术方案:POWERLINK的实时通信机制有两种,分别是基于请求/应答模式和基于定时主动上报模式(PRC模式)。基于请求/应答模式:该种模式主站(MN)轮询所有从站(CN)。首先主站发送Preq数据帧(PReqCN1)给1号从站,该数据帧是单播的,只有1号节点接收,其他节点不接收。在该数据帧中包含了主站(MN)要发送给1号从站的数据。当1号节点收到来自主站的Preq数据帧,就会上报一个Pres数据帧(PresCN1),该数据帧是广播的,除了主站可以接收到以外,网络中其他任何一个从节点都能收到。主站(MN)与1号从节点(CN1)一来(Preq)、一往(Pres),就完成了一次信息交互;接下来主站(MN)与2号从节点(CN2)的信息交互,以此类推,将网络中所有的节点扫描一次,称为一个循环周期。假定循环周期为200us,那么网络中的每个设备每200us就有一次收取/发送数据的机会,而且不会与其他设备造成冲突。该种模式下的性能:完成一个站的通信所需要的时间,取决于物理层的传输速度和需要传送的数据包大小。假定物理层为100M以太网,该种网络的传输速度为12.5bytes/us,假定数据包大小为64bytes(每个Preq和Pres数据帧最大可传输1490bytes的数据),那么完成一个站的通信所需要的时间:T=Tpreq+Tgap+TpresTpreq:主站发送Preq数据帧给从站,时间长度为64/12.5=5.12usTpres:从站发送Pres数据帧给主站,时间长度为64/12.5=5.12usTgap:Preq数据帧与Pres数据帧之间的时间间隙,约为2us因此完成一个站的通信,总时间长度为12.24=5.12+2+5.12在基于请求-应答模式(PREQ-PRES)通信时,从节点什么时候上报自己的数据,取决于主站什么时候发生请求(PREQ)给它。该种模式省掉了主站的Preq数据帧,取而代之的是一个挨一个的Pres。该种模式下,POWERLINK的主站在开始通信之前,会配置从站的参数,通知每个从站应该在循环周期的哪一时刻上报。举个例子:假定有3个从站,主站可以通过配置,让1号从站在收到PresMN后的第5us上传PresCN1数据帧,而2号从站在收到PresMN后的第15us上传PresCN2数据帧,而3号从站在收到PresMN后的第22us上传PresCN3数据帧。这样就避免了冲突。因为POWERLINK是基于时间槽的通信,而且POWERLINK支持1588分布式时钟协议,每个POWERLINK节点都有一个时钟,因此POWERLINK很方便实现这种通信模式。在该种模式下的性能:完成一个站的通信所需要的时间,取决于物理层的传输速度和需要传送的数据包大小。假定物理层为100M以太网,该种网络的传输速度为12.5bytes/us。假定数据包大小为64bytes(每个Preq和Pres数据帧最大可传输1490bytes的数据)。那么完成一个站的通信所需要的时间T=Tgap+TpresTpres:从站发送Pres数据帧给主站,时间长度为64/12.5=5.12usTgap:Preq数据帧与Pres数据帧之间的时间间隙,约为2us因此完成一个站的通信,总时间长度为7.12=5.12+2这种通信比基于请求/应答模式至少能提高30%的效率。PRC模式的通信过程:1、主站发生广播数据帧PresMN,主站把多个从站需要的数据在该数据帧里打包,然后以广播的方式发送出去,各个从站根据配置信息,从该数据帧中取走相应的数据。该数据帧为标准的以太网数据帧,最大有效数据容量为1490Bytes。2、从站接受到PresMN以后,根据主站配置的上报时间,来决定什么时候该上报PresCN,当定时器到了上报时间,从站就以广播的方式上报PresCN。该数据帧包含了主站以及其他从站需要的数据信息。3、主站和从站是支持PRC模式,还是支持请求/应答模式,是由自身的参数决定的。通过参数设置,在一个周期内,让部分从节点采用PRC模式,而另外一部分从节点采用请求/应答模式。这种搭配使得网络容量可以灵活搭配。等时同步:(如图2所示)POWERLINK(中文的解释:强大链接)的时间槽管理机制反应POWERLINK的整个控制机制。在这个过程中,遵循IEEE1588分布式时钟系统标准,每个设备都将带上时钟以确保数据交换中的时钟同步,POWERLINK的循环周期由两个Master即管理节点MN和CN(ControlledNode)也称为从站Slave构成,在上电后,POWERLINK主站发布配置信息给每个从节点,然后发布SoC同步开始帧,每个从节点接收到SoC后开始进入数据通信等待状态,在SoC后,MN发送PReq1到第一个节点,Preq1收到后发送PRs1到网络上并以广播形式发布,然后MN发送PReq2给第二个节点,然后第二个节点发送PRs2给网络,如此序列将到PRsN后结束,MN再发送SoA代表异步通信阶段开始,异步数据在这个SoA后开始发送到网络,整个过程称为一个POWERLINK循环帧,它由等时同步阶段和异步阶段构成,这些均可配置时间(对应图1中的步骤S1至步骤S4)。POWERLINK支持1588分布式时钟协议,每个循环周期的开始,主站都会广播一个SoC数据帧到网络上,该数据帧包含了两个重要信息:网络的绝对时间和相对时间。绝对时间信息:年、月、日、时、分、秒、毫秒、微秒、纳秒。相对时间信息:从网络开始工作,到现在一共运行了多少us。SoC数据帧有两个功能:时钟同步和动作同步。时钟同步:网络中的节点需要有一个统一的网络时间利用网络时间来同步网络中所有设备的分布式时钟,让网络中所有节点的时钟有一个共同的基准。POWERLINK主站(MN)在每个循环周期的开始将SoC数据帧广播到网络上,该数据帧包含了网络时间信息,网上的各个从节点可以将这个时间作为统一的网络时间。动作同步:网络中的节点需要同时去做一件事情在POWERLINK协议中有两种方法去触发一个同步的事件:1.通过从节点自己的时钟触发;2.通过SoC数据帧触发。这里主要讲通过SoC数据帧触发同步事件的原理。在POWERLINK数据链路层里,每当收到了SoC数据帧,会触发一个同步的回调函数,用户可以将同步执行的程序写在该函数里,这样就可以执行同步动作。举例来说,一个运动控制器,要控制10台伺服做同步运动。每个循环周期,运动控制器(作为POWERLINK的主站)将10台伺服所需要的新的位置信息依次传给各个伺服。每个伺服收到新数据的时间是不同的,第一个和最后一个得到位置数据的时间可能会差100多us。如果收到新数据,伺服就开始启动,则会出现这种情况:第一个伺服已经开始运转,而最后一个伺服还没有收到数据。因此需要一个同步信号,使所有的伺服都得到新数据以后,同时启动,这个同步信号就是SoC。主站在上一个循环周期结束(即下一个循环周期开始)时广播一个SoC数据帧,所有的从站会同时收到这个数据帧。该信号触发一个同步回调函数或者硬件中断,来处理MN、伺服1至伺服10。在SoC数据帧之前,每个从站都已经从主站(控制器)那里得到了新的位置信息,因此SoC信号触发的同步事件中可以同时启动,运行到设定位置。如果是星形拓扑,各个从站收到该信号的时间差取决于线缆的长度,电信号可以认为是以光速在导线中传播,因此可以计算出该时间差。可近似为1米为3.3ns。如果是菊花链连接,没经过一级hub会有40ns的延迟,再加上线缆的延迟,第一个从站和最后一个从站在接受到SoC信号的时间差可能会达到几百纳秒甚至微秒,根据应用场合的需要来决定该延迟是否可以忽略,如果不可以忽略,POWERLINK提供了测量机制,可以测出来相邻两个节点的传输延迟。用户根据这些延迟时间给各个节点做一个补偿,从而达到各个节点在同一时刻做同步事件。多路复用(如图3所示):为了提升网络效率,POWERLINK采用了多路复用机制来处理节点数较大的情况,通过网络配置,将系统设备划分为快速设备与慢速设备,对于快速设备可以在每个等时同步阶段进行数据刷新,而对于慢速设备可以每隔1~N个周期进行刷新。这样,即可缩短整个系统在每隔POWERLINK周期里的时间槽数,即使对于大量应用的节点也可以通过此种优化方式来提高整体的效率,因此,从这个角度来说,POWERLINK是非常具有灵活性和实用性的。原有的POWERLINK轮询过程是SoC对表,MN发送Preq请求CN1~CNn,每个CN接受到请求后则Pres响应并广播数据到网络上,这个过程里存在的问题在的问题在于Preq和Pres的反复握手过程,而PRC技术则取消了这个握手,在Preq后每个节点不再握手而直接进行数据发送,这是因为每个节点都带有分布式时钟。经过此种方式,整个POWERLINK网络的传输效率提高至少40%,对于80个POWERLINK节点(其中伺服轴为40个,I/O站为40个,包含1000个I/O通道)的测试结果为800uS。在一个系统中,通常有多种不同类型的设备,如有伺服驱动器、I/O、传感器、仪表等。不同种类的设备对通信周期和控制周期的要求往往不同。举例将,有3种设备:伺服驱动器、I/O、传感器。伺服的控制周期为200us,I/O的控制周期为1ms,传感器不定时的上传数据。首先设定伺服的200us和I/O的1ms的配置。因为两种设备需要的循环周期不同,将循环周期设为200us时,伺服驱动器可以运行,但是I/O却会由于通信过于频繁而反应不过来;将循环周期设为1ms时,伺服驱动器由于控制周期太长,而达不到精度的要求。POWERLINK采用多路复用来解决这个问题,将循环周期设置为200us,将伺服驱动器配置成每个循环周期都参与通信,将I/O配置成每N个循环周期参与一次通信,N是一个参数,可以设置为任意整数(在这里N的值为5)。这样就可以达到伺服的通信周期为200us,I/O的通信周期为200x5=1ms。如图4所示,有11个节点要通信,其中1、2、3三个节点每个循环周期都通信;4、5、6、7、8、9、10、11这8个节点为复用节点,这些节点每3个循环周期才通信一次。这样可以把快速设备和慢速设备经过合理配置达到系统最优。一个完整的POWERLINK周期分为两个阶段:同步阶段和异步阶段。同步阶段用来传输周期性通信的数据;异步阶段用来传输那些非周期性的通信数据。非周期通信数据包括:1.异步设备的通信数据,如前述的传感器;2.部分设备偶尔需要传送的参数,例如在某些应用场合伺服驱动器周期性传输位置数据,但可能偶尔需要传输一下扭矩或者温度数据,这些非周期性传输的数据,就叫异步数据。这些异步数据会在通信周期的异步阶段来传送。从SoC数据帧开始到SoA数据帧的时间段为同步阶段,SoA和AsyncData为异步阶段。SoA数据帧包含了请求哪个从站上报数据,AsyncData数据帧为该从站上报的数据。在每个循环周期,只能有一个从节点上报异步数据,如果有多个从节点需要异步通信,需要在多个周期内完。循环通讯时间小于200us,网络时滞小于1us,网络节点数大于20000个,支持任意网络拓扑结构,IEEE802.3标准以太网介质传输,支持光纤连接。POWERLINK支持10M/100M/1000M或10G的以太网。POWERLINK的物理层采用标准的以太网,遵循IEEE802.3快速以太网标准。POWERLINK的主站或从站,都可以运行于标准的以太网。这具有一下优势:1、易于实现,只要有以太网就可以实现POWERLINK,例如,PC机、带有以太网接口的ARM或FPGA。2、易于技术进步,POWERLINK随以太网的技术进步。3、实现成本低,兼容ARM平台、MAC和FPGA。本发明的技术方案至少具有以下优势:取消了握手过程,缩短了反应时间提高了网络的通信效率。其次,设置了循环帧,由等时同步阶段和异步阶段构成,对等时同步阶段和异步阶段配置时间,资源交互利用,提高效率。本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1