在详细讲述IEEE 802.15.4协议之前,谈谈自己这两个星期看协议过程中的一点心得,或者是收获吧。
看协议文档,一定要看有书签的,边看边在旁边做些备注,以便于后期整理。对于协议层次相关的,最好在纸上画一个大的简易的框图,边看边思考。
在ZigBee的协议层次中,每一层都提供了向上服务和向下服务的接口,根据功能不同,每种接口(SAP)又可划分为数据服务实体和管理服务实体,每一层对于自己该层的常量和属性,都有一个数据库(PIB)来记录,通过服务接口来供上下两层来调用。
每层接口由协议原语规定好格式和功能,有四种原语类型,按照发起方的不同,有两类。
从上往下主动发起的叫request,它要求对象返回一个confirm。
从下往上请求服务的叫indication,它要求对象返回一个response
如下图:
ZigBee所使用的物理层和链路层协议为IEEE 802.15.4协议,该协议由IEEE 802.15的第四任务组TG4来维护,旨在为个人或家庭范围内不同设备间低速互联提供统一的协议标准。
IEEE 802.15.4协议栈物理层主要完成:
1. 无线比特数据的收发
2. 射频收发器的开关
3. 信道能力扫描
4. 空闲信道评估(CCA)
802.15.4定义的物理层标准为2.4G和868(欧)/915(美)标准,一般常用为2.4G的ISM频段。在2.4G上,分布了16个信道(编号11~26), 传输速率为250Kbps,符号率为62.5 ksymbols/s(每四个比特对于一个符号),接收机灵敏度要求至少达到-85dBm。
物理层的帧组织
物理层主要维护物理层协议数据单元(PPDU:Physical Protocol Data Unit)和物理层的网络数据库(PIB).
Preamble用于接收设备进行比特流上的同步。
SFD指示前导码的结束和数据码的开始
Frame length表示PHY层有效载荷字节长度,取值为5时,表示为ACK确认帧。其他取值范围为9~aMaxPHYPacketSize(127)