IEEE 802.15工作组于1998年成立,为了适应低功耗、低成本的无线网络需求,IEEE标准委员会在2000年正式批准并成立了802.15.4工作组,其主要职能是制定低数据率的WPAN(LR-WPAN)标准。要求具有低功耗、低复杂度、体积小、成本低等突出特点,使其在便携或可移动的数据终端中发挥重要作用。IEEE 802.15.4满足国际标准组织(ISO)开放系统互连(OSI)参考模式。它包括物理层、介质访问层、网络层和应用层。
ZigBee是一种低速短距离传输的无线网络协议,于2004年由ZigBee联盟推出。它属于新兴的短距离无线通信技术,用于无线传感器组网控制及应用(Sensor andControl)。ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。ZigBee网络主要特点是低功耗、低成本、规模可控、支持多种网络拓扑、简单易用、效率高、安全可靠。中国物联网校企联盟认为,ZigBee作为一种短距离无线通信技术,由于ZigBee无线传感器网络可以方便的为用户提供感知节点的数据传输,在物联网领域进行了广泛的应用。
Zigbee协议栈完成对底层硬件及相应的协议的封装,提供相应的对外API接口,供用户调用开发,简化用户开发流程,提高用户开发效率。
基于STM32W108 ST公司当前推出了三种不同类型的无线网络应用解决方案:
1. MAC协议栈:实现基本的IEEE 802.15.4通信,在此基础上可以开发简单的WSN应用协议,如点对点网络、星型网络的组建及数据采集。
2. ZigBee Pro协议栈:用于较大规模、复杂WSN网络的组建及实现,如家庭的自动化、环境的监测、Mesh网的智能能源应用。
3. 基于RF4CE协议栈:主要应用于消费类电子设备,实现无线网络遥控及通信,如机顶盒、智能家居等。
由于本书中所涉及到的芯片类型支持802.15.4 MAC协议栈,下面我们对802.15.4 MAC协议栈作简要介绍。STM32W108SimpleMac协议栈(以下简称MAC)库为用户提供了API函数,API函数实现对底层硬件的设置及驱动,通过API函数调用访问STM32W108微控制器的底层硬件的MAC功能。以下对MAC库的API命名规则以及MAC库中API的分类进行简单介绍,有助于应用程序的阅读与开发。
1. MAC库API命名规则:
前缀:MAC API函数前缀都是“ST_”,然后其后跟随着一般API名称,例如Radio、AES;
回调后缀:用户实现和MAC库内实现的回调函数的后缀都是“Callback”;
ISR回调后缀:用户实现和MAC库内实现的中断服务子程序的回调函数的后缀是“IsrCallback”;
ISR后缀:MAC库内实现的部分函数,由应用程序调用用于响应硬件事件的函数的后缀为“Isr”。
2. MAC库API分类
(1)、电源状态控制API函数,对无线电的初始化和电源状态的管理控制;
(2)、信道API函数,对信道的选择和校准;
(3)、电源API函数,对电源的控制;
(4)、发送API函数,数据包的发送及控制;
(5)、接收API函数,数据包的接收及控制;
(6)、加密API函数,与硬件AES协处理器相结合,提供无线数据包加密;
(7)、MAC定时器API函数,提供MAC的定时功能;
(8)、其他API函数,实现对MAC的诊断和配置。
3. MAC层简介
网络通信基于IEEE 802.15.4协议,协议完成了网络中的MAC子层和PHY子层的功能,本书网络通信基于MAC层进行。MAC子层主要提供两种服务:MAC层数据服务和MAC层管理服务,MAC层数据服务保证MAC协议数据单元能够基于物理层提供的数据服务完成数据的正确收发,MAC层管理服务负责维护管理存储MAC子层协议状态信息的数据库。MAC子层主要功能包括以下六个方面:
(1)、协调器产生并发送信标帧,其它普通设备通过协调器的信标帧与协调器保持同步;
(2)、能够实现PAN网络的关联和取消关联;
(3)、保证无线信道通信的安全性;
(4)、支持CSMA-CA机制访问信道;
(5)、提供时槽保障机制;
(6)、保证不同设备的MAC层间可以进行可靠传输。
本文出自《STM32W108嵌入式无线传感器网络》邱铁,夏锋,周玉编著.清华大学出版社,2014年5月