一种提高数据传输的可靠性与稳定性的多址接入方法与流程

文档序号:11589439阅读:295来源:国知局
本发明涉及网络通信
技术领域
:,具体涉及一种可提高基于电力线通信的点到多点通信系统数据传输的可靠性与稳定性的多址接入方法。
背景技术
::通信设备的监控系统对于保障可靠的通讯链路具有重要意义。自20世纪80年代起,现场总线因其可靠性强/通信快捷、兼容性广等一系列优势在工业自动化控制中得以广泛应用。目前各种设备监控管理系统和现场总线设备种类繁多,可以满足各行业的需要。但在一些空间有限的应用场景,现场总线技术也存在着布线难度高、传输速率受限、不易维护的问题。电力线载波技术是指利用已有的配电网作为传输媒介,进行载波传输的一种通信方式,该技术将通信信号通过耦合电路耦合到电力线上,实现数据传递和信息交换。电力线载波通信技术借助电力线进行数据传输,不需要重新布线,在家庭上网和物联网领域得到了广泛的应用。目前电力线通信技术在处理多节点通信时,一般采用csma/ca或者tdma。csma/ca处理解决多节点通信问题时的方法是,当一个节点想发送数据时,先侦听信道,如果信道忙,则随机等待一个时间,然后再次侦听信道,直到信道空闲。显然,这种方式延时是不可预测的,不能满足设备监控实时性的需求。而tdma模式是一种基于时隙的信道分配方案,把时间分割成互不重叠的时段(帧),再将帧分割成互不重叠的时隙(信道)与用户具有一一对应关系,依据时隙区分来自不同地址的用户信号,从而完成多址接入。但电力线信道由于环境恶劣,丢包较多。传统的tdma所使用的基于时隙的方式有可能因为重要数据丢失而使系统处于不正常的工作状态,不适合于设备监控这种应用场景。技术实现要素:为了克服上述现有技术的不足,本发明的目的是提供一种提高数据传输的可靠性与稳定性的多址接入方法,对传统tdma方式进行改进,使用可变数据长度与动态优先级相结合的轮询方法实现点到多点通信,提高了数据通信的可靠性与稳定性,并支持入网设备的动态入网与退网,从而可以将电力线通信技术应用到设备监控领域。为了实现上述目的,本发明采用的技术方案是:一种提高数据传输的可靠性与稳定性的多址接入方法,包括以下步骤:1)通信主节点和n个通信从节点通过电力线信道组成单总线拓扑结构;所述的通信主节点为中心监控节点,负责对各个通信从节点的网络状态信息进行实时数据采集;通信从节点为被监控节点,在特定时刻向通信主节点发送自身的网络状态信息。通信主节点初始化后向总线上发送广播入网消息,总线上的通信从节点监听到入网广播后,进行应答入网,进入就绪状态。2)通信主节点将总线上的所有入网通信从节点划分为n个优先级,每一个优先级有且仅有一个通信从节点,通信主节点按照优先级对总线上的所有通信从节点进行轮询访问;3)通信从节点被通信主节点轮询到时,可根据具体情况选择向通信主节点发送监控数据或者退网申请。如有数据要发送,则向通信主节点发送监控数据,并在数据发送完毕时,对通信主节点进行应答,应答信息中包含本次轮询时向通信主节点发送的数据长度。如发送退网申请,则待通信主节点应答后,进入挂起状态;4)通信主节点接收到应答信号并处理后,将再次发送广播入网消息。新加入的或挂起状态的通信从节点如需入网则监听到入网广播可执行新的入网操作,如无入网请求,则通信主节点轮询下一个优先级高的通信从节点;5)当通信主节点轮询完所有在网通信从节点,根据本次轮询所有通信从节点发送数据量确定下一次轮询通信从节点的优先级。所述的步骤1)中通信主节点和通信从节点在进行初始化操作之后,通信主节点会向总线上发送入网广播,通信从节点在监听到入网广播后会进行应答。为了控制指令的可靠传输,入网广播消息与通信从节点应答消息等重要消息的发送采用独立的信令信道,信令信道与数据传输通道采用不同的频带宽度,这不仅保证了重要信息的可靠传输,也保证了当有通信从节点动态加入时,其他通信从节点监控数据的传输不被干扰。所述的步骤2)中通信主节点将总线上的所有入网通信从节点划分为n个优先级,在通信主节点进行初始化时,会建立两个存储表:就绪表和挂起表。其中就绪表中有整型变量noderdygrp与整型数组noderdytable[]。数组noderdytable[]中包括了每一个优先级是否有通信从节点就绪信息;在noderdygrp中,通信从节点按照优先级分组,8个通信从节点为一组。noderdygrp中每一位标明八组通信从节点中每一组是否有通信从节点进入就绪态。挂起表包含了退网通信从节点的地址信息。当有一个新的通信从节点入网时,通信主节点根据优先级规则为此从节点分配一优先级值,并将此从节点注册到就绪表中,通信主节点从就绪表中选取最高优先级的通信从节点,进行轮询,并修改就绪表,注销该节点以便于查找次优先级的通信从节点。轮询完毕后,通信主节点恢复原有的就绪表,进行下一次的轮询。为了使通信主节点快速选取优先级最高的通信从节点,使用空间换时间算法,对就绪表中noderdytable[]变量各个优先级是否有通信从节点就绪的各种可能情况进行穷举,然后针对每种情况,进行演算就绪表中最高优先级的通信从节点,将演算结果保存在数组lookuptable[256]中,选取最高优先级从节点如下方式:y=lookuptable[noderdygrp];x=lookuptable[noderdytable[y]];prio=y<<3+x;此算法时间复杂度为o(1),满足了系统对实时性的需求。所述的步骤3)中通信从节点被通信主节点轮询到时,根据具体情况选择向通信主节点发送监控数据或者退网申请。当通信从节点需发送监控数据时,其发送数据长度由该从节点根据实际情况自行选择,没有限制。当数据发送完毕,该通信从节点需向通信主节点发送应答信息,应答信息中包含了本次该从节点发送的数据总长度,通信主节点根据此信息进行优先级的制定,并对此数据信息与实际收到的数据总长度进行比较,交由上层处理。当通信从节点向通信主节点发送退网申请时,需要通信主节点的应答。通信主节点收到退网申请时,将退网从节点地址信息写入挂起表中,并发送应答消息。为了减轻通信主节点的系统开销,当通信从节点在规定时间内没有收到应答时,便放弃申请,等待下一次继续申请或执行其他动作。所述的步骤4)中通信主节点接收到应答信号并处理后,将再次发送广播入网消息,支持通信从节点的动态入网。当有新的通信从节点入网时,通信主节点将动态的更新就绪表,当就绪表中所有注册从节点轮询完毕,通信主节点再开始下一次轮询。所述的步骤5)中通信主节点轮询完所有在网通信从节点,根据本次轮询所有通信从节点发送数据量确定下一次轮询通信从节点的优先级。通信主节点在轮询完毕,会将所有通信从节点发送数据总长度进行排序,发送数据长度越短的通信从节点,在下一次轮询获取的优先级越高,若存在数据长度相等的情况,则按照入网先后顺序分配优先级。本发明的有益效果是:本发明对传统tdma方式进行改进,使用可变数据长度与动态优先级相结合的轮询方法实现点到多点通信,提高了数据通信的可靠性与稳定性,并支持入网设备的动态入网与退网,从而可以将电力线通信技术应用到设备监控领域。附图说明图1为基于电力线通信的设备监控系统单总线通信拓扑结构图。图2为通信主节点的mac层工作流程。图3为通信从节点的mac层工作流程。图4为通信从节点就绪表结构。图5为最高优先级通信从节点查找表。图6为辅助数组。具体实施方式以下结合附图对本发明进一步叙述。1)通信系统拓扑如图1所示,通信主节点和n个通信从节点通过电力线信道组成单总线拓扑结构。其中通信主节点为中心监控节点,负责对各个通信从节点的网络状态信息进行实时数据采集;通信从节点为被监控节点,在特定时刻向通信主节点发送自身的网络状态信息。通信主节点采用轮询算法根据优先级对网络中的各个通信从节点进行遍历访问。当通信从节点被轮询到时,如有数据可发送,可以向通信主节点发送自身的网络状态数据,并在发送完毕后,向通信主节点发送应答信息,应答信息中包括本次轮询此通信从节点向通信主节点发送数据长度。通信主节点遍历完所有在网通信从节点后,将所有通信从节点下一次发送数据长度进行排序,然后按照数据长度越小,优先级越高的规则对所有在网通信从节点优先级制定,然后重新开始执行轮询算法。2)通信从节点入网如图2所示,系统上电后,通信主节点进行初始化操作。在进行初始化时,通信主节点会建立两个存储表:就绪表和挂起表。其中就绪表包含了所有在网通信节点优先级信息以及地址信息。挂起表为退网通信从节点的地址信息。在完成初始化之后,通信主节点将向网络中发送广播信息,广播信息为一帧数据帧{1,1,1,1,1,1,1}。当总线上的通信从节点监听到入网广播信息后,将向通信主节点发送应答信息。通信主节点在收到此通信从节点入网应答后,分配特定的网络地址给通信从节点,并向此通信从节点发送应答信息。通信从节点收到入网信息后,入网成功,进入就绪状态。3)通信从节点退网如图3所示,当通信从节点被轮询到时,如果没有网络数据要发送,并且需要退网,则可以向通信主节点发送退网信息。如图2所示,通信主节点在收到退网信息时,则从就绪表中将通信从节点删除,并向通信从节点发送应答信息,通信从节点在收到应答信息后进入挂起状态。如没有收到退网应答,则通信从节点重新监听网络地址,待下次轮询到本站时,从新申请退网。进入挂起状态的通信从节点可以在必要的时候,重新监听入网广播,并进行入网操作。4)网络数据的发送如图2所示,在组网完毕后,通信主节点将从就绪表中,选择优先级最高的通信从节点,并向该节点发送轮询指令。如图3所示,该通信从节点监听网上地址,如为本机地址,则选择向通信主节点发送网络状态数据,在数据发送完毕后对通信主节点进行应答,应答信息中包括本次轮询发送的数据长度。通信主节点对数据交付上层处理,并记录该通信从节点本次发送数据长度信息,以便于优先级的制定。5)挂起状态的通信从节点的动态入网如图2所示,为了支持总线上所有通信从节点的动态加入,通信主节点在完成接收一个通信从节点的数据后,再次向网络发送入网广播。此时,如果有新的设备加入网络,可以在收到广播信息后进行入网操作流程。6)优先级规则系统初次上电时,通信主节点会根据入网通信从节点入网先后顺序进行优先级初始化操作。先入网的通信从节点具有较高的优先级。处于挂起状态的通信从节点再次入网后优先级同样遵循此规则。在轮询完所有在网通信从节点后,通信主节点对收到的通信从节点本次发送数据长度进行排序。发送数据长度越短的通信从节点优先级越高,如有相等情况,按入网顺序排序处理。7)通信从节点在就绪表中的注册与删除每个入网通信从节点都被通信主节点赋予不同的优先等级,从最高优先级0到最低优先级n-1,其中n为总线上从节点的数目,本发明中n<=64。每个就绪的通信从节点都被放在就绪表中,就绪表中有两个变量noderdygrp与noderdytable[]。在noderdygrp中,通信从节点按照优先级分组,8个通信从节点为一组。noderdygrp中每一位标明八组通信从节点中每一组是否有通信从节点进入就绪态。通信从节点进入就绪状态后,noderdytable[]中的相应元素的相应位也置为1。noderdygrp与noderdytable[]之间的对应关系如图4所示:当noderdytable[0]中的任何一位是1时,noderdygrp中的第0位置1;当noderdytable[1]中的任何一位是1时,noderdygrp中的第1位置1;当noderdytable[2]中的任何一位是1时,noderdygrp中的第2位置1;当noderdytable[3]中的任何一位是1时,noderdygrp中的第3位置1;当noderdytable[4]中的任何一位是1时,noderdygrp中的第4位置1;当noderdytable[5]中的任何一位是1时,noderdygrp中的第5位置1;当noderdytable[6]中的任何一位是1时,noderdygrp中的第6位置1;当noderdytable[7]中的任何一位是1时,noderdygrp中的第7位置1;当一个通信从节点成功入网后,通信主节点总是会为此通信从节点分配优先级,并将此通信从节点写入就绪表中。将通信从节点注册到就绪表如下所示:noderdygrp|=nodemaptable[prio>>3];noderdytable[prio>>3]|=nodemaptable[prio&0x07];当一个通信从节点向通信主节点申请退网成功时,通信主节点将从就绪表中将此通信从节点中删除。将通信从节点从就绪表中删除如下所示:if(noderdytable[prio>>3]&=~nodemaptable[prio&0x07])==0)noderdygrp&=~nodemaptalbe[prio>>3];其中nodemaptalble[]为如图6所示的数组。8)通信主节点选取最高优先级从节点算法为了使通信主节点从就绪表中快速选取优先级最高的通信从节点。本发明中使用空间换时间算法,对就绪表中noderdytable[]变量各个优先级是否有通信从节点就绪的各种可能情况进行穷举。然后针对每种情况,进行演算就绪表中最高优先级的通信从节点。将演算结果保存在数组lookuptable[256]中,如图5所示。选取最高优先级从节点如下y=lookuptable[noderdygrp];x=lookuptable[noderdytable[y]];prio=y<<3+x;此算法时间复杂度为o(1),满足了系统对实时性的需求。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1