




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
无线传感器网络节点的软件设计方案 绪 论1.1 课题背景无线传感器网络作为一门新兴的,跨学科的技术,已经引起了国内外相关领域的广泛关注,被列为全球未来三大高科技产业之一,其发展速度惊人,并有着广阔的前景。无线传感器网络综合了传感器技术、嵌入式计算技术、分布式信息处理技术以及无线通信技术等多个领域的关键技术,无线传感器网络中的节点之间能够写作的实时监测、感知和采集网络分布区域内的各种客观环境或监测对象的数据信息,并对这些信息进行处理,有选择性的将有用信息传输给需要这些信息的用户。另一个方面,近几年人们提出了物联网(Internet of Things,IOT【1】)的概念,它可以认为是“物物相连的互联网”,通过把感应器、处理器和无线通信模块等设备嵌入到电网、铁路、桥梁、建筑、电器等各种物体中,使它们相互连接,构成物联网,它被称为是继计算机技术、互联网和移动通信网之后的又一次信息产业浪潮,由物联网和互联网构成智慧地球。智慧地球的基础是需要世界更全面的互联互通和更深入的智能化,它涉及几乎所有的行业并赋予人们能力去越来越智慧地解决问题。国际上有多个国家和地区已经启动了相应的研究计划,如我国的“感知中国”概念、日本的U-Japan计划、韩国的U-Korea计划、美国的“智慧地球”等,而欧洲智能系统集成技术平台(EPoSS)在Internet of Things in 2020中分析预测,未来物联网的发展将经历四个阶段:2010年之前RFID被广泛应用于物流、零售和制药领域,20102015年物体互联,20152020年物体进入半智能化,2020年之后物体进入全智能化。这些技术的发展和应用,都为无线传感器网络的发展提供了良好的外部环境,无线传感器网络将形成巨大的、全新的制造、运营产业。美国总统信息科技顾问委员会的报告指出,无线传感器网络是21世纪最具有科技重要性和经济前途的九大领域之一。无线传感器网络是信息感知和采集技术的一场革命,作为一个崭新的研究领域在基础理论和工程应用两个方面向科技工作人员提出了大量的挑战性研究课题。在此背景下,本文主要研究的是无线传感器网络节点的设计。1.2 无线传感器网络的特点无线传感器网络(Wireless Sensor Network,WSN【2】)是一种全新的信息获取平台,能够实时监测和采集网络分布区域内的各种监测对象的信息,并将这些信息发送到网关节点,以实现复杂的指定范围内的目标检测与跟踪。无线传感器网络结构(如图1-1)。图1-1 典型的无线传感器网络结构无线传感器网络由大量功能相同或不同的无线传感器节点组成,每一个传感器节点由数据采集某块(传感器、A/D转换器)、处理器模块(微处理器)、通信模块(无线收发器)和供电模块(电池、DC/DC能量转换器)等组成(如图1-2)。处理器模块通信模块数据采集模块 供电模块图1-2 传感器节点结构框图 其中,数据采集模块主要负责数据的收集,并将其传给处理器单元;处理器模块接收来自数据采集模块发送的数据并将其传给通信模块的接收端;通信模块分为接收模块和发送模块,发送模块将从处理器接收的数据发送给数据模块,完成通信;通电模块为整个节点的各个模块正常工作提供所需的能量。无线传感器网络具有以下特点【3】:(1) 能量资源有限网络节点由电池供电,而电池的容量是有限的,这就决定了可用的能量石有限的,无线传感器网络一般应用在环境比较恶劣的地方,有的地方人类有甚至不能到达,这些特殊性决定了在应用的过程中不能及时地更换电池,无法给无线传感器网络补充能量,因此,需要高效地使用能量来最大化网络生命周期。(2) 硬件资源有限传感器节点是一种微型嵌入式设备,无线传感器网络中会部署很多传感器节点,要高效地使用能量就需要各节点具有低功耗、低成本的特点。由于能量有限,所能携带的处理器也有限,处理能力相对较弱,导致计算能力和存储能力有限。在硬件设备受限的条件下,传感器要完成正常的工作,如数据的采集、转换、管理、处理等,就要优化设计以实现硬件的协调工作。(3) 大规模性无线传感器网络的大规模性包括两个方面:一个方面是传感器节点通常分布在很大的地理区域内,在这些区域内需要部署许多传感器节点;另一个方面,在一定的比较小的空间内分布大量传感器节点,因此传感器的分布比较密集。这种大规模性的优点是:由于可以通过许多空间视角观察传感器网络,因此获得的信息具有更大的信噪比;大量冗余节点的存在,使无线传感器网络具有特别强的容错性;增大了监测区域的覆盖,可以减少盲区;通过利用分布式算法处理大量信息可以降低对单个传感器节点精度的要求。(4) 自组织性在无线传感器网络中,传感器节点往往被安置在没有基础结构的地方,通常是通过飞机播撒到未知区域,其位置不能预先精确设定,节点之间的相互邻居关系也不知道,这就要求传感器网络具有自组织的能力。网络节点播撒后,传感器节点能自动进行配置和管理,利用拓扑机制和网络协议形成多跳路由的无线传感器网络,这种网络能自动转发监测数据(5) 多跳路由无线传感器网络节点的传输距离一般为几十到几百米,通信距离非常有限,节点只能和它相邻的节点进行通信,由于无线传感器网络覆盖面积较大,因此需要采用多跳路由的方式进行通信。无线传感器网络没有专门的路由设备,多条路由的功能由普通的网络节点来完成。由于每个传感器节点都或多或少的受到外界环境的影响,路由可能会随时发生变化,因此会导致通信中断。为了满足无线传感器网络的通信能力,需要对网络设计多条路由机制。(6) 网络动态性强在无线传感器网络工作的过程中,部分节点会附着于物体表面,因此节点会随处移动。因为无线传感器网络的能量有限,当电能耗尽时,无线传感器节点会出现故障或失效;由于外界环境的不断变化,可能会造成通信链路的中断并可能使带宽发生变化;有时由于实际的需要,可能会在网络中加入新的节点,这就要求传感器网络能够适应这种变化。(7) 可靠性传感器网络通常分布在环境特别恶劣甚至是人类不能到达的区域,有可能工作在露天环境,一般是通过飞机播撒随机部署,这些都要求传感器节点必须非常坚固,不易损坏,能适应各种恶劣的环境,否则就会造成通信的中断;鱼油监测环境的特殊性以及传感器节点数目非常庞大,因此不能“人工”照顾到没一个传感器节点,传感器网络一般维护起来比较困难甚至不可维护,这就需要传感器网络具有较好的鲁棒性和容错性;由于传感器网络在军事方面等一些需要保密的场所有所应用,因此要防止监测到的数据被他人盗取或得到别人伪造的数据,由于应用的特殊性,这就要求传感器网络具有良好的保密性和安全性。1.3 无线传感器网络的应用领域 无线传感器网络有其独特的技术优势,因此,在应用领域上也与传统的通信网络具有明显的区别,无线传感器网络主要应用领域【4】有:(1) 军事领域 军事领域是无线传感器网络技术最主要的应用领域,也是无线传感器网络技术诞生的领域。由于无线传感器网络具有快速部署、自组织、隐蔽性强及高抗毁能力等点,利用无线传感器网络可以实现对敌军兵力和装备的监控、战区的实时监控、目标的定位、战场评估、核攻击和生物化学攻击的监测和搜索等功能。目前国际上有很多机构的课题都是以战场需求为背景开展的。比如,美军开展的C4KISR计划、Smart Sensor Web、灵巧传感器网络通信、无人值守地面传感器群、传感器组网系统、网状传感器系统CEC等等。 在军事领域应用方面,该项技术的远景目标是:利用飞机或火炮等发射装置,将大量廉价传感器节点按照一定的密度布放在监测区域内,对周边的各种参数,如温湿度、声音、磁场、红外线等各种信息进行采集,然后由传感器自身构建的网络,通过网关、互联网、卫星等信道,传回信息中心。(2) 农业领域 我国是农业大国,农作物的优质高产对国家的经济发展意义重大。在这些方面,无线传感器网络具有卓越的技术优势。它可用来监视农作物灌溉情况、土壤空气变更、牲畜和家禽的环境状况以及大面积地表监测。 一个典型的监测系统是由环境监测节点、Sink节点、通信网络及监控中心软件构成。在实际部署时,可以根据需要,在待测区域内安放不同功能的传感器节点组成网络,搜集需要的客观环境信息。(3) 环境观测 应用于环境观测的无线传感器网络,一般具有部署简单、便宜、长期不需要更换电池、无需派人现场维护的优点。通过密集的节点布置,可以观察到微观的环境因素,为环境研究和环境监测提供一条崭新的途径。 无线传感器网络在环境观测领域内已经有很多的应用实例了,包括:对海岛鸟类生活规律的观测:气象现象的观测和天气预报;森林火警;生物群落的微观观测;洪灾预警等。(4) 建筑领域 在建筑领域内,各类大型工程的安全施工及监控是建筑设计单位长期关注的问题,比如三峡工程、海底电缆、奥运场馆等。采用无线传感器网络技术,可以让大楼、桥梁和其它建筑物能够自身感觉并意识到它们自己的状况,使得安装了传感器网络的智能建筑自动告诉管理部门它们的状态信息,从而让管理部门按照优先级进行定期的维修工作。(5) 医疗监护 无线传感器网络在监测人体生理数据、老年人健康状况、医院药品管理以及远程医疗等方面同样可以发挥出色的作用。在病人身上安置体温采集、呼吸、血压等监测传感器,医生便可以远程了解病人的情况。利用传感器网络长时间地收集人的生理数据,这些数据在研制新药品的过程中也非常有用。 美国Intel公司目前正在研制家庭护理的无线传感器网络系统。该系统是美国“应对老龄化社会技术项目”的一个环境。根据演示,该系统在鞋、家具、以及家用电器等设备上嵌入传感器,帮助老年人及患者、残障人士独立地进行家庭生活,并在必要时由医务人员、社会工作者进行帮助。1.4 本文主要内容以及文章结构 本文将从无线传感器的硬件特性分析和通信协议的构想,硬件电路的设计,简单MAC协议和路由协议的设计、软硬件调试及相关结果介绍无线传感器网络节点的设计。本文的内容安排如下:第一章是绪论部分;第二章是硬件设计方案;第三章是软件设计方案;第四章是调试及调试结果;最后将得出结论。 2 系统硬件设计如上介绍无线传感器节点的基本组成包括数据采集模块(传感器、A/D转换器)、数据处理和控制模块(微处理器、存储器)、通信模块(无线收发器)和供电模块(电池、DC/DC能量转换器)。数据采集模块负责监测区域内信息的采集和数据转换;数据处理和控制模块负责控制整个传感器节点的操作,存储和处理本地采集的数据以及其他节点发来的数据;通信模块负责与其他传感器节点进行无线通信,交换控制消息和收发采集数据;供电模块为传感器节点提供运行所需要的能量,通常采用微型电池,下不做详细介绍。2.1 系统结构2.1.1数据处理和控制模块数据处理单元是传感器网络节点的核心,和其他单元一起完成数据的采集、处理和收发。从处理器的角度看,无线传感器网络节点基本可以分为两类:一类采用以ARM处理器为代表的高端处理器。该类节点的能量消耗比采用微控制器大很多,但是其处理能力也强很多,适合图像等高数据量业务的应用,也适合作为网关节点。另一类是以采用单片机为代表的节点。该类节点的处理能力较弱,但是能量消耗功率也很小。本课题的设计要求比较低,采用能耗较小的单片机是合适的。本课题选择AT89C51,其是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。另外其良好的适应性和强大的功能能满足本设计的需要。2.1.2 通信模块通信模块主要是指无线收发器,在选择无线收发芯片时应考虑需要以下几点因素:功耗、发射功率、接收灵敏度、收发芯片所需的外围元件数量、芯片成本、数据传输是否需要进行曼彻斯特编码等。本课题选择315无线收发模块。315无线收发模块由发射模块和接收模块组成,由于其工作频率为315MHz,故取名315收发模块。315无线发射模块的主要参数及特点如下:(1)通讯方式:调幅AM(2)工作频率:315MHZ(3)频率稳定度:75KHZ(4)发射功率:500MW(5)静态电流:0.1UA(6)发射电流:350MA(7)工作电压:DC 312V 图2-1 DF数据模块DF数据模块(如图2-1)具有较宽的工作电压范围312V,当电压变化时发射频率基本不变,和发射模块配套的接收模块无需任何调整就能稳定地接收。当发射电压为3V时,空旷地传输距离约2050米,发射功率较小,当电压5V时约100200米,当电压9V时约300500米,当发射电压为12V时,为最佳工作电压,具有较好的发射效果,发射电流约60毫安,空旷地传输距离700800米,发射功率约500毫瓦。当电压大于l2V时功耗增大,有效发射功率不再明显提高。 接收模块一般分为超再生接收和超外差接收两种。本节点的315无线接收模块选用RXB8,是VHF/UHF超高频无线数据传送超外差无线接收模块。特点如下:(1)灵敏度高达-114dbm,接收距离为普通接收板的两倍以上。 (2)有合理的接收带宽,抗干扰能力特强,适应各种环境使用。 (3)良好的集散辐射抑制能力,易通过各种FCC、CE检测标准。 (4)良好的屏蔽,各种安装环境对模块性能影响小。 (5)良好的本振辐射抑制能力,可多个模块一起工作(单发多收)且不会互相干 扰,一起使用不影响接收距离。 (6)采用SWA本振,性能稳定,适用温度范围广。 (7)省电,在5V电源工作时,接收耗电约10mA。 (8)适用于250450MHz各频点调整容易,供货周期短。 (9)单片机直接接口,容易实现。 (10)一致性好,体积小。 (11)传输速率最高可达20kbps。超外差电路是利用本地产生的振荡波与输入信号混频,将输入信号频率变换为某个预定的频率的电路。超外差这种方法是为了适应远程通信对高频率、弱信号接收的需要,在外差原理的基础上发展而来的。外差方法是将输入信号频率变换为音频,这种方法是将输入信号变换为超音频,所以称之为超外差。虽然超外差接收模块灵敏度比超再生接收模块低,价格高于超再生接收模块,但其优点是频率稳定,抗干扰能力好,和单片机配合时性能比较稳定。接收模块电路是由选频电路、高频放大电路、超外差检波电路和低频放大电路组成。发送调制信号经过选频电路选频后,送入超外差检波电路解调,再由低频放大电路放大后由输出引脚输出高电平。若无信号收到,则输出低电平。2.1.3数据采集模块 数据采集模块的核心部分即传感器部分。传感器种类很多,可以检测温湿度、光照、噪声、振动、磁场、加速度等物理量,将这些环境变量转变为可供测量的信号。相对于常规的传感器,课题的设计中更多的会涉及到的是现成的集成设计的微型传感器,至于传感器的具体工作原理,我们并不关心,我们只要知道用就可以了。考虑到整个节点由电池供电,必须选择体积小、低功耗、外围电路简单的传感器。如果是实际应用,完全可以直接采用不需要信号调理电路的数字式传感器,而在我们的课题设计中,则应当尽量不要使用数字式传感器。本课题选用的是温度传感器DS18B20。DS18B20(图2-2)是美国DALLAS半导体公司继DS1820之后推出的增强型单线数字温度传感器【3】。它在测温精度、转换时间、传输距离、分辨率等方面有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。与传统的热敏电阻相比,它不仅能够直接读出被测温度值,并且可以根据实际要求通过简单的编程来读取912位的温度值。本次设计之所以选用这款温度传感器,是因为它体积小,接线简单(单总线元件),测量精度符合要求。 图2-2 数字式温度传感器DS18B20由上图可以看出DS18B20采用脚PR35封装或8脚SOIC封装,采用PR-35封装时,其各引脚功能见下表2-1:表2-1DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2I/O数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。DS18B20工作原理如下:DS18B20测温原理如图2-3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号并将信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2-3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。LSB置位/消除加1斜率累加器预置比较计数器1低温度系数晶振=0温度寄存器计数器2高温度系数晶振=0预置停止图2-3 DS18B20测温原理图 DS18B20的主要特性有:(1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电;(2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;(4) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(5) 温范围55125,在-10+85时精度为0.5;(6) 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温;(7) 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8) 测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;(9) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。从以上特性可以看出,DS18B20对工作环境要求低,可以在比较恶劣的环境下正常工作;接口简单,易于进行模块化设计;数字输出,精度可以达到很高的要求。另外,DS18B20还具有体积小,传输距离远,价格低廉等特点,非常适宜作为无线传感器网络节点的传感测量单元。另外,DS18B20还支持“一线多机”设计,可以提高测量数据的精确度。另外由于本节点模型的模块化设计,可以支持各传感器测量单元,包括模拟量输出的传感器单元,只要在其与单片机之间加入A/D转换模块即可。这也将是本节点功能扩展的一方面。2.2 节点的硬件总体设计方案 本文设计的无线传感器网络是以STC89C51单片机为微处理芯片,控制做测量端的温度数字传感器DS18B20进行测量温度,并且通过315无线收发模块进行无线数据的传输,通过MAX232串口芯片与PC机通信。各个部分之间通过软件控制协调工作。既然设计的无线传感器网络节点以STC89C51为核心,就要考虑其它元件与STC89C51的连接方式问题。首先,STC89C51的最小系统是必不可少的,这也将成为整个节点中模块化的一部分。其即315无线收发模块和DS18B20都是三线制模块,接线将会非常简单。整体框图如下图2-4所示,硬件设计电路原理图如图2-5所示。图2-4 无线传感器网络节点电路框图图2-5 硬件设计方案电路原理图2.3 本节总结 本章介绍了设计的无线传感器网络节点的硬件部分,主要是各硬件模块的功能特点,以及控制单元与无线通信模块和测量模块及串口通信模块的连接方式。 3 系统软件设计 3.1 软件设计概述 本无线传感器节点的软件设计主要有温度传感器DB18S20控制程序、无线通信协议程序。传感器控制程序主要针对一线单机外接电源的传感器连接方式编写,通信协议部分主要是MAC简化协议的设计和简单一跳路由的设计。本节点的软件设计的语言是用的C51语言编写及用KEIL进行软件调试,通过串口下载到单片机中运行实际环境调试。3.2 软件开发工具KEIL的简介51单片机开发软件较多,但其中最好的一款莫过于公认的keil,这里采用keil用C语言编写程序。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEIL是德国Keil Software公司开发的8051系列单片机的软件开发平台,提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:Vision IDE集成开发环境(包括工程管理器、源程序编辑器、程序调试器)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-51、RTX51实时操作系统。软件开发的编程语言采用C语言实现因为C语言比传统的汇编语言更有优势。通过C可实现模块化编程技术,从而可将已编制好的程序加入到新程序中;C语言可移植性好且非常普及,C编译器几乎适用于所有的目标系统;已完成的软件项目可以容易地转换到其它的处理器或环境中。本节点的软件设计编写语言为C语言,在KEIL里面编写程序,并且编译生成.HEX文件。并且在KEIL里面进行软件调试。具体的编写和调试步骤如下:(1) 新建一个工程,在工程里面新建一个文件保存为.C格式文件进行编译并生成.HEX文件。如果编译成功则说明所编程序没有语法错误,否则要找到错误并改正,直到编译成功为止。(2) 编译成功后,再进行软件调试,在KEIL里面调试软件的运行情况,观察P1的情况及软件用到的相关寄存器情况。(3) 延时程序的测试,在调试软件的时候,进行C语言程序的反汇编,在反汇编程序里面的延时部分开始和结束设置断点,并且把时钟频率设置为12MHz。运行一次程序记录下SEC值,再运行一次记录第二次SEC值。两次相减则得出延时时间。(4) 打开反汇编窗口,对程序进行单步运行观察程序运行流程,如果按照设计要求运行则正确,否则修改程序。如图3-1所示为keil软件的编程环境,版本为uVision4图3-1 Keil开发环境界面3.3 数据采集模块主程序设计由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89C51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。主机使用时隙来读写DS18B20的数据位和写命令字位。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,则在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。i. 初始化时序基于单总线的所有传输过程都是以初始化开始的,初始化过程由单片机发出的复位脉冲和DS18B20的响应的应答脉冲组成,初始化时序如图3-2所示。应答脉冲使单片机知道,总线上有1-Wire设备,且准备就绪。初始化过程如下:主机通过拉低单线480us以上,产生复位脉冲,然后释放该线,进入Rx接收模式。主机释放总线时,会产生一个上升沿。单总线器件检验到上升沿后,延时15-60us,通过拉低总线60-240us来产生应答脉冲,说明器件在线。 图3-2 初始化命令时序图ii. 读时序DS18B20的读时序分为读0时序和读1时序两个过程,时序如图3-3所示。DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成,并且两个读时序之间至少要有1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。在主机发起读时隙之后,DS18B20器件才开始在总线上发送0或1,若DS18B20发送1,则保持总线为高电平。若发送为0,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至高电平状态。DS18B20发出的数据,在起始时隙之后保持有效时间为15us。因而主机在读时隙期间,必须释放总线。并且在时隙起始后的15us之内采样总线的状态。 图3-3 读命令时序图iii. 写时序DS18B20的写时序仍然分为写0时序和写1时序两个过程,时序如图3-4所示。DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要至少被拉低60us,保证DS18B20能够在15-60us之间正确地采样I/O总线上的0电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 图3-4 写命令时序图DS18B20总共有10条控制命令,如下表3-1所示:表3-1 ROM操作命令指令说明读ROM命令(33H)读DS18B20的序行号搜索ROM命令(F0H)识别总线上各器件的编码匹配ROM命令(CCH)用于多个DS18B20的定位跳过ROM命令(CCH)此命令执行后,存储器操作将针对总线上所有操作报警搜索ROM命令(ECH)仅温度超限的器件对此命令做出响应RAM操作命令指令说明温度转换(44H)启动温度转换读暂存器(BEH)读全部暂存器内容写暂存器(4EH)写暂存器第2,3和4个字节的数据复制暂存器(48EH)将暂存器中的TH,TL和配置寄存器内容复制到EEPROM中读EEPROM(B8H)将TH,TL和配置寄存器内容从EEPROM中回读至暂存器所以由以上原理分析知,软件程序具体的过程如下:第一步使DS18B20复位。(1)单片机对DS18B20置一个480至960微秒的复位低电平;(2)置一个15至60微秒的等待高电平;(3)单片机设置480微秒的延时,等待DS18B20发出信号。第二步写入SKIP ROM指令CCH。第三步写入温度转换指令44H,DS18B20进行温度转换。第四部使DS18B20复位,同第一步。第五步写入SKIP ROM命令。第六部写入读寄存器命令BEH。第七部读寄存器低位数据。第八步读寄存器高位数据。这样DS18B20感应到的温度就被单片机读出来,参照表3-2可以查出实际的温度7。表3-2 代码与温度的对应图温度数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 0000B07D0H+850000 0101 0101 0000B0550H+25.06250000 0001 0101 0001B0191H+10.1250000 0000 1010 0010B00A2H+0.50000 0000 0000 1000B0008H00000 0000 0000 0000B0000H-0.51111 1111 1111 1000BFFF8H-10.1251111 1111 0101 1110BFF5EH-25.06251111 1110 0110 1111BFF6FH-551111 1100 1001 0000BFC90H综上DS18B20的工作流程图如图3-5以及DS18B20在一线单机,外接电源供电情况下的一个测量过程的完整程序流程图如图3-6。开始返回初始化DS18B20是否存在 N 读取温度值 ROM操作命令存储操作命令 Y Y图3-5 DS18B20工作流程图初始化关中断写跳过ROM指令CCH写温度转换指令44H写读寄存器指令BEH读数据高八位读数据低八位写跳过ROM指令CCH延时返回开始图3-6 DS18B20主程序流程图3.4无线传感器网络通信协议的设计3.4.1无线传感器网络的体系结构无线传感器网络由有多个传感器节点组成,这些节点通常分布在条件比较恶劣的地方,节点以自组织形式构成网络,通过多跳路由以无线通信的方式将监测数据传到sink节点,最终借助长距离或临时建立的sink链路将整个区域内的数据传送到远程数据管理中心进行集中处理。如果无线传感器网络规模太大,可以采用聚类分层的管理模式,典型的无线传感器网络系统架构,如图3-7所示图3-7 无线传感器网络系统架构无线传感器网络的体系结构由分层的网络通信协议、网络管理平台、应用支撑平台三部分组成。无线传感器网络通信协议机构参考了现有的通用网络的TCP/IP和OSI模型的结构,又包含了无线传感器网络特有的能量管理、移动性管理和任务管理3个层面。其整个模型主要包括应用层、传输层、网络层、数据链路层、物理层、能量管理平面、移动性管理平面、任务管理平面8个部分组成,无线传感器网络协议层次结构如图3-8所示图3-8 无线传感器网络协议层次结构图其中分层网络通信协议由物理层、数据链路层、网络层、传输层、应用层五部分组成.1. 物理层:负责信号的调制和数据的收发,所采用的传输介质主要有无线电、红外线、光波等。WSN推荐使用免许可证频段(ISM)。物理层的设计既有不利因素,例如传播损耗因子较大,也有有利的方面,例如高密度部署的无线传感器网络具有分集特性,可以用来克服阴影效应和路径损耗。2. 数据链路层:负责数据成帧、帧监测、媒体接入和差错控制。其中,媒体接入协议保证可靠的点对点和点对多点通信;差错控制则保证源节点发出的信息可以完整无误地到达目标节点。 3. 网络层:负责路由的发现和维护,由于大多数节点无法直接与网关通信,因此需要通过中间节点以多跳路由的方式将数据传送至汇聚节点。而这就需要在WSN节点与接收器节点之间多跳的无线路由协议。 4. 传输层:负责数据流的传输控制,主要通过汇聚节点采集传感器网络内的数据,并使用卫星、移动通信网络、Internet或者其他的链路与外部网络通信,是保证通信服务质量的重要部分。 5. 应用层:由各种面向应用的软件系统构成。主要研究的是各种传感器网络应用的具体系统的开发,例如:作战环境侦查与监控系统,情报获取系统,灾难预防系统等等。3.4.2 无线传感器网络通信协议方案设计针对节点的特性,提出了以下设计构想:首先在硬件方面,由于结构简单,更多的注意力应被放在如何降低干扰方面,节点与外界,节点间,甚至节点自身的元件间都会出现干扰。另外节能也是要考虑一个方面。节点硬件功能的不足往往需要相关软件设计来弥补。所以针对节点的一些特性,选择功能合适的软件来对工作过程进行控制尤为重要。对于无线传感器网络,通信协议是软件的主要部分。所以对于通信协议的设计决定了设计的节点是否能构成一个可以投入实际应用的无线传感器网络。对于一个无线传感器网络,最重要的通信协议主要是定义在数据链路层的介质访问控制(Medium Access Control,MAC)层的MAC协议和网络层的路由协议。前者决定了通信的信道分配,而后者决定了数据传输的路线。下面详细说明对这两个协议的设计方案。 (1) MAC协议的设计方案在无线传感器网络中,数据链路层的MAC协议决定无线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构。由于315无线收发模块无线信道为通用315MHz单一公用信道,根据这一特点,本文设计了一种基于IEEE802.11无线局域网MAC协议的基本思想的一种基于竞争的MAC协议。下面将对此协议进行介绍。 IEEE802.11MAC协议的基本思想可总结为:信道会被最先使用的通信单元所占有。也就是,某通信单元如果想要占用信道进行通信,首先要对信道的使用情况进行侦听。如果信道空闲则进行信息的传输,而如果信道被其他通信单元占用,则要等待此通信过程结束,之后再进行自己的信息传输。这种通信方式非常适合单一信道的315无线收发模块之间的通信。而作为无线传感器网络的MAC协议,节点不可能如PC机一样在等待传输过程中始终对无线信道的使用情况进行侦听,这就要引入周期性的侦听睡眠机制,以尽量减少节点自身能量的消耗。 首先,需设计节点间的应答模式。本文模拟温度采集网络节点间的通信过程,将整个应答过程设计为:节点A发出收集数据请求节点B发送数据节点A发送结束信号,每次完整的无线通信过程需要三组信号。 MAC协议运作机制示意图如图3-9所示。其中每个数据包之间加入一定的等待时间,暂定为两帧数据传输时间,可保证传输可靠。三个数据包传输时间加上每两个数据包间的等待时间构成了预约时间。如果通信过程超过预约时间则认为通信失败,两个节点将放弃对无线信道的占用,由所有节点来竞争使用权。 图3-9 MAC协议机制示意图 节点的侦听睡眠周期机制的设定如下:整个侦听睡眠的周期设为三分之一的预约时间,将每次侦听开始的时间设在等待时间的中间位置左右,保证侦听节点能接收到完整的帧头,这样在发现信道被占用时,可以第一时间发现通信信道的占用节点是否包括本节点。如果不包括本节点,则进入睡眠状态;如果在十个数据帧时间内侦听不到通信信号或接收到结束信号,则发送通信请求;如果接收到其他节点与自己的通信请求,则先响应请求,之后会拥有无线信道的优先使用权,以最大程度的减少信息延迟。 上图为一个通信过程的实例。首先节点A先行占用了无线信道,向节点B发送通信请求;节点B和节点C都对信号进行侦听,结果发现节点B为通信节点而节点C不是,则节点B开始与节点A进行通信,节点C继续侦听睡眠的过程;在节点A与节点B的通信过程中,节点C欲与节点X之间通信,这样节点C不断对通信信道进行侦听,直到接收到结束信号之后的下一个通信周期,立即发送通信请求占用信道,与节点X进行通信;而此时节点A与节点B通信过程结束,回到周期性的侦听睡眠状态,等待下一个通信过程。无线传感器网络MAC协议建立后,节点间就可以通过对簇头节点的选择构成一个星形网络。实际设计工作中,应用此协议简化版本的节点可以组成一个由少量节点和一个上层控制节点组成的具有一跳路由结构的星形网络(下节将做更具体的介绍)。对于实际设计的简化的MAC协议,发送的每帧数据的结构是根据红外线遥控器数据帧的特点和通信数据结构设计出的一种数据帧,包括以下几个部分:帧头,前导码,数据或指令代码,校验位(也是结束位)。设计了一跳路由的功能,完善了网络机制。设计的数据传输格式为:帧头由二十位周期为400微秒,占空比为50%的方波组成。其他数据或指令代码的编码均为100微秒的高低电平。前导码为四位数据,暂定为0101B,是为了保证后面各位数据的接收准确,接收后即将其丢弃。数据或指令代码主要是由节点编号和数据组成。作为数据信号的代码帧的数据或指令代码部分由两个八位的节点编号代码和两个八位的数据码组成。节点编号分别是目标节点编号和测量终端节点编号。发送的数据为低八位数据和高八位数据。最后的校验码为两位,同时作为数据传输的结束信号,采用偶校验,输出量为相同的信号,若这两位信号都与接收节点的校验结果相同则认为传输正确,若有一位不同则认为传输错误,需要重新接收。对应各种数据代码和程序代码,在单片机内部的RAM中设计了固定的存储变量用来对数据进行存放、读取及比较等操作。具体的存储变量安排如表4-2所示。表3-3 相应数据存储宏定义字节地址对应内容Joq校验码Bjc本节点编号Csc数据源节点编号Mjc目标节点编号Jjc接收到的目标节点编号(与本节点编号比较)Ccjc55H(表示测量节点的功能编号)RjcAAH(表示路由节点的功能编号)Gnc功能编号的存储单元Jfc接收到的发送节点编号Ysl预发送数据的低八位Ysh预发送数据的高八位Jmc接收到的目标节点编号Jcc接收到的测量节点编号发送过程的程序流程图如图3-10所示。其中为保证接收准确,每帧数据循环发送20次,形成一个数据包。这是通过实际工作情况确定的数字,可保证因为干扰信号产生误码,使某帧数据传输出现错误的情况下仍能使接收节点有机会重新接收正确的信号。接收数据时,读取P1.1口的数据的位置选在每个数据电平的中间左右,这样即使程序设计过程中有发送和接收不同步的地方,只要将偏差控制在合理范围之内即可成功接收到数据。同时在接收过程中加入了两位偶校验,可进行简单的数据检验,在一定程度上保证了数据传输的可靠性。对于完整的通信过程所需程序,对应的数据帧程序流程图如图3-10所示。(2)路由协议的设计方案本文设计的节点具有以下特点:315无线收发模块的通信距离远,而且每个节点可挂带多个DS18B20传感器,每个传感器与控制单元之间的连线长度又可以设定的很长,这样每个节点就可构成一个小型的有线传感器网络,对一定范围内的温度数据进行采集和处理。因此各个节点都可以测量一个较大区域内的温度,由这样的节点构成无线网络,可以降低单位面积内的节点密度。同时由于器件性能的限制,如果任意摆放节点,很难在组网时对每个节点进行精确的定位。因此本文中对路由协议的设计是建立在节点位置已知,网络中节点密度低,节点本身数据存储及处理能力有限的假设下进行的,如果网络对节点性能有更高要求,可以更换功能更强大的运算处理单元,并对协议进行适当的改进。 本文提出的路由协议的构想是构建基于Ad hoc路由协议的一种能量多路径路由4。通过对节点剩余能量的计算及节点间通信耗能的计算,可以在目的节点和源节点之间选择一条耗能最小的路径。下面将作具体介绍。能量多路径路由协议主要思想是在路由选择的过程中,为每一条信息传递路径赋予一定的选择概率,使得数据传输均衡消耗整个网络的能量,延长整个网络的生存期。协议包括路径建立、数据传播和路由维护三个过程。路径建立过程是该协议的重点内容。在这个过程中,每个节点需要知道到达目的节点的所有下一跳节点,并计算选取每一条路径的概率。概率的计算是根据通信代价来计算出来的,用表示节点i到目的节点的通信代价。首先由目的节点广播路径建立信息,信息中包含一个代价域,表示发出该消息的节点到目的节点路径上的能量信息,初始值为0。邻居节点收到此信息时,只有当自己距离源节点更近,距离目标节点更远的情况下才转发信息,否则丢弃信息。转发信息的节点用新的代价值来替换旧的代价值。当路径建立信息从节点Ni发送到节点Nj时,该路径的通信代价值为节点i的代价值加上两个节点间的通信能耗,如下式: (3-1)式中,为节点Ni发送数据经由节点Nj路径到达目的节点的通信代价;为节点i到目的节点的通信代价;表示节点Nj到节点Ni的通信能量消耗。其中,的计算公式如下: (3-2)这里表示节点Nj和Ni直接通信的能量消耗,表示节点Ni的剩余能量,、是常量,这个度量标准综合考虑了节点的能耗以及节点的剩余能量。这样,节点就建立了一个路由表,并为每一个路由表中的下一跳节点计算选择概率。节点选择概率与能量消耗成正相关,具体计算式 (3-3) 节点根据路由表中的每项的能量代价和下一跳节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士职业防护试题及答案
- 2025年新能源行业安全生产标准化技术创新与安全风险识别报告
- 5 我的家在这里 第1课时 (教学设计)-部编版道德与法治三年级下册
- 高铁总施工合同样本(3篇)
- N2护士考试试题及答案单选题
- 《汽车行业同行竞争联盟与技术交流协议》
- 新能源发电项目合同台账管理细则
- 高端制造企业员工股权激励与期权实施协议
- 融资租赁利息支付及设备回购合同范本
- 股份协议转让与公司国际化发展合同
- 2025年人社局编外考试题库及答案
- 木制品厂安全生产培训课件
- 排污许可证管理条例课件
- 乡镇人大主席“干在实处、走在前列”学习讨论发言材料
- 电工四级考试理论题库及答案
- 世纪英才教程课件
- 小学科学新教科版三年级上册全册教案(2025秋新版)
- 婴幼儿发展引导员技能竞赛考试题库(含答案)
- 小学生航空航天知识题库及答案
- 用户反馈收集及问题分析表
- 无人机飞行操作规范手册
评论
0/150
提交评论