基于精简协议栈的ZigBee网络节点研究_第1页
基于精简协议栈的ZigBee网络节点研究_第2页
基于精简协议栈的ZigBee网络节点研究_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于精简协议栈的ZigBee网络节点研究摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTAC)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz,阻带抑制率大于35 dB,带内波纹小于05 dB,采用18 V电源,TSMC 018m CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte引言ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术。ZigBee在整个协议栈中处于网络层

2、的位置,其下是由IEEE 802.15.4规范实现PHY(物理层)和MAC(媒体访问控制层),对上ZigBee提供了应用层接口。ZigBee可以组成星形、网状、树形的网络拓扑,可用于无线传感器网络(WSN)的组网以及其他无线应用。ZigBee工作于2.4 GHz的免执照频段,可以容纳高达65 000个节点。这些节点的功耗很低,单靠2节5号电池就可以维持工作624个月。除此之外,它还具有很高的可靠性和安全性。这些优点使基于ZigBee的WSN广泛应用于工业控制、消费性电子设备、汽车自动化、家庭和楼宇自动化、医用设备控制等。ZigBee协议由ZigBee联盟制定,是ZigBee的核心。目前国外带有

3、ZigBee协议栈的全功能开发系统的价格非常高昂,而且ZigBee/802.15.4协议栈全部只提供二进制/不可修改的目标代码库供用户使用。本文研究的ZigBee精简版协议栈代码开放,在某些应用中可以达到标准版协议栈的效果,但是费用却低很多,因此具有较高的研究价值和应用价值。1 ZigBee精简协议栈简介美国密西西比州立大学的Robert Reese教授出于教学、科研目的开发出一套精简版(subset)ZigBee协议栈。标准协议栈和精简协议栈的功能对比如表1所列,可以看出,精简协议栈实现了ZigBee的主要功能。国内一些研究机构在此精简协议上进行扩充,实现了一些其原本不具备的功能。这里再补充

4、一些术语概念,这有助于理解协议栈的代码结构。IEEE Address节点的8位802.15.4网络地址,也称为长地址。Network Address节点的2位网络地址,也称短地址。PAN个人局域网。PAN ID个人局域网标识符。HAL协议栈物理抽象层。PHY协议栈物理层。MAC协议栈媒体访问控制层。NWK协议栈网络层。APS协议栈应用支持层。APL协议栈应用层。精简协议栈的代码结构如表2所列。表1500)this.style.width=500; border=0 /表2500)this.style.width=500; border=0 /2 ZigBee协议编程对于实际应用来说,最重要的是

5、协议栈的APL函数。协议栈的每一层都有自己的有限状态机(FSM)以追踪要进行的操作。顶层的状态机函数为apsFSM(),这个函数需要最早被调用以使协议栈运行,这与标准栈中的APLTask()函数等价。所有的应用层函数都以apl或者aps开头,这些函数被分为两类: 一类是对栈内数据的存取函数,一类是数据传输过程触发一系列事件的服务函数(调用)。这里需要说明的是服务调用不能重叠,这可以通过调用apsBusy()函数进行判断。2.1 节点程序设计如果节点作为协调器(coordinator),那么需要定义LRWPAN_COORDINATOR;而如果节点作为路由器(router)则需要定义LRWPAN_

6、ROUTER;如果两者都没有定义,将作为RFD节点。协调器节点形成网络,然后进入一个无限循环并调用apsFSM()运行协议栈。调用aplFormNetwork()服务后调用函数aplGetStatus(),如果返回了LRWPAN_SUCCESS则表示服务调用成功。代码如下:main() halInit();/初始化HAL 层evbInit();/初始化评估板aplInit();/初始化协议栈ENABLE_GLOBAL_INTERRUPT();/开中断aplFormNetwork();/形成网络while(apsBusy)() apsFSM();/等待完成while(1) apsFSM();/运

7、行协议栈栈路由器节点通过调用aplJoinNetwork()运行协议栈。代码如下:main() halInit();/初始化HAL 层evbInit();/初始化评估板aplInit();/初始化协议栈ENABLE_GLOBAL_INTERRUPT();/开中断尝试接入网络直至成功do aplJoinNetwork(); /接入网络while(apsBusy)() apsFSM();/等待完成while(aplGetStatus() !=LRWPAN_SUCCESS);while(1) apsFSM();/运行协议栈2.2 发送消息应用程序通过调用aplSendMSG()函数发送消息包。此函数的定义如下:aplSendMSG(BYTE dstMode,/目标地址的地址模式LADDR_UNION * dstADDR, /目的地址的指针BYTE dstEP,/目标端点(直接消息方式不用)BYTE c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论