无线传感器网络常用的通信协议(上)
时间:2008-03-19 来源:zcwuwei
由表5-6得知,ZigBee是比较适合无线传感器网络应用的,简单阐述自定义通信协议并对ZigBee协议栈进行分析。
1. 自定义通信协议
自定义的通信协议可以采用分层设计,参考OSI参考模型的结构,可以提高系统的灵活性,在保持各层协议之间接口不变的情况下,各层协议可以独立进行开发,并尝试不同的算法。早期提出的一个协议栈包括物理层、数据链路层、网络层、传输层和应用层,另外还有能量管理平台、移动管理平台和任务管理平台,如图5-23所示。
665){this.resized=true;this.style.width=665;}">
如图524所示的网络协议栈对原始模型进行了改进,加入了定位和时间同步子层,并用倒L型描述这两个子层。另外还增加了QoS管理及网络管理等功能。
665){this.resized=true;this.style.width=665;}">
2 ZigBee协议栈
目前已经有多家公司推出支持ZigBee的无线收发芯片、ZigBee开发套件及ZigBee协议栈等,如Microchip的PICDEMZ Demo Kit及其ZigBee协议栈、飞思卡尔的MC13191/92开发者初级套件及其协议栈、Figure8的Z-Stack ZigBee协议栈等,国内也涌现出了不少专门从事ZigBee开发的公司。在此介绍Microchip的ZigBeel.0版协议栈。
1.Microchip ZigBee协议栈简介
Microchip的ZigBee1.0版协议栈设计得可以随着ZigBee的发展而发展,它具有以下特点。
①基于ZigBee规范的0.8版本。
②使用Chipcon CC2420 RF收发器,支持2.4GHz频带。
③支持简化功能设备(Reduced Device,RFD)和协调器。
④在协调器节点中实现对邻接表和绑定表的非易失性存储。
⑤支持非时隙的星型网络。
⑥可以在大多数PICl8系列单片机之间进行移植。
⑦协同多任务处理架构。
⑧不依赖于RTOS和应用。
⑨支持Microchip MPLAB?C18和Hi-Tech PICC-18TM C编译器。
⑩易于添加或删除特定模块的模块化设计。
当然,该协议栈也不是完全支持ZigBee标准中的所有规范,它有以下限制。
①不完全符合ZigBee协议。
②不支持群集和点对点网络。
③无安全和访问控制功能。
④无路由器功能。
⑤不提供标准的配置文件,但是包含创建配置文件所必需的所有原始函数。
⑥.不支持一对多绑定。
2.Microchip ZigBee协议栈硬件支持
Microchip协议栈设计为仅在Microchip PIC18F系列单片机上运行,它使用内部闪存程序存储器来存储可配置的MAC地址、网络表和绑定表,必须使用可自编程的闪存存储器单片机。但是,可以修改非易失性存储器(NVM)程序来支持任何其他类型的NVM,而不使用可自编程的单片机。该协议栈针对的硬件平台结构如图5-25所示,它拥有一片带SPI接口的PICl8F单片机、一个带有所需外部元件的无线收发器、一根天线,可以是PCB上的引线形成的天线或单极天线。单片机通过SPI总线和一些离散控制信号与无线收发器相连,无线收发器采用Chipcon公司的CC2420。单片机实现IEEE 802.15.4的媒体访问层和ZigBee协议层,另外还有一些特定的控制逻辑。
665){this.resized=true;this.style.width=665;}">
要掌握软件的实现,首先要知道硬件资源的分配,单片机与无线收发器之间的引脚对应关系见表5-7。
665){this.resized=true;this.style.width=665;}">
HCDEM Z演示工具包设计为用于演示Microchip ZigBee协议解决方案。PICDEM Z工具包内含两个ZigBee节点,每个节点由两块板组成:一块母板和一块RF卡。PICDEMZ母板设计为支持不同类型的无线收发器。
(1)PICDEM Z母板
配置有一个单片机插槽(提供40引脚和28脚DIP插槽供用户插入所需Microchip PIC I 8单片机)、温度传感器TC77、两个用户自定义的LED、两个用户自定义按钮、Reset按钮、RJ-11模块化接头、RS-232接头、RF卡接头、实验布线区、板上电源、测量电路和节点II)等,其实物图如图5-26所示。
(2)PICDEM Z无线射频卡
PICDEM Z母板设计为支持不同厂家无线收发器的无线射频卡。PICDEM Z 2.4GHz无线射频卡用于演示 Microchip针对ZigBee协议在2.4GHz频带的解决方案。该卡使用Chipcon的CC2420无线收发器,带板上的PCB天线,其实物图如图5-27所示
665){this.resized=true;this.style.width=665;}">
3.Microchip ZigBee协议栈分析
(1)协议栈实现工具
Microchip协议栈采用C语言编写,使用Microchip C 18或Hi-Tech PICC-18编译器编译,使用在MPLAB?IDE集成开发环境进行应用程序的开发。源文件会自动根据所使用的编译器进行必要的更改。
(2)协议栈组成
Microchip协议栈由多个源文件组成,所有源文件均位于Source目录下的子目录中,目录结构见表5-8。
665){this.resized=true;this.style.width=665;}">
DemoCoordApp的应用程序项目文件见表5-9,该演示应用程序的功能如下:
·与PICDEM Z演示板配合使用;
·使用RS-232终端驱动菜单命令来配置多个选项;
·通过终端菜单命令对EF收发器的性能进行测试的功能;
·创建非时隙的星型网络;
·使用D2作为指示发送/接收操作的LED;
·演示自定义绑定接口;
·自动支持MPLAB C18和 Hi-Tech PICC-18编译器。
665){this.resized=true;this.style.width=665;}">
DemoRFDApp应用程序项目文件见表5-10,该演示应用程序的功能如下:
·与PICDEM Z演示板一起使用;
·使用系统休眠和看门狗功能演示低功耗功能;
·使用RS-232终端驱动菜单命令来配置多个选项;
·通过终端菜单命令对RF收发器的性能进行测试的功能;
·在一个节点上可由用户配置的简单远程控制开关和LED应用程序;
·使用D2作为指示发送接收操作的LED;
·演示自定义绑定接口;
665){this.resized=true;this.style.width=665;}">