zigbee协议及开发(1)- 基础知识

来源:互联网 发布:淘宝爱逛街 编辑:程序博客网 时间:2024/05/16 10:27

说明:本系列文章中,部分内容来自于网络及图书,版权归原作者所有,其中加入我个人学习的体会及理解,算是个人的学习笔记。

 

准备学习这个方面内容原因是因为申请了一个学生的课题,本来是由学生做的,但是诸多原因,最后只得由我亲自操刀,既然做就做好吧。本系列相关实验用到的硬件是Feibit公司基于TICC2530开发系列节点。

 

申请的课题是关于无线传感器网络室内环境监测的,原本打算购买一套(中科院宁波)深联科技的GAINS和GAINZ套件或者是XcrossBow的套件,不过一查价格高得吓人,而经费项目少得可怜,只好作罢。最后,经过搜索,得知基于Zigbee技术的低功耗节点也是可选途径之一。

 

Zigbee是一个技术联盟,其目的是支持近距个人通信,即PAN(Personal Area Network)。一个简单的比方,现在大家可能都有手提电脑、手机、还有MP3之类的,这些设备之间通信可以看成一个PAN。从学术角度,IEEE802.15.4即是描述个人通信的规范,而遵从Zigbee的产品是完全与IEEE802.15.4兼容的。当然,日常提得比较多的是蓝牙和WIFI,也是一种近距通信技术,但是Zigbee强在其低功耗、低数据率,实际上Zigbee理论最高速率不超过250kb/s。下面这个图说明了问题:

 

IEEE802.15.4规范只涉及到网络的低两层,即PHY和MAC层。但是一般的Zigbee协议栈都实现了一整套完整的协议,即包括网络层(NWK)及应用层(APS,APL)。

 

以TI的Zigbee协议ZStack为例,其实现涉及到硬件层(HAL),MAC层,网络层(NWK)及应用层(APL),这几个在用IAR WORKBench打开Zigbee的工程后都可以找得到相关的目录,如:

其中,有一个目录OSAL,全称OS Abstract Layer,这个是Z-Stack1.4.3及以后的版本中引入了一个类OS的概念,即把应用层和堆栈层进行了分离,但是这个操作系统并不是时实的操作系统(如UCos,RTOS)。OSAL与Zstack关系好比Windows与TCP/IP关系协议栈只负责网络数据传输相关工作(蓝牙也是用这个协议栈的,Wifi是用RTOS实时协议栈),OSAL完成以下相关工作:

一般来说提供如下几个功能:
·                     任务的注册、初始化、开始(即注册ID号,注册端点,硬件初始化,任务就开始)
·                     任务间的消息交换(通过任务和事件-来传递消息)
·                     任务同步--(目前不知道在哪里)
·                     中断处理--—(如按键中断,串口DMA中断)
·                     时间管理--(time-update)
·                     内存分配--(NV这个貌似很重要的了,不知所云)。

 

参考:http://www.zdh1909.com/html/RIFI/6491.html

参考:《Zigbee Wireless Networks and Transceivers》Shahin Farahani

参考:www.feibit.com/bbs

0 0