基于高速公路的无线传感网络简单串行通信协议的设计
2011-01-12刘娅,石雄
刘 娅 ,石 雄
(武汉工业学院电气信息工程系,湖北武汉 430023)
随着科技的快速发展,人类已经置身于信息时代。而作为信息获取最重要和最基本的技术——传感器技术,也得到了极大的发展。早在上世纪 70年代,就出现了将传统传感器采用点对点传输、连接传感控制器而构成传感器网络雏形。随着相关科技的不断发展,传感器网络同时还具有了获取多种信息信号的综合处理能力。无线传感器网络是新一代的传感器网络,具有众多类型的传感器,可探测包括地震、电磁、温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等周边环境中多种多样的现象,能够实时监测和采集网络分布区域内的各种检测对象的信息,并将这些信息发送到网关节点,以实现复杂的指定范围内目标检测与跟踪,在军事、工农业、环境监测,医疗护理、抢险救灾、危险区域远程控制以及智能家居等领域都有潜在的使用价值,已经引起了许多国家学术界和工业界的高度重视[1]。
无线传感器网络可以看成是由数据获取网络、数据分布网络和控制管理中心三部分组成的。其主要组成部分是集成有传感器、数据处理单元和通信模块的微小节点,各节点通过协议组成一个分布式无线网络,借助于节点中内置的传感器测量周边环境中的热、红外、声纳、雷达和地震波信号,从而探测包括温度、湿度、噪声、光强度、压力、振动、速度和方向等物质现象,再将采集来的数据通过优化后经无线电波传输给控制管理中心[2]。传感器网络的应用前景十分广阔,本文的研究背景是应用于高速公路的无线传感网络,即在高速公路的路面以下随机地遍撒上若干个传感器模块,用以感知和测试覆盖区域内的高速公路路面上的温度、湿度、压力、振动和加速度等参量,并将各传感器模块收集到的测试数据经过A/D转换后以无线的方式传送给控制中心。而各传感器模块要想将数据准确无误地传送给控制中心,通信协议的设计就显得尤为重要了。
1 系统结构
高速公路的无线传感网络系统结构如图1所示,由如下几个部分组成。
图1 无线传感网络体系结构
1.1 传感器节点
是一种非常小型的计算机,由处理器和内存、各类传感电路 (感知温度、湿度、压力、加速度等)、无线收发设备、电池及各种串行并行接口构成,主要完成对环境的感知和监测,并将监测到的测量数据以无线通信的方式发送出去。其中传感电路由传感器、放大器及调制电路组成,完成被测非电信号向电信号的转换,并进行初步处理,例如信号的整形、放大等,然后送到通用电路,完成模拟量向数据量的转换并进行适当的处理后送往无线收发模块。无线收发设备用于传感器节点间的数据通信,解决无线通信中载波频段的选择、信号调制方式、数据传输速率,编码方式等,并通过天线进行节点间、节点与工作站间数据的发送和接收。电源部分一般为电池,它为整个传感器节点提供所需要的能量。
1.2 汇聚单元
用于接收监测区域内各传感器节点发送来的数据。
2 通信协议设计
2.1 无线传感器网络的通信协议
在计算机通信网络中,若干台计算机之间要彼此通信、传送信息,就应该在通信系统中规定一个统一的通信标准,即通信的内容是什么、如何通信、何时通信,都必须在通信的实体之间达成大家都能接受的协定,这些协定就被称为通信协议[3]。概括地说,通信协议就是对数据传送方式的规定,包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。无线传感器网络中的传感器节点要和汇聚单元 (或控制中心)之间进行正常的信息发送和接收,必须也要规定出一套通信协议,无线传感器网络的通信协议既可以采用自定义的通信协议,也可以采用已经形成标准的通信协议。比如 Zig-Bee、蓝牙和 Wi-Fi,这三种无线通信技术标准都是短距离的无线通信,它们在各方面性能之间差异较大。蓝牙技术所能通信的距离非常短,限制了其应用范围;Wi-Fi协议栈所占内存很大、功耗高使其在很多场合不实用。究竟选用什么通信标准,还需要根据系统需求来定。自定义的通信协议一般采用分层设计,参考 OSI参考模型的结构,可以提高系统的灵活性,在保持各层协议之间接口不变的情况下,各层协议可以独立进行开发,并尝试不同的算法。整个协议可分为 4层:①物理层:提供简单但健壮的信号调制和无线收发技术;②MAC层,负责数据成帧、帧检测、媒体访问和差错控制;③网络层,主要负责路由生成和路由选择;④应用层,包括一系列基于监测任务的应用层软件。
2.2 串行通信协议的设计
在无线通信系统中,由于外部环境的干扰,通信误码率通常会很高,因此通信协议的设计对保证通信的可靠性十分重要。对于通信协议而言,最重要的就是帧结构的设计,它可以复杂也可以简单,但要与我们所设计系统要达到的目标相符合[4]。第一步我们要考虑如何设计切实可用的帧结构;第二步为了增强网络传输的可靠性,我们要采用纠错的措施,并且还要有握手信号以便使控制台能够和所有的传感器节点相互通信,各传感器节点可以主动呼叫控制台,告知其监测区域的任何情况,控制台也能根据监测数据发命令告诉各节点采取什么样的动作。
对于物理层的协议,这里不做设计,由于本无线传感器网络采用的无线数据收发设备主芯片是美国AT MEL公司生产的 ATA5823,其使用频段为 314—316 MHz,属于业余频段,信号采用 FSK(移频键控)进行调制,数据传输的速率为 20Kbit/s,这些参数都是由硬件决定的,无法更改,因此,协议设计的重点是MAC层和网络层的设计。由于控制台与各传感器节点之间采用无线通信的频段只有一个可用,因此只能采用分时共享该频段的方式来实现数据的收发,也就是说控制台与不同的传感器节点之间进行数据和命令的收发在时间上必须是分开的,以避免冲突,采用轮叫轮询的方式来解决冲突问题。
帧结构的设计是协议设计的重点,每个传感器节点通过传感装置所获取到的数据,经过节点处理后形成我们设计的帧,而后将此帧发控制台,控制台收到数据后经串口交给 PC机进行统计、分析。本方案设计了两种格式的帧:命令帧和数据帧。
2.2.1 命令帧
命令帧由控制台发给传感器节点。其帧结构如表1所示。
表1 命令帧的帧结构
帧头:也就是命令帧的起始字节,它标志着帧结构的开始。
地址:存放目的地址,也就是某一传感器节点的节点号。
命令类型:表示要进行什么操作,比如读或者写数据的操作。
校验:用于检错纠错,提高数据传输的可靠性。这里我们采用奇偶校验法。
帧尾:也就是命令帧的结束字节,它标志着帧结构的结束。
2.2.2 数据帧
数据帧由传感器节点发送给控制台。其帧结构如表2所示。
表2 数据帧的帧结构
源地址:存放发送数据的传感器节点的节点号。
测试数据:存放传感器所测得的数据,包括温度、湿度、压力、振动、加速度等参量,每一个参量经A/D转换后变成 2字节的数字信号。测试数据存放的顺序需固定,这样方便 PC机进行读取和统计。
帧尾:与命令帧的帧尾可能不同。当传感器节点测试的数据较多,一帧传不完的时候,需要多传几帧,这时用帧尾来标记所传的帧的序号。比如,正常情况下,一帧就传完所有数据的时候,帧尾用 DDH来标识;如果一帧传不完,第一帧的帧尾就用 01H,第二帧的帧尾用 02H,依次类推,最后一帧用 DDH来标识,这样控制台就能够根据帧尾的标识来判别该传感器节点的数据是否传送完毕 (只有接收到帧尾为 DDH的数据帧时才表示数据传送完毕)。
3 测试结果
在测试中,采用了三个无线传感器节点来构建对等网络。其中,一个节点通过串口和 PC相连,作为控制台,通过它可以将采集到的数据传给 PC机。无线数据收发芯片采用美国 AT MEL公司的ATA5823。实验结果表明:由控制台向传感器节点发送传数据的指令后,其他两个无线传感器节点都能够正常的发送和接收数据。同时,控制台可以把接收到的传感器节点传送过来的数据交由 PC机处理。数据传送情况如图2、图3所示。
图2 PCI总线数据传输界面
图3 测试数据接收界面
4 结束语
本系统是基于高速公路的无线传感器网络进行的串行通信协议的设计,简单、易行,通过测试基本实现了控制台和各传感器节点之间的数据收发,能够保证数据传送的可靠性,成本低,较适用于中小型的无线传感器网络,对于节点众多的大型无线传感器网络,本协议尚有进一步完善改进的必要。
[1] 王殊,阎毓杰,胡富平.无线传感器网络的理论及应用[M].北京:航空航天大学出版社,2007.
[2] 孙利民.无线传感器网络[M].北京:清华大学出版社,2005.
[3] Holger Karl,Andreas Willig.无线传感器网络协议与体系结构 [M].北京:电子工业出版社,2007.
[4] 李文仲,段朝玉.短距离无线数据通信入门与实战[M].北京:航空航天大学出版社,2006.