无线自组网实训报告.docx
- 文档编号:9012862
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:31
- 大小:469.79KB
无线自组网实训报告.docx
《无线自组网实训报告.docx》由会员分享,可在线阅读,更多相关《无线自组网实训报告.docx(31页珍藏版)》请在冰豆网上搜索。
无线自组网实训报告
无线节点自组网开发与设计
综合实训
姓名:
陈荣荣、王娜
学号:
1204333127、1204333142
班级:
物联1211
指导教师:
戴娟、何志勇
课程名称:
无线节点自组网开发与设计综合实训
提交日期:
2014年6月20日
概要
本实训通过无线节点组网系统的完整的设计,使学生理解并掌握zigbee2007协议内涵,能利用该协议完成组网、跳频、跳网编程,进一步将已学过的相关内容课程和在课程中初步掌握的单项、单元(技能)能力有机的融合在一起,培养学生完成一个实际无线节点网络系统从设计开发到功能调试完整的综合职业能力。
在此过程中充分发挥学生的主动性、创造性,经进一步培养他们在整个工作过程中的团队协作能力和敬业爱岗意识。
概要
前言
第一章ZigBee的简介
第二章无线传感器网络技术
第三章自组网及协议栈各层功能
第四章CC2530常用的控制寄存器
第五章ZigBee节点自动跳频、跳网问题
第六章自组网典型应用
结论
致谢
前言
通过5个星期的实训,我对无线网络技术有了更深层次的了解,对ZigBee的组网也有了进一步的认识,与此同时通过该次实训还培养了我理论联系实际的能力,提高了我分析问题和解决问题的能力,增强了独立工作的能力。
培养了我与其他同学的团队合作、共同探讨、共同前进的精神。
1.了解了无线网络技术。
2.熟悉了ZigBee的基本知识以及ZigBee的协议各层功能。
3.知道了一些基础实验的实现方法。
4.熟悉对组网典型应用的编程和相关的设置。
5.能够正确使用物联网测试仪进行数据的空中抓包并进行数据的分析。
第1章ZigBee的简介
随着国内经济的高速发展,城市的规模在不断扩大,尤其是各种交通工具的增长更迅速,从而使城市交通需求与供给的矛盾日益突出,而单靠扩大道路交通基础设施来缓解矛盾的做法已难
以为继。
在这种情况下,智能公交系统(AdvancedPublicTransportationSystems,APTS)也就应运而生,并且成为国内研究的热点。
在智能公交系统所涉及的各种技术中,无线通信技术尤为引人注目。
而ZigBee作为一种新兴的短距离、低速率的无线通信技术,更是得到了越来越广泛的关注和应用。
市场上也出现了大量与ZigBee相关的各种产品,根据中国物联网校企联盟的统计分析表明:
zigbee虽然广受推崇,但是在数据中,推出zigbee相关产品的中小型企业在2012年的发展并不可观。
Zigbee是基于IEEE802.15.4标准的低功耗局域网协议。
根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。
这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。
其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。
主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。
第2章无线传感器网络技术
无线传感器网络是大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,其目的是协作地感知、采集、处理和传输网络覆盖地理区域内感知对象的监测信息,并报告给用户。
它的英文是WirelessSensorNetwork,简称WSN。
大量的传感器节点将探测数据,通过汇聚节点经其它网络发送给了用户。
在这个定义中,传感器网络实现了数据采集、处理和传输的三种功能,而这正对应着现代信息技术的三大基础技术,即传感器技术、计算机技术和通信技术。
典型的无线传感器网络一般包括三个节点:
传感器节点(Sensornode)、汇聚节点(Sinknode)和任务管理节点。
第3章自组网及协议栈各层功能
自组网
自组网是一种移动通信和计算机网络相结合的网络,网络的信息交换采用计算机网络中的分组交换机制,用户终端是可以移动的便携式终端,自组网中每个用户终端都兼有路由器和主机两种功能。
作为主机,终端需要运行各种面向用户的应用程序,如编辑器、浏览器等;作为路由器,终端需要运行相应的路由协议,根据路由策略和路由表完成数据分组的转发和路由维护工作,故要求节点实现合适的路由协议。
自组网路由协议的目标是快速、准确和高效,要求在尽可能短的时间内查找到准确可用的路由信息,并能适应网络拓扑的快速变化,同时减小引入的额外时延和维护路由的控制信息,降低路由协议的开销,以满足移动终端计算能力、储存空间以及电源等方面的限制。
目前自组网路由协议的设计主要有三种思路:
1)修改现有的常规路由协议,使其能够适应自组网的需要,如DSDV(DestinationSequencedDistanceVector)协议就是通过修改常见的RIP协议得来;2)采用按需发现的路由原则,不通过周期性广播路由信息来维持路由表,仅当需要建立路由时才发出请求以建立路由,从而有效地减少对网络资源的消耗,典型的有动态源路由(DSR)、AODV(Ad-hocOn-demandDistanceVector)等;3)基于服务质量(QoS)的路由,节点根据收集到的网络资源情况(而不是通常的跳数)选择一条最有可能满足用户QoS要求的路由,如LS-QoS(LinkState-QoS)协议。
表驱动的路由协议适合于常规有线网络,但对无线自组网来说,由于网络自身存在的诸多限制,周期性广播控制信息分组会大量消耗网络带宽,维护路由表会大量消耗移动终端的资源,拓扑结构的快速变化会使很多路由信息很快变得过时,造成资源的浪费。
即使将表驱动协议针对无线自组网进行改动,仍然在很大程度上存在这个问题。
相比之下,按需路由协议更能适应自组网拓扑结构快速变化的特点。
目前流行的几种典型按需路由协议中,DSR使用了源路由的机制,要求在每一个数据包头部包含完整的路径信息,大大增加了路由协议的开销,且断链发生需要重建路由时,需要将断链信息发回源节点,由源节点重新发起路由发现过程,带来了很大的延迟。
AODV协议使用逐跳转发机制解决了这个问题,但它需要使用周期性的Hello信息来维持节点之间的连接状态,增加了开销,而且在发生断链时,则采用和DSR同样的方式进行重建路由。
TORA协议除了自身的开销大外,还需要特殊硬件提供支持,如GPS设备提供全网节点的时间同步功能,并需要数据和控制两个独立的无线信道,其应用局限较大。
自组网的原型是美国早在1968年建立的ALOHA网络和之后于1973提出的PR(PacketRadio)网络。
ALOHA网络需要固定的基站,网络中的每一个节点都必须和其它所有节点直接连接才能互相通信,是一种单跳网络。
直到PR网络,才出现了真正意义上的多跳网络,网络中的各个节点不需要直接连接,而是能够通过中继的方式,在两个距离很远而无法直接通信的节点之间传送信息。
PR网络被广泛应用于军事领域。
IEEE在开发802.11标准时,提出将PR网络改名为AdHoc网络,也即今天我们常说的移动自组织网络。
移动自组织网络能够利用移动终端的路由转发功能,在无基础设施的情况下进行通信,从而弥补了无网络通信基础设施可使用的缺陷。
自组网技术为计算机支持的协同工作系统提供了一种解决途径,主要特点有:
(1)网络拓扑结构动态变化
在移动自组织网络中,由于用户终端的随机移动、节点的随时开机和关机、无线发信装置发送功率的变化、无线信道间的相互干扰以及地形等综合因素的影响,移动终端间通过无线信道形成的网络拓扑结构随时可能发生变化,而且变化的方式和速度都是不可预测的。
(2)自组织无中心网络
移动自组织网络没有严格的控制中心,所有节点的地位是平等的,是一种对等式网络。
节点能够随时加入和离开网络,任何节点的故障都不会影响整个网络的运行,具有很强的抗毁性。
(3)多跳网络
由于移动终端的发射功率和覆盖范围有限,当终端要与覆盖范围之外的终端进行通信时,需要利用中间节点进行转发。
值得注意的是,与一般网络中的多跳不同,无线自组网中的多跳路由是由普通节点共同协作完成的,而不是由专门的路由设备完成的。
(4)无线传输带宽有限
无线信道本身的物理特性决定了移动自组织网络的带宽比有线信道要低很多,而竞争共享无线信道产生的碰撞、信号衰减、噪音干扰及信道干扰等因素使得移动终端的实际带宽远远小于理论值。
(5)移动终端的局限性
自组织网络中的移动终端(如笔记本电脑、手机等)具有灵巧、轻便、移动性好等优点,但同时其电源有限、内存小、CPU性能低等限制,使得我们在开发应用程序时,需要考虑这些因素。
组网zigbee协议栈-层的解说
ZigBee协议栈由一组子层构成,每层为其上层提供一组特定的服务:
一个数据实体提供数据传输服务;一个管理实体提供全部其他服务。
每个服务实体通过一个服务接入点(SAP)为其上层提供服务接口,并且每个SAP提供了一系列的基本服务指令来完成相应的功能。
ZigBee设备在工作时,各种不同的任务在不同的层次上执行,通过层的服务,完成所要执行的任务。
每层的服务主要完成2种功能:
一种功能是根据他的下层服务要求,为上层提供相应的服务;另一种功能是根据上层的服务要求,对他的下层提供相应的服务。
各层服务通过服务原语来实现。
ZigBee协议栈的体系结构包括ZigBee应用层,ZigBee网络层,IEEE802.15.4MAC层和IEEE802.15.4PHY层。
它虽然是基于标准的7层开放式系统互联(OSI)模型,但仅对那些设计ZigBee层予以定义。
IEEE802.15.42003标准定义了最下面的两层:
物理层(PHY)和介质接入控制子层(MAC)。
ZigBee联盟提供了网络层和应用层(APL)框架的设计。
其中应用层的框架包括了应用支持子层(APS),ZigBee设备对象(ZDO)和由制造商制定的应用对象。
软件协议栈采用了Z-Stack,是TI提供的符合ZigBee规范(由ZigBee联盟制定)的免费协议栈,完全可以运行在GAINSTCC2430节点上,利用Z-Stack,用户能够简单快速的开发出适合自己的ZigBee应用。
App:
应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议中一般是以操作系统的任务实现的。
HAL:
硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
MAC:
MAC层目录,包含了MAC层的参数配置文件及其MAC的LIB库的函数接口文件。
MT:
实现通过串口可控制各层,并与各层进行直接交互
NWK:
网络层目录,包含网络层配置参数文件网络层库的函数接口文件及APS层库的函数接口。
OSAL:
协议栈的操作系统。
Profile:
AF(Applicationframework应用框架)层目录,包含AF(Applicationframework应用框架)层处理函数文件。
应用框架层是应用程序和APS层的无线数据接口。
他包含了一个应用程序进行无线传输(通过APS和NWK)时所使用的函数。
该层也是输入数据复用的终端(theendpointmultiplexerforincomingdatamessages)。
(这里写的很罗嗦,而且我也确实还有些不清楚,我的理解就是AF层是个专门用来处理数据的输入输出的,每个任务要想发送数据需要通过调用AF层的发送函数来实现,而设备收到的数据也是通过AF层被各个任务读取,这一层里也规定了无线传输的各种数据格式和描述符,也就是结构体)
Security:
安全层目录,包含安全层处理函数,比如加密函数等
Services:
地址处理函数目录,包括地址模式的定义及地址处理函数。
Tools:
工程配置目录,包括空间划分及Z-Stack相关配置信息。
文件夹中包含文件:
f8w2430.xcl存储器配置,用于程序烧录
f8wConfig.cfg通用的编译选项文件,例如指定在设备启动时要用到的频道和PANId值。
f8wCoord.cfg协调者设备的编译选项
F8wEndev.cfg终端节点的编译选项
8wRouter.cfg路由节点的编译选项
ZDO:
ZDO目录
ZMac:
MAC层目录,包括MAC层参数配置及MAC层LIB库函数回调处理函数。
ZMain:
主函数目录,包括入口函数及硬件配置文件。
Output:
输出文件目录,由IARIDE自动生成。
第四章CC2530常用的控制寄存器
P0SEL(P1SEL相同):
各个I/O口的功能选择,0为普通I/O功能,1为外设功能
D7
D6
D5
D4
D3
D2
D1
D0
P0_7功能
P0_6功能
P0_5功能
P0_4功能
P0_3功能
P0_2功能
P0_1功能
P0_0功能
P2SEL:
(D0到D2位)端口2功能选择和端口1外设优先级控制
什么是外设优先级:
当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应
D7
D6
D5
D4
D3
D2
D1
D0
未用
0:
USART0优先
1:
USART1优先
0:
USART1优先
1:
定时器3优先
0:
定时器1优先
1:
定时器4优先
0:
USART0优先
1:
定时器1优先
P2_4功能选择
P2_3功能选择
P2_0功能选择
PERCFG:
设置部分外设的I/O位置,0为默认I位置1,1为默认位置2
D7
D6
D5
D4
D3
D2
D1
D0
未用
定时器1
定时器3
定时器4
未用
未用
USART1
USART0
P0DIR(P1DIR相同):
设置各个I/O的方向,0为输入,1为输出
D7
D6
D5
D4
D3
D2
D1
D0
P0_7方向
P0_6方向
P0_5方向
P0_4方向
P0_3方向
P0_2方向
P0_1方向
P0_0方向
P2DIR:
D0~D4设置P2_0到P2_4的方向
D7、D6位作为端口0外设优先级的控制
D7
D6
D5
D4
D3
D2
D1
D0
X
X
未使用
P2_4方向
P2_3方向
P2_2方向
P2_1方向
P2_0方向
D7D6
意义
00
第1优先级:
USART0
第2优先级:
USART1
第3优先级:
定时器1
01
第1优先级:
USART1
第2优先级:
USART0
第3优先级:
定时器1
10
第1优先级:
定时器1通道0-1
第2优先级:
USART1
第3优先级:
USART0
第4优先级:
定时器1通道2–3
11
第1优先级:
定时器1通道2-3
第2优先级:
USART0
第3优先级:
USART1
第4优先级:
定时器1通道0–1
P0INP(P1INP意义相似):
设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式
D7
D6
D5
D4
D3
D2
D1
D0
P0_7模式
P0_6模式
P0_5模式
P0_4模式
P0_3模式
P0_2模式
P0_1模式
P0_0模式
需要注意的是:
P1INP中,只有D7~D2分别设置对应I/O口的输入模式。
D1D0两位无作用。
P2INP:
D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;
D5~D7设置对P0、P1和P2的上拉或下拉的选择。
0为上拉,1为下拉;
D7
D6
D5
D4
D3
D2
D1
D0
端口2选择
端口1选择
端口0选择
P2_4模式
P2_3模式
P2_2模式
P2_1模式
P2_0模式
P0IFG(P1IFG相同):
终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。
D7
D6
D5
D4
D3
D2
D1
D0
P0_7
P0_6
P0_5
P0_4
P0_3
P0_2
P0_1
P0_0
P0IEN(P1IEN相同):
各个控制口的中断使能,0为中断禁止,1为中断使能。
D7
D6
D5
D4
D3
D2
D1
D0
P0_7
P0_6
P0_5
P0_4
P0_3
P0_2
P0_1
P0_0
P2IFG:
D0~D4为P2_0~P2_4的中断标志位
D5为USDD+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB挂起状态下的USB恢复事件。
当USB控制器没有挂起时不设置该标志。
D7
D6
D5
D4
D3
D2
D1
D0
未用
未用
USBD+
P2_4
P2_3
P2_2
P2_1
P2_0
P2IEN:
D0~D4控制P2_0~P2_4的中断使能
D5控制USBD+的中断使能
D7
D6
D5
D4
D3
D2
D1
D0
未用
未用
USBD+
P2_4
P2_3
P2_2
P2_1
P2_0
PICTL:
D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。
D7控制I/O引脚在输出模式下的驱动能力。
选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较
低的电压下的驱动能力和较高电压下相同。
0为最小驱动能力增强。
1为最大驱动能力增强。
D7
D6
D5
D4
D3
D2
D1
D0
I/O驱动能力
未用
未用
未用
P2_0~P2_4
P1_4~P1_7
P1_0~P1_3
P0_0~P0_7
IEN0:
中断使能0,0为中断禁止,1为中断使能
D7
D6
D5
D4
D3
D2
D1
D0
总中断EA
未用
睡眠定时器中断
AES加密/解密中断
USART1RX中断
USART0RX中断
ADC中断
RFTX/RFFIFO中断
IEN1:
中断使能1,0为中断禁止,1为中断使能
D7
D6
D5
D4
D3
D2
D1
D0
未用
未用
端口0
定时器4
定时器3
定时器2
定时器1
DMA传输
IEN2:
中断使能2,0为中断禁止,1为中断使能
D7
D6
D5
D4
D3
D2
D1
D0
未用
未用
看门狗定时器
端口1
USART1TX
USART0TX
端口2
RF一般中断
T1CTL:
定时器1的控制,D1D0控制运行模式,D3D2设置分频划分值
D7
D6
D5
D4
D3D2
D1D0
未用
未用
未用
未用
00:
不分频
01:
8分频
10:
32分频
11:
128分频
00:
暂停运行
01:
自由运行,反复从0x0000到0xffff计数
10:
模计数,从0x000到T1CC0反复计数
11:
正计数/倒计数,从0x0000到T1CC0反复计数并且从T1CC0倒计数到0x0000
T1STAT:
定时器1的状态寄存器,D4~D0为通道4~通道0的中断标志,D5为溢出标志位,当计数到最终技术值是自动置1。
D7
D6
D5
D4
D3
D2
D1
D0
未用
未用
溢出中断
通道4中断
通道3中断
通道2中断
通道1中断
通道0中断
T1CCTL0~T1CCTL4:
定时器1通道0~通道4的工作方式设置。
D1D0为捕捉模式选择:
00为不捕捉,01为上升沿捕获,10为下降沿捕获,11为上升或下降沿都捕获。
D2位为捕获或比较的选择,0为捕获模式,1为比较模式。
D5D4D3为比较模式的选择:
000为发生比较式输出端置1,001为发生比较时输出端清0,010为比较时输出翻转,其他模式较少使用。
D7
D6
D5D4D3
D2
D1D0
未用
未用
比较模式
捕获/比较
捕捉模式
IRCON:
中断标志4,;0为无中断请求。
1为有中断请求。
D7
D6
D5
D4
D3
D2
D1
D0
睡眠定时器
必须为0
端口0
定时器4
定时器3
定时器2
定时器1
DMA完成
T3CTL/T4CTL:
定时器3或定时器4的方式控制寄存器。
D7D6D5设置分频:
000为无分频、001为2分频、010为4分频、011为8分频、100为16分频、101为32分频、110为64分频,111为128分频。
D4为启动位,启动时1,停止工作为0。
D3位为中断使能位,0为禁止,1为使能,默认为1;D2为复位,置1时定时器复位。
D1D0为计数器模式选择:
该位与T1CTL的D1D0位意义相同。
D7D6D5
D4
D3
D2
D1D0
分频
启动定时器
溢出中断
清除计数器
计数模式
T3CCTL0/T3CCTL1/T4CCTL0/T4CCTL1:
定时器3或定时器4的通道0和通道1的方式控制,D6为该通道的中断使能位,0为禁止,1为使能,默认为1;D5~D0与T1CCTL0相同
D7
D6
D5D4D3
D1
D0
未用
中断使能
比较模式
捕获/比较
捕捉模式
TIMIF:
定时器1的溢出中断屏蔽与定时器3、4的中断标志。
D6为定时器1的溢出中断屏蔽,0为屏蔽,1为使能,默认为1.D5~D0为定时器3和4中各个通道的中断标志。
D7
D6
D5
D4
D3
D2
D1
D0
未用
T1溢出中断使能
T4通道1中断标志
T4通道0中断标志
T4溢出标志中断标志
T3通道1
T3通道0
T3溢出中断标志
CLKCONCMD:
时钟频率控制寄存器。
D7
D6
D5~D3
D2~D0
32KHZ时间振荡器选择
系统时钟选择
定时器输出标记
系统主时钟选择
D7位为32KHZ时间振荡器选择,,0为32KRC震荡,1为32K晶振。
默认为1。
D6位为系统时钟选择。
0为32M晶振,1为16MRC震荡。
当D7位为0时D6必须为1。
D5~D3为定时器输出标记。
000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为1MHZ,110为500KHZ,111为250KHZ。
默认为001。
需要注意的是:
当D6为1时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线 组网 报告