基于zigbee智能路灯控制系统Word文档格式.docx
《基于zigbee智能路灯控制系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于zigbee智能路灯控制系统Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
其特点是距离短、复杂度低、自动组织、功耗低、数据速率低、成本低[6]。
适合用于自动控制和远程控制领域,可以嵌入各种设备。
ZigBee协议栈是在IEEE802.15.4标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4(定义了RF射频以及与相邻设备之间通信>
的PHY和MAC层,以及ZigBee堆栈层:
网络层(NWK>
、应用层和安全服务提供层。
图2.1ZigBee协议栈结构[4]
1.1.1物理层规范[4]
ZigBee的物理层是基于IEEE802.15.4标准的。
IEEE802.15.4标准定义了两个物理层:
2.4GHz和868/915MHz的物理层。
物理层主要任务如下:
开启和关闭无线收发信机;
能量检测(ED>
;
链路质量指示(LQI>
空闲信道评估(CCA>
信道选择;
数据发送和接收。
物理层提供了两种服务:
通过物理层数据服务接入点<
PHYDataServerAcessPoint,PD-SAP)提供物理层的数据服务;
通过PLME的服务接入点<
PLMEServiceAcessPoint,PLME-SAP)提供物理层的管理服务[1]。
如下图:
图2.2物理层参考模型
IEEE802.15.4物理层协议数据单元<
PPDU)格式如下:
表2.1物理层协议数据单元[1]
4字节
1字节
变长
前导码
SFD
帧长度<
7位)
保留位<
1位)
PSDU
同步头
物理帧头
PHY负载
引导序列由32位全0字段组成,用于收发器进行码片或者符号的同步。
SFD域由8位组成,表示引导序列结束,数据包开始传输,是8位二进制序列11100101。
SFD与前导码构成同步头<
SHR)。
帧长度由7位组成,表示物理层的有效载荷PSDU的字节数,范围是0到aMaxPHYPacketSize。
帧长度域和1位的保留位构成了物理头。
PSDU域是变长的,是物理层要发送的数据包,是物理层的载荷。
1.1.2MAC层规范
ZigBee的MAC层同样是基于IEEE802.15.4标准的。
MAC层为特定服务汇聚子层(SSCS>
和PHY提供了接口[1]。
IEEE802.15.4的MAC层使用PD-SAP和PLME-SAP接口。
MAC层通过MAC公共部分子层<
MCPS)的数据SAP<
MCPS-SAP)提供MAC层数据服务;
通过MLME-SAP提供管理服务[7]。
MAC层内部MLME和MCPS之间存在一个隐藏接口,MLME可以通过它调用MAC数据服务。
MLME还负责维护属于MAC层的管理对象数据库,该数据库被称为“MAC层的个域网信息库”(PANInformationBase,PIB>
。
如下图所示:
图2.3MAC层组件接口模型
MAC层的数据服务通过两类服务原语MCPS-DATA和MCPS-PURGE实现的。
而其管理功能通过使用15条服务原语来实现。
MAC层主要有四种类型的帧:
信标帧、数据帧、确认帧以及MAC命令帧。
帧的基本组成部分有:
MAC头、MAC有效载荷、MAC尾。
MAC头由帧的控制字段、序号字段和地址信息域组成;
MAC有效载荷部分的长度与帧类型相关,确认帧的有效载荷长度为0;
MAC尾是帧校验序列<
FCS)。
表2.2通用MAC帧结构[1]
16位,字节:
2
1
0/2
0/2/8
帧控制
序列号
目标PAN标识
目标地址
源PAN标识
源地址
帧负载
FCS
地址域
MHR
MAC负载
MFR
1.1.3网络层规范[4]
网络层提供保证MAC层正确工作的能力并为应用层提供合适的服务接口。
主要功能有:
网络和设备维护;
发送和接收;
路由功能;
信标发送时序;
广播通信;
MAC信标中的网络层信息;
网络层提供两个服务实体:
数据实体和管理实体。
数据实体提供的服务允许同一网络中两个或多个节点之间传输数据;
管理实体允许应用与协议栈之间交互,包括配置新节点、创建网络、节点请求加入/离开网络、寻址、近邻发现、路由发现、接收控制等服务。
图2.4网络层参考模型
1.1.4应用层规范[4]
ZigBee应用层包括应用支持子层<
APS)ZigBee设备对象<
ZDO)和厂商定义的应用对象。
应用支持子层(APS>
提供了网络层(NWK>
和应用层(APL>
之间的接口,功能是通过ZDO和厂商定义的应用对象都可以使用的一组服务来实现。
数据和管理实体分别由APSDE-SAP和APSME-SAP提供。
APSDE提供的数据传输服务在同一网络的两个或多个设备之间传输应用层PDU;
APSME提供设备发现和绑定服务,并维护管理对象数据库——APS信息库(AIB>
ZDO描述了一个基本的功能函数,这个功能在应用对象、设备配置文件和APS之间的提供了一个接口。
它满足所有在ZigBee协议栈中应用操作的一般需要。
ZDO还有以下功能:
初始化APS、网络层和安全服务规范;
集合节点配置信息来确定和执行发现、安全管理、网络管理和绑定管理;
1.2嵌入式实时操作系统FreeRTOS
在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。
采用嵌入式实时操作系统(RTOS>
可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
FreeRTOS操作系统是一个完全免费的嵌入式操作系统,具有公开源码、可移植、可裁减、多种调度策略等特点。
包括的功能有:
任务管理、信号量、消息队列、时间管理、内存管理、记录功能等。
FreeRTOS内核支持优先级调度算法,即根据重要程度,给每个任务赋予一个优先级,而处于就绪态的、优先级最高的任务总是先得到运行。
同时,FreeRT0S允许在同一优先级中存在多个不同的系统任务。
在优先级相同的情况下,同一优先级的任务采用轮换调度的方法共享CPU的使用时间。
用户可根据需要设置FreeRTOS的内核为可剥夺型的内核或不可剥夺型的内核。
为满足系统实时性的要求,可设置FreeRTOS为可剥夺型的内核,这样当高优先级任务就绪时系统就会强制低优先级任务让出对CPU的使用权,而使就绪的高优先级任务运行;
设置FreeRTOS为不可剥夺型的内核时,系统不能剥夺当前任务对CPU的使用权,就绪的高优先级任务只有任务主动让出CPU之后才能运行,这样提高了CPU的运行效率。
1.2.1任务调度
在嵌入式实时操作系统中,任务调度机制是一个重要的概念,也是核心的技术。
在可剥夺型的内核中,高优先级任务一旦就绪就会在下一个时钟节拍时迫使低优先级较任务让出CPU的使用权,运行高优先级任务。
FreeRTOS的系统任务的数量是无限制,同时支持优先级调度算法和轮换调度算法,它采用双向的链表结构而不是采用轮询任务就绪表的方法来进行任务调度。
FreeRTOS任务链表结构如下:
图2.5任务调度
1.2.2任务管理[3]
多任务管理是操作系统的主要功能。
FreeRTOS中的任务管理功能有创建任务、删除任务、挂起任务、恢复任务、设定任务优先级、获得任务相关信息等。
FreeRTOS系统任务的创建使用xTaskCreate(>
函数。
调用xTaskCreate(>
时,FreeRTOS会分配内存给任务。
内存成功分配之后,系统会初始化任务控制块中的任务名称、堆栈深度和任务优先级,然后根据CPU堆栈的增长方向初始化任务控制块的堆栈。
接着,FreeRTOS把当前创建的任务加入到就绪任务链表,等待系统调度。
FreeRTOS系统任务的删除分两步完成。
调用vTaskDelete(>
函数后,开始任务删除的第一步:
先从就绪任务链表和事件等待链表中删除任务信息,然后把任务移动到任务删除链表,当正在执行删除的任务时,系统会进行一次任务调度,以切换任务。
在系统空闲任务运行时,如果任务删除链表中有需要删除的任务存在,则开始删除任务的第二步:
释放任务所使用的内存,并从任务删除链表中移除任务,这样任务就被彻底删除了。
1.2.3时间管理
FreeRTOS中典型的时间管理函数是vTaskDelay(>
此函数可以将任务延时一段特定的时间。
系统存在一个时钟记录系统已运行时间。
延时任务时,将延时时间与系统时钟相加并存入任务信息中,然后根据延时将任务加入等待列表中。
每过一个系统时钟,系统查找等待列表,比较任务信息中的时钟和系统时钟,若相等则将任务移出等待列表,加入任务就绪列表,等待调度运行。
1.2.4内存分配策略
当任务、队列和信号量创建的时候,会向系统申请一定的内存。
FreeRTOS提供了两种内存分配的策略,用户可以根据实际需要选择不同的内存分配策略。
第1种方法是,系统将内存简单的按照任务所申请的大小分成若干块,这样就可以满足任务的需求。
这种做法简单方便,执行时间可以确定,但是这样做会使内存释放后再分配很困难,内存不能得到有效的释放,不能实现任务或队列的删除。
第2种方法是,使用链表来分配内存。
系统为空闲的内存块建立链表,并根据块的大小进行排序。
当任务申请内存时,系统查找链表,选出最小的能满足任务需求的内存块。
若内存块较大,则将内存块一分为二,一个分配给任务,另一个作为新的内存块插入到链表中。
1.3微波多普勒原理
微波是指频率在300MHz~300GHz范围内,是无线电波中一个有限频带的简称,即波长在100cm~1mm范围内的电磁波,是分M波、厘M波、毫M波和亚毫M波的统称。
其中包括甚高频(VHF>
、特高频(UHF>
、超高频(SHF>
、极高频(EHF>
4个波段。
微波具有直线<
视距)传播,抗干扰性强,频带宽等特点,广泛用于各种无线通讯和目标探测的场合。
微波波段中,波长在1~25cm的波段专门用于雷达(RADAR,RadioDetectionAndRanging>
,其余部分用于电讯传输。
多普勒雷达是利用多普勒效应进行定位、测速、测距等工作的雷达。
多普勒效应是当声音、光和无线电波等振动源与观测者以相对速度V相对运动时,观测者所收到的振动频率与振动源所发出的频率有所不同[13]。
多普勒效应的示意图如下:
图2.
6多普勒效应
多普勒雷达测速的原理,是检测发射出去的无线电波与遇到运动物体反射回来的无线电波之间的频率变化和相位变化,根据频率的变化计算出物体的速度,由发射波和回波信号的相位关系,判断运动物体是朝着无线电波的发射方向还是其反方向移动的。
设声波或电磁波的波长为λ,频率为f0,速度为c,运动物体的径向速度为v,回波多普