摘要:本文规划了一种依据CC1101的远间隔无线传输协议,经过构筑网络拓扑结构完结了对节点的分层办理,确保数据在多层节点间有序精确的传输,使传输间隔最远可到达100km以上,节点数量能够增加到6万个,完结远间隔、多节点的数据传输。
要害词:CC1101芯片;无线传输协议;网络拓扑
导言
跟着通讯技能的不断发展和完善,无线通讯技能现已广泛运用于许多范畴。现在运用较为广泛的是蓝牙、ZigBee和WiFi等短间隔无线传输技能,可是它们的传输间隔短,无法满意工农业与监控等范畴对传输间隔和掩盖规模的需求,因而本文规划一种依据CC1101芯片的远间隔无线传输协议。CC1101芯片,具有低成本、低功耗、小体积、运用简略、操作灵敏等特色,其传输间隔一般为400~800 m,具有很好的数据包处理机制和足够的发射/接纳缓冲区,适用于无线长途数据传输体系。
物联网细分为5层结构:感知层、接入层、网络层、支撑层和运用层。本文依据CC1101无线收发芯片,规划一种无线传输协议,完结物联网5层体系构架中从感知层到网络层的数据交换,是相对远间隔的数据传输在接入层的一种新的传输办法。本文经过规划依据CC1101芯片的无线传输协议,扩展物联网感知层到网络层的传输间隔,丰厚接入层无线传输的办法,弥补了CC1101芯片针对远间隔无线传输协议的缺乏。
1 协议的全体架构
本文将物理节点区分为3种类型:中心节点、路由节点和终端节点。中心节点是整个网络协议的会聚中心,担任构成和保护整个传输体系的路由结构,完结对终端节点的检测与操控,完结对收集数据的处理和存储。路由节点是整个网络协议的传输体系,担任完结整个体系指令的下达和数据的传输,是整个协议数据传输的运输枢纽。终端节点作为中心节点指令的执行者,是最底层节点,可与传感器相连,担任数据的收集。3种节点间的联系如图1所示。
从全体上看,中心节点担任保护一切路由节点,而路由节点办理其规模内的终端节点,终端节点经过解析中心节点的指令,将执行指令后产生的数据经过路由节点上交给中心节点处理。因而,三者各司其职,共同完结整个体系的使命。
依据3种节点的联系可构建“一全多局”路由表,路由表担任记载整个体系的网络拓扑结构,操控数据帧传输的道路,并据此提出一种二次带着信息播送协议,来进步回应节点的完整性。本文依据TCP/IP协议分层的规划思维,归纳CC1101无线收发芯片的特征,依照传输协议数据帧传输的流程,将传输协议结构细分为5层结构,完结一全多局”路由表的组成和数据在节点间的彼此传输。
为了完结远间隔和多节点的数据收集,本文在8位地址滤波接纳形式的CC1101无线收发芯片中增加接纳/发送放大器,最远能够传输800 m,最多能够带255个节点,经过芯片节点的3种区分办法,以CC1101发送和接纳间隔500 m为单位,传输间隔最远可到达100 km以上,节点数量能够增加到6万个。
2 协议路由
2.1 路由表
本文规划一种“一全多局”的路由信息表。“一全”指中心节点具有大局拓扑网络路由节点的途径信息,即一切路由节点与其相邻节点的层次结构联系;“多局”指路由节点存储与其相邻的路由节点的信息。路由信息表结构如表1所列,该表有两个长处:第一是占用空间小,第二是可快速检索一条最短途径。
2.2 路由表构建
本文依据路由表的结构,选用一从多主的办法构建路由表信息。即一个从节点(中心节点)用于随时接纳路由节点发送的路由信息,多个主节点(路由节点)用于守时向中心节点发送其相邻的路由信息。一切的路由节点发动一个随机守时器,每隔随机的时刻就会发送一次播送,取得其相邻节点的信息,然后发送给中心节点,中心节点收到信息帧之后,构建路由表。这种办法构建的路由表信息更新速度更快,运用更灵敏。
2.3 数据传输途径
依据“一全多局”路由表,以一种组网办法为例,截取部分大局路由表信息如表2所列。例如从中心节点传递数据给路由节点4(1到4),首要能够快速定位到 ID等于4的方位,并取得其父链表中的一个父节点ID为2,再定位到ID等于2的方位,并取得其父链表中一个父节点ID为6,然后定位到ID等于6的方位,得到其父节点1,1为中心节点,所以其途径为1—6—2—4。由于定位在数组中,省掉遍历路由表的时刻,加速途径确认的速度。别的,从表2中能够看出,4节点地点的层次为3,阐明1—6—2—4为最短跳变,然后证明大局路由表规划的精确性。
2.4 二次带着信息播送协议
路由表担任记载整个体系的网络拓扑结构,操控数据帧传输的道路,因而路由表的完整性和精确性联系到数据传输速度和协议运转的功率。而播送作为路由表的生成根底,直接影响路由表的完整性和精确性。
本文提出一种二次带着信息播送协议,来进步回应节点的完整性。
二次带着信息播送:源节点首要发送一次播送指令并发动一个播送守时器,收到播送指令的节点,依照防磕碰算法进行播送指令的回应源节点在播送守时器超时之后,将收到的回应信息节点地址放入到第2次播送指令帧中,进行第2次带着信息播送,收到该播送指令的方针节点首要在播送指令帧中查找自己的地址,假如找到,则不进行播送回应,不然依照防磕碰算法进行播送回应。二次带着信息播送的进程如图2所示。
依照二次带着信息播送的进程,其播送指令帧的格局如下:
依据二次带着信息播送的原理和进程,规划如图3所示的流程。由于播送处在协议层次中的链路层,因而,此图的左半部分表明链路层程序流程,右半部分为二次带着信息播送的程序流程。
3 协议层次结构
协议区分的5层从底层到高层依次是物理层、链路层、网络层、解析层和运用层。每层担任解析本身层次数据帧,对其他层的数据格局不行见。各层的层次阐明如表3所列。
依据以上5层结构中各层不同的功用,协议数据传输的进程如图4所示,能够得出,在源节点到方针节点数据流过5层,然而在中心路由节点,只需求经过协议的底3层,即中心路由节点对传输的数据是不行见的。
各个协议层的功用如下:
①物理层是协议层中的最底层,担任数据传输之前监测信道是否闲暇,避免数据磕碰的产生,以便确保点对点数据传输的精确性。
②链路层首要在相邻节点间完结数据精确无误的传输,使上层不必忧虑帧丢掉、搅扰和过错等问题,向上层供给精确的数据包。
③协议网络层首要供给数据传输的途径,使数据能够依照最短途径完结传输,并向上层供给简略灵敏、无衔接、尽最大努力交给的数据服务。网络层服务质量联系到数据包传输的速度和网络的稳健性,是分层传递的要害技能。
当处理节点不行达信息回传时,可能会呈现死循环现象,因而本文规则:假如数据帧向基层节点传输的进程中呈现不行达节点,则把节点不行达信息回来给中心节点,以便中心节点为完结数据帧传输做出进一步处理;可是,假如数据帧向上层节点传输的进程中呈现不行达信息,则直接丢掉数据帧,等候中心节点超时,中心节点超时没有收到回应信息,就会重传,重传超时会更新路由表或挑选其他线路完结数据的传输。
④解析层首要为运用层供给一个共同的接口,运用层能够经过该接口,完结指令帧的封装和发送。除此之外,解析层将整个网络拓扑结构放在Linux内核内存空间,为了快速呼应运用层对拓扑网络的恳求指令,为运用层拜访路由表信息供给一组路由相关的指令接口。
⑤运用层相当于用户在协议的根底上,经过调用解析层供给的接口,完结对终端节点的检测和操控。开发人员只需了解相关的接口和需求完结的功用,即便不明白协议,也能够完结程序开发。
4 体系测验
大局路由表是整个协议的核心内容,它的精确性是整个体系是否能够正常、快速运转的要害。因而,能够经过布置不同网络结构、比较网络结构与路由表记载的结构,然后验证协议路由表映射的精确性。本文规划单层、双层穿插网络结构,对协议大局路由表进行层次性测验,经过开发板输出的大局路由表结构与实践路由节点布置比照,验证各种层次结构路由协议运转的精确性。
路由表单层测验结构规划如图5(a)所示,单层形式下开发板输出大局路由表测验成果如图5(b)所示。从输出成果能够看出,ID为01的节点层次为0,父节点为-1,阐明该节点是中心节点,其他节点层次都为1且父节点都只要01,然后能够证明,大局拓扑网络为以01节点为中心的单层结构。此定论与图 5(a)中的单层结构图相符,证明了协议单层结构中运转的精确性和大局路由表的完整性。
在实践环境布置节点的进程中,节点途径不行能都是简略的无穿插分支结构,其分支必定存在必定程度的穿插。因而,本文规划了双父节点双层结构测验形式,其全体节点布置如图6(a)所示,图6(b)为该形式下节点组网完结后的大局路由表。从输出的成果能够看出,第2次路由节点包含09、0C和0D,09有两个父节点0B和0E,0C和0D分别是0B和0E的子节点,0B和0E坐落第一层,其父节点为01。其成果显现与实践路由散布共同,然后证明,在双父节点双层结构形式下协议运转正确。
结语
本文经过规划一种远间隔无线传输协议,完结了依据CC1101无线芯片的远间隔、大面积规模的数据传输。首要构建了协议的全体构架,然后规划了记载网络结构的路由信息表并依据数据传输进程对协议进行层次区分,最终详细分析了协议在各个协议层间的作业进程及协议原理。此协议弥补了CC1101芯片针对远间隔无线传输协议的缺乏,可运用于工农业现场数据的收集以及监控等范畴。