正文有标记.docx

上传人:b****6 文档编号:4303861 上传时间:2022-11-29 格式:DOCX 页数:41 大小:873.68KB
下载 相关 举报
正文有标记.docx_第1页
第1页 / 共41页
正文有标记.docx_第2页
第2页 / 共41页
正文有标记.docx_第3页
第3页 / 共41页
正文有标记.docx_第4页
第4页 / 共41页
正文有标记.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

正文有标记.docx

《正文有标记.docx》由会员分享,可在线阅读,更多相关《正文有标记.docx(41页珍藏版)》请在冰豆网上搜索。

正文有标记.docx

正文有标记

1绪论

1.1研究背景

ZigBee是最近提出的一种近距离、复杂度低、低功耗、数据速率较低、低成本的双向无线通信技术,主要适用于自动控制和远程控制领域,是为了满足小型廉价设备的无线联网和控制而制定的。

ZigBee是IEEE802.15.4[1][2]技术的商业名称,该技术的核心由2000年12月成立的IEEE802.15.4工作组制定,高层应用、互联互通测试和市场推广由2002年组建的ZigBee联盟负责。

ZigBee联盟由英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司等组成,已经吸引了上百家芯片公司、无线设备开发商和制造商的加入。

IEEE802.15.4[3][4]协议刚刚公布,标准化工作正在转向相关的应用和测试,第一批芯片和产品已经面市。

市场分析人士认为ZigBee[5]设备将占据三分之二的家庭自动化市场。

见文献[6][7]。

ZigBee的目标定位于现存的系统还不能满足其需求的特定的市场,它有着广阔的应用前景。

ZigBee联盟预言在未来的四到五年,每个家庭将拥有50个ZigBee器件,最后将达到每个家庭150个。

据估计,到2007年,ZigBee市场价值将达到数亿美元。

其应用领域主要包括:

◆家庭和楼宇网络:

空调系统的温度控制、照明的自动控制、窗帘的自动控制、煤气计量控制、家用电器的远程控制[8]等;

◆工业控制:

各种监控器、传感器的自动化控制;

◆商业:

智慧型标签等;

◆公共场所:

烟雾探测器、路灯控制等;

◆农业控制:

收集各种土壤信息和气候信息;

◆医疗:

老人与行动不便者的紧急呼叫器和医疗传感器等。

1.2ZigBee技术在太阳能远程灯光控制中的应用

目前现有的路灯控制系统大多采用有线网络布局,不仅施工复杂,灵活性差,而且存在能源浪费的问题。

在太阳能远程灯光控制中,大多采用人工控制的方式,其成本比较高,效率较低,随机性较大,管理比较困难,可靠性较差,投入的人力和物力都很大。

如果采用无线控制的方式,不仅能节约人力资源,更重要的是可提高路灯控制的准确性、实时性,使管理部门能及时控制路灯的开关。

有了无线的灯光控制,工作人员无需到配电房就可以控制所有的路灯以及单个路灯的开关,不仅节省了人力物力,也减少了工作人员触电的危险。

近年来随着ZigBee无线技术的发展和广泛应用,于是提出了将ZigBee技术应用于城市的路灯控制。

这种方法不但方便灵活,而且无需考虑布线问题,维护简单。

并且通过与各种新型传感器、功率控制器的结合,可以远距离实现路灯智能控制,达到大量节约电力和能源的目的。

本文应用ZigBee技术,设计了一种新的路灯无线控制系统。

1.3论文组织结构

本论文共分6章。

第1章介绍了论文的研究背景、现有各种路灯控制方式的优缺点与论文组织结构。

第2章首先介绍了方案的选择,并对目前主要的几种无线通信技术及其主要性能作了比较。

第3章深入分析了ZigBee技术各层协议的基本原理、技术及主要特点。

第4章介绍了整个系统的硬件结构,包括CC2430芯片的应用电路等。

第5章则介绍了系统的软件设计,包括如何组建一个网络和加入一个网络,已及ZigBee在路灯控制中的具体应用。

最后,总结了全文,并提出了未来的工作方向。

2课题简介与方案选择

本次课题的主要任务是建立一个无线网络,实现太阳能远程灯光无线控制。

该网络的控制系统是由PC机来实现的,可以通过该控制系统实时打开或关闭某个路灯,同时监测该路灯的工作状况,并及时将控制信息反馈给PC机,以便进行智能化管理。

2.1几种无线通信技术的比较

目前,各种无线传输技术林立,应用广泛。

每个技术都有其立足的特点,或基于传输速度、距离、耗电量的特殊要求;或着眼于功能的扩充性;或符合某些单一应用的特别要求;各种短距离无线通信技术都在争取成为市场标准。

2.1.1无线局域网(WLAN)

20世纪90年代初,IEEE802.11[9][10]工作组被指派制定一种全球性的WLAN标准,其工作频率为非许可证的工业、科学和医疗(ISM)频段,最大数据传输速率可达2Mbit/s。

1997年,标准被批准。

标准主要是制定物理层和媒体接入控制(MAC)层的规范。

802.11标准经过一段时间的发展,分别产生了几个不同的扩展标准,即802.11b/a/g标准簇,它们在技术和性能上各有差异。

在工作频段上,802.11标准簇工作在2.4GHz或5GHz非许可证频段上,而在2.4GHz频段上,在物理层的传输技术上,有两个选择,即:

直接序列扩频(DSSS)和跳频扩频(FHSS)。

对于802.11a标准,物理层还可以工作在红外线(IR)频段,其波长为850~950nm,信号传输距离在10m左右。

WLAN是在有线局域网(LAN)的基础上发展起来的,各种相应的WLAN技术或标准是根据用户的移动需求而出现的。

较之有线LAN,WLAN有以下优点:

用户可移动性、便捷与快速建网、组网的灵活性、低成本等。

2.1.2GSM/GPRS

GPRS是通用分组无线业务(GeneralPacketRadioService)的英文简称,是在GSM系统上发展出来的一种新的承载业务,目的是为GSM用户提供分组形式的数据业务。

GPRS采用与GSM同样的无线调制标准、同样的频带、同样的突发结构、同样的跳频规则以及同样的TDMA帧结构。

GPRS允许用户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源。

从而提供了一种高效、低成本的无线分组数据业务。

GSM终端设备之间能够通过SMS进行数据传输。

利用该功能,将SMS服务功能加入到每一个终端中,即可以无线路灯。

该方法技术成熟,利用现有的GSM网,不需要昂贵的系统设备,路灯控制不受距离和空间的限制。

由于单个模块成本较高,目前GSM/GRPS技术还不能用在对成本敏感的场合 。

2.1.3蓝牙技术

蓝牙技术[11][12]由爱立信、东芝、IBM和英特尔五家公司于1998年提出。

主要用来打破以往红外线或电缆线连接不同产品时受到的限制,2000年做到使移动电话等设备与个人电脑或任何其他设备、仪器之间,能够在约几十米的距离内无需连接电缆线或红外接口就可进行数据交换。

蓝牙技术是实现话音和数据无线传输的开放性规范,是一种低成本、短距离、支持点到点和点到多点的通信的无线通信技术,它具有以下特点:

◆蓝牙系统使用2.4GHzISM频段,无需申请频率许可证。

◆采用跳频扩谱技术抗干扰和衰落,并采用快跳频(跳频速率达1600跳/秒)、短分组及快速等方法进一步干扰和衰落,提高传输的可靠性。

◆低功率、短距离,蓝牙额定输出功率0dBm,传输距离10cm-10m,增大功率可达100m。

◆信息分组传输,同时支持话音和数据。

◆采用TDD全双工方式,基带协议采用电路交换和分组交换混合方式,组网方便灵活。

◆采用FM调制方式,降低设备的复杂性和成本。

◆采用1/3FEC、2/3FEC和ARQ等纠错方式改善误码性能。

◆从物理层、链路层和业务层三方面提供安全措施,保密性好。

◆支持点到点及点到多点连接。

蓝牙技术具有强大数据通讯优势,用于路灯控制在技术上是完全可行的。

但由于蓝牙技术主要针对的是数据交换及语音信号传输,同其它专有的路灯控制技术相比,有协议过于复杂、芯片成本较高的缺点。

2.1.4WirelessUSBLR技术

赛普拉斯半导体公司日前宣布推出低成本的2.4GHz片上射频系统解决方案WirelessUSBLR(CYWUSB6935),该方案可为商业和工业应用提供50米或50米以上的无线连通性能。

WirelessUSBLR[13][14]使用了直接顺序扩展频谱(DSSS)技术,以避免来自如2.4GHz频段中IEEE802.11b、Bluetooth等其它技术的信号干扰,以及来自无绳电话和微波炉的无线辐射,并具有-95dBm接收灵敏度,确保在50米和50米以外获得较强的全方向信号。

WirelessUSBLR具有高度集成的无线接收器及数字基带,它是一种单片解决方案,可以帮助开发人员有效地缩短开发时间、减少元件数并降低系统成本。

该器件的待机功耗非常低,具有约0.25微安的待机电流和0dBm输出功率,这意味着普通传感器/传动器的电池寿命可达数年。

此外,WirelessUSBLR[15]具有高达62.5kbps的数据传输速率,平均反应时间少于10毫秒。

该产品的价格不足2美元,并且在未来两年内有望将价格降至1美元以下。

2.1.5ZigBee技术

ZigBee是一种新兴的短距离、低速率无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术提案。

ZigBee协议比蓝牙、高速率个人区域网(PAN)或802.11x无线局域网更简单实用。

ZigBee技术的主要特点包括以下几个部分:

◆数据传输速率低,只有10kbps~250kbps,专注于低传输应用;

◆功耗低,在低耗电待机模式下,两节普通5号干电池可使用6个月以上。

◆成本低,因为ZigBee数据传输速率低,协议简单,所以大大降低了成本。

◆网络容量大,每个ZigBee网络最多可支持255个设备,也就是说每个ZigBee设备可以与另外254台设备相连接;

◆有效范围较广,可以依据实际发射功率的大小和各种不同的应用模式而定。

◆工作频段灵活使用的频段分别为2.4GHz、868MHz(欧洲)及915MHz(美国),均为免执照频段。

ZigBee主要应用在短距离范围之内并且数据传输速率不高的各种电子设备之间。

其典型的传输数据类型有周期性数据(如传感器数据)、间歇性数据(如照明控制)和重复性低反应时间数据(如鼠标)。

2.1.6几种无线通信标准的性能比较

总之,考虑到路灯控制无线网络小数据流量、对实时性要求不高的特点,选用任何无线通信技术必须考虑以下几点:

◆低成本:

由于路灯数量较多,必须控制每个路灯的控制成本。

◆低功耗:

内置电池正常使用时间,未保证整个网络的通畅性,必须同时采用外部供电方式,这样对功耗的要求也较高。

◆性能可靠,无须大量维护:

路灯应该在工作人员的控制下自动打开或关闭。

◆可扩展性好:

需要联网几百至几千个设备。

通过表2.1对几种主要无线通信技术的比较,可以得出:

ZigBee是目前最适合用于灯光控制的无线通信技术。

表2.1几种无线通信技术的比较

ZigBee802.15.4

Bluetooth802.15.1

Wi一Fi802.1lb

GBRS/GSM

应用范围

监视与控制

短距离有线的替代品

Web、视频、E一mail

WAN、声音与数据

系统资源

4KB一32KB

25OKB+

IMB+

16MB+

电池寿命(天)

100一1000+

1一7

1一5

1一7

网络节点数

255/65K+

7

3O

1000

带宽(KbpS)

20一250

1000

11000+

64一128

通信距离(m)

1一75+

1一10+

1一100

1000+

优点

可靠、低功耗、低成本、安全

低成本、易操作

高速、适应性强

传输质量好、分布地域广

2.2系统整体设计框图

本次设计是要求对原有路灯进行改造,不允许重新布线,不能采用常用的RS485等有线通信方式 ,所以选择了无线通信的方式。

整体结构框图如图2-2。

图2-2系统整体结构框图

3ZigBee协议介绍

ZigBee是一种新兴的短距离、低功耗、低成本的无线网络技术。

ZigBee技术并不是完全独有、全新的标准。

它的物理层、MAC层和数据链路层采用了IEEE802.15.4标准,并在此基础上由Zigbee联盟制定了应用会聚层、应用层规范(API)和网络层,组成了Zigbee协议标准。

见文献[16][17]。

IEEE802.15.4定义了两个物理层标准,分别是2.4GHz物理层和868/915MHz物理层。

两个物理层都基于DSSS(DirectSequenceSpreadSpectrum,直接序列扩频),使用相同的物理层数据包格式,区别在于工作频率、调制技术、扩频码片长度和传输速率。

有关通信方面的知识见参考文献[18][19]。

2.4GHz波段为全球统一的无需申请的ISM频段,有助于ZigBee设备的推广和生产成本的降低。

2.4GHz的物理层通过采用高阶调制技术能够提供250kb/s的传输速率,有助于获得更高的吞吐量、更小的通信时延和更短的工作周期,从而更加省电。

868MHz是欧洲的ISM频段,915MHz是美国的ISM频段,这两个频段的引入避免了2.4GHz附近各种无线通信设备的相互干扰。

868MHz的传输速率为20kb/s,916MHz是40kb/s。

由于这两个频段上无线信号传播损耗较小,因此可以降低对接收机灵敏度的要求,获得较远的有效通信距离,从而可以用较少的设备覆盖给定的区域。

见文献[20][21]。

3.1ZigBee设备类型(DeviceTypes)

在ZigBee网络中存在三种逻辑设备类型:

Coordinator(协调器),Router(路由器)和End-Device(终端设备)。

ZigBee网络由一个Coordinator以及多个Router和多个End_Device组成。

图3-1ZigBee网络示意图

图3-1是一个简单的ZigBee网络示意图。

其中黑色节点为Coordinator,红色节点为Router,白色节点为End-Device。

3.1.1Coordinator(协调器)

协调器负责启动整个网络。

它也是网络的第一个设备。

协调器选择一个信道和一个网络ID(也称之为PANID,即PersonalAreaNetworkID),随后启动整个网络。

协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。

协调器的角色主要涉及网络的启动和配置。

一旦这些都完成后,协调器的工作就像一个路由器(或者消失)。

由于ZigBee网络本身的分布特性,因此接下来整个网络的操作就不在依赖协调器是否存在。

3.1.2Router(路由器)

路由器的功能主要是:

允许其他设备加入网络,多跳路由和协助它自己儿子终端设备的通讯。

通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。

但是当使用树群这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。

3.1.3End-Device(终端设备)

终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此它可以是一个电池供电设备。

在Z-Stack1.4.1中一个设备的类型通常在编译的时候通过编译选项(ZDO_COORDINATOR和RTR_NWK)确定。

所有的应用例子都提供独立的项目文件来编译每一种设备类型。

3.2寻址(Addressing)

3.2.1地址类型(Addresstypes)

ZigBee设备有两种类型的地址。

一种是64位IEEE地址,即MAC地址,另一种是16位网络地址。

64位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。

它通常由制造商或者被安装时设置。

这些地址由IEEE来维护和分配。

16位网络地址是当设备加入网络后分配的。

它在网络中是唯一的,用来在网络中鉴别设备和发送数据。

3.2.2网络地址分配(Networkaddressassignment)

ZigBee使用分布式寻址方案来分配网络地址。

这个方案保证在整个网络中所有分配的地址是唯一的。

这一点是必须的,因为这样才能保证一个特定的数据包能够发给它指定的设备,而不出现混乱。

同时,这个寻址算法本身的分布特性保证设备只能与他的父辈设备通讯以及来自此网络的其它设备通讯。

不需要整个网络范围内通讯的地址分配,这有助于网络的可测量性。

在每个路由加入网络之前,需要知道和配置一些参数。

这些参数是MAX_DEPTH,MAX_ROUTERS和MAX_CHILDREN。

这些参数是栈配置的一部分,ZigBee2006协议栈已经规定了这些参数的值:

MAX_DEPTH=5,MAX_ROUTERS=6和MAX_CHILDREN=20。

MAX_DEPTH决定了网络的最大深度。

协调器(Coordinator)位于深度0,它的儿子位于深度1,他的儿子的的儿子位于深度2,以此类推。

MAX_DEPTH参数限制了网络在物理上的长度。

MAX_CHILDREN决定了一个路由(Router)或者一个协调器节点可以处理的儿子节点的最大个数。

MAX_ROUTER决定了一个路由(Router)或者一个协调器(Coordinator)节点可以处理的具有路由功能的儿子节点的最大个数。

这个参数是MAX_CHILDREN的一个子集,终端节点使用(MAX_CHILDREN–MAX_ROUTER)剩下的地址空间。

如果想改变这些值,则需要完成以下几个步骤:

首先,要保证这些参数新的赋值要合法。

即,整个地址空间不能超过

216,这就限制了参数能够设置的最大值。

可以使用projects\ZStack\tools文件夹下的CSkip.xls文件来确认这些值是否合法。

当在表格中输入了这些数据后,如果数据不合法的话就会出现错误信息。

当选择了合法的数据后,还要保证不再使用标准的栈配置,取而代之的是网络自定义栈配置(例如:

在nwk_globals.h文件中将STACK_PROFILE_ID改为NETWORK_SPECIFIC)。

然后nwk_globals.h文件中的MAX_DEPTH参数将被设置为合适的值。

此外,还必须设置nwk_globals.c文件中的Cskipchldrn数组和CskipRtrs数组。

这些数组的值由MAX_CHILDREN和MAX_ROUTER构成。

3.2.3Z-Stack寻址(Addressinginz-stack)

为了向一个在ZigBee网络中的设备发送数据,应用程序通常使用AF_DataRequest()函数。

数据包将要发送给一个afAddrType_t(在ZComDef.h中定义)类型的目标设备。

typedefstruct

{

union

{

uint16shortAddr;

}addr;

afAddrMode_taddrMode;

byteendPoint;

}afAddrType_t;

除了网路地址之外,还要指定地址模式参数。

目的地址模式可以设置为以下几个值:

typedefenum

{

afAddrNotPresent=AddrNotPresent,

afAddr16Bit=Addr16Bit,

afAddrGroup=AddrGroup,

afAddrBroadcast=AddrBroadcast

}afAddrMode_t;

在ZigBee中,数据包可以单点传送(unicast),多点传送(multicast)或者广播传送,所以必须有地址模式参数。

一个单点传送数据包只发送给一个设备,多点传送数据包则要传送给一组设备,而广播数据包则要发送给整个网络的所有节点。

这个将在下面详细解释。

◆单点传送(Unicast)

Uicast是标准寻址模式,它将数据包发送给一个已经知道网络地址的网络设备。

将afAddrMode设置为Addr16Bit并且在数据包中携带目标设备地址。

◆间接传送(Indirect)

当应用程序不知道数据包的目标设备在哪里的时候使用的模式。

模式设置为AddrNotPresent并且目标地址没有指定。

取代它的是从发送设备的栈的绑定表中查找目标设备。

这种特点称之为源绑定。

当数据向下发送到达栈中,从绑定表中查找并且使用该目标地址。

这样,数据包将被处理成为一个标准的单点传送数据包。

如果在绑定表中找到多个设备,则向每个设备都发送一个数据包的拷贝。

◆广播传送(broadcast)

当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式。

地址模式设置为AddrBroadcast。

目标地址可以设置为下面广播地址的一种:

NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)——数据包将被传送到网络上的所有设备,包括睡眠中的设备。

对于睡眠中的设备,数据包将被保在其父亲节点直到查询到它,或者消息超时(NWK_INDIRECT_MSG_TIMEOUT在f8wConifg.cfg中)。

NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD)——数据包将被传送到网络上的所有在空闲时打开接收的设备(RXONWHENIDLE),也就是说,除了睡眠中的所有设备。

NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC)——数据包发送给所有的路由器,包括协调器。

◆组寻址(GroupAddressing)

当应用程序需要将数据包发送给网络上的一组设备时,使用该模式。

地址模式设置为afAddrGroup并且addr.shortAddr设置为组ID。

在使用这个功能之前,必须在网络中定义组。

(参见Z-stackAPI文档中的aps_AddGroup()函数)。

组可以用来关联间接寻址,在绑定表中找到的目标地址可能是单点传送地址或者是一个组地址。

另外,广播发送可以看做是一个组寻址的特例。

下面的代码是一个设备怎样加入到一个ID为1的组当中:

aps_Group_tgroup;

group.ID=0x0001;

group.name[0]=0;

aps_AddGroup(SAMPLEAPP_ENDPOINT,&group);

3.2.4重要设备地址(ImportantDeviceAdresses)

应用程序可能需要知道它的设备地址和父亲地址。

使用下面的函数获取设备地址(在ZStackAPI中定义):

◆NLME_GetShortAddr()——返回本设备的16位网络地址

◆NLME_GetExtAddr()——返回本设备的64位扩展地址

使用下面的函数获取该设备的父亲设备的地址:

◆NLME_GetCoordShortAddr()——返回本设备的父亲设备的16位网络地址

◆NLME_GetCoordExtAddr()——返回本设备的父亲设备的64位扩展地址

3.3绑定(Binding)

绑定是一种两个(或者多个)应用设备之间信息流的控制机制。

在ZigBee2006发布版本中,它被称为资源绑定,所有的设备都必须执行绑定机制。

绑定允许应用程序发送一个数据包而不需要知道目标地址。

APS层从它的绑定表中确定目标地址,然后将数据继续向目标应用或者目标组发送。

3.3.1建立绑定表(BuildingaBindingTable)

有三种方法可以建立一个绑定表:

●ZigBeeDeviceObjectBindRequest——一个启动工具可以告诉设备创建一个绑定记录

●ZigBeeDeviceObjectEndDeviceBindRequest——两个设备可以告诉协调器它们想要建立一个绑定表记录。

协调器来协调并在两个设备中创建绑定表记录。

●DeviceApplication——一个设备上的应用程序建立或者管理一个绑定表

3.3.2启动申请(TheCommissioningApplication)

一个应用程序可以通过ZDP_BindReq()函数(在ZDProfile.h),并在绑定表中包含两个请求(地址和终点)以及想要的群ID。

第一个参数(目标dstAddr)是绑定源

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1