项目三了解无线传感器协议栈
项目三了解ZigBee无线传感器网络协议栈知识目标1.掌握zigbee无线传感器网络的协议栈和协议的区别等知识。
2.掌握Z-Stack协议栈的OSAL分配机制。
3.了解Z-Stack协议栈的OSAL运行机制。
4.掌握Z-Stack协议栈的OSAL常用函数。
项目三了解ZigBee无线传感器网络协议栈技能目标1.掌握
Z-Stack协议栈的运行机制。
2.掌握Z-Stack协议栈中OSAL的添加新任务的方法。
项目三了解ZigBee无线传感器网络协议栈在实际zigbee无线传感器网络工程的开发过程中首先借助TI提供的协议栈中例程SampleApp,接着根据需要完成的功能,查看支持Z-Stack协议栈的硬件电路图,再查阅数据手册(CC2530的数据手册、Z-Stack协议栈说明、Z-Stack协议栈API函数使用说明等)文件,然后再进行协议栈的修改。
最后,还需要烧录器下载到相应的硬件,实现zigbee无线传感器网络的组建和开发。
设计思路3.1.1协议与协议栈协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发;议栈是协议的具体实现形式。
通俗的理解为代码实现的函数库,以便于开发人员调用。
3.1Z-Stack协议栈3.1.1协议与协议栈协议栈是指网络中各层协议的总和,一套协议的规范。
其形象地反映了一个网络中文件传输的过程由上层协议到底层协议,再由底层协议到上层协议。
使用最广泛的是因特网协议栈,由上到下的协议分别是应用层(Http、Tel、DNS、Email等),运输层(TCP、UDP),网络层(IP),链路层(WI-FI、以太网、令牌环、FDDI等)。
3.1Z-Stack协议栈3.1.1协议与协议栈3.1Z-Stack协议栈3.1.1协议与协议栈Zigbee协议栈开发的基本思路如下。
①借助TI提供的协议栈中例程SampleApp进行二次开发,用户不需要深入研究复杂的zigbee协议栈,这样可以减轻开发者的工作量。
②Zigbee无线传感器网络中数据采集,只需要用户在应用层加入传感器的读取函数和添加头文件即可实现。
③如果考虑节能,可以根据数据采集周期(zigbee协议栈例程中已开发了定时程序)进行定时,定时时间到就唤醒zigbee终端节点,终端节点唤醒后,自动采集传感器数据,然后将数据发送给路由器或者直接发给协调器,即监测节点定时汇报监测数据。
④协调器(网关)根据下发的控制命令,将控制信息转发到具体的节点,即控制节点等待控制命令下发。
3.1Z-Stack协议栈3.1.2使用Z-Stack协议栈传输SampleApp.c 中定义了发送函数static voidSampleApp_SendTheMessage(void)。
该函数通过调用AF_DataRequest来发送数据。
该函数定义在Profile目录下的AF.c文件中。
3.1Z-Stack协议栈3.1.2使用Z-Stack协议栈传输*dstAddr发送目的地址+端点地址(端点号)和传送模式。
*srcEP源(答复或确认)终端的描述(比如操作系统中任务ID等)源源EP。
cID被Profile指定的有效的集群号。
len发送数据长度。
*buf指向存放发送数据的缓冲区的指针。
*transID任务ID号。
options:有效位掩码的发送选项。
Radius发送跳数,通常设置为AF_DEFAULT_RADIUS。
3.1Z-Stack协议栈3.2.1物理层物理层(PHY)定义了无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务,主要是在驱动程序的基础上,实现数据传输和管理。
物理层数据服务从无线物理信道上收发数据,管理服务包括信道能量监测(ED)、链接质量指示(LQI)、载波检测(CS)和空闲信道评估(CCA)等,维护一个由物理层相关数据组成的数据库。
3.2zigbee无线传感器网络功能层简介3.2.2质访问控制层介质访问控制层(MAC)提供点对点通信的数据确认(Per-hop Acknowledgments)以及一些用于网络发现和网络形成的命令,但是介质访问控制层不支持多跳(Multi-hop)、网型网络(Mesh)等概念3.2zigbee无线传感器网络功能层简介3.2.3网络层网络层(NWK)
主要负责设备加入和退出网络、路由管理,在设备之间发现和维护路由,发现邻设备,存储邻设备信息等。
3.2zigbee无线传感器网络功能层简介3.2.3网络层网络层(NWK)主要负责设备加入和退出网络、路由管理,在设备之间发现和维护路由,发现邻设备,存储邻设备信息等。
1.地址类型
2.网络地址分配
3.Z-Stack寻址
4.路由
5.安全
3.2zigbee无线传感器网络功能层简介3.2.4应用层应用层主要包括应用支持子层(APS)和Zigbee设备对象(ZDO)。
其中,APS负责维护和绑定表、在绑定设备之间传送消息;而ZDO 定义设备在网络中的角色,发起和响应绑定请求,在网络设备之间建立安全机制。
3.2zigbee无线传感器网络功能层简介3.3.1OSAL基础知识1.资源(Resource)2.共享资源(Shared Resource)3.任务(Task)4.多任务运行(Muti-Task Running)5.内核(Kernel)6.互斥(Mutual Exclusion)7.消息队列(Message Queue)3.3OSAL多任务分配机制3.3.1OSAL基础知识1.资源(Resource)2.共享资源(Shared Resource)3.任务(Task)4.多任务运行(Muti-Task Running)5.内核(Kernel)6.互斥(Mutual Exclusion)7.消息队列(Message Queue)3.3OSAL多任务分配机制3.3.2OSAL简介Z-stack是TI公司开发的zigbee协议栈,并经过zigbee联盟认可而被全球众多开发商所广泛采用。