引言
随着通信技术的不断发展和完善,无线通信技术已经广泛应用于很多领域。目前应用较为广泛的是蓝牙、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所示。
按照二次携带信息广播的过程,其广播命令帧的格式如下: