微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于精简协议栈的ZigBee网络节点研究

基于精简协议栈的ZigBee网络节点研究

时间:07-17 来源:中国电子设计网 点击:

xSrcEp()返回源端点

  aplGetRxSADDR()返回源端点的短地址

  aplGetRxMsgLen()返回消息长度

  aplGetRxMsgData()返回消息数据的指针

  aplGetRxRSSI()返回收到消息的信号强度

  而后用户回调函数usrRxPacketCallback()将被调用。这个函数将使用用户数据结构保存数据,设置已收到数据的标志位。此函数结束后消息数据的指针将会被释放,所以在函数结束之前要将数据保存以防止下一个包将数据覆盖掉。

  2.4  编写用户应用程序

  编写用户应用程序时,要确定端点的连接方式。一种简单的方式是RFD节点周期性地向

  协调器节点返回数据。这样做比较简单,因为协调器的地址总是0。

  RFD节点间使用直接方式通信比较困难。因为RFD节点的短地址是由其接入网络的顺序和深度决定的,事先并不知道。当然可以在协调器节点上增加程序告知RFD节点它们的地址,但这使复杂程度增加了。比较好的方式是使用非直接消息方式进行RFD节点间通信。RFD节点都将消息发送给协调器节点,协调器节点根据绑定表向正确的节点发送数据。

基于精简协议栈的ZigBee网络节点研究

  图1  有限状态机状态转移图

  整个程序的运转是靠一个有限状态机维持的。图1给出了这个状态机的状态转移图。

  2.5  函数总结

  鉴于APL层函数接口对程序设计的重要性,将这些函数做一个总结。

  表3  APL服务调用

基于精简协议栈的ZigBee网络节点研究

  表4  APL/APS访问和功能函数

基于精简协议栈的ZigBee网络节点研究

  表3是APL服务,这些函数需要调用apsBusy()确定其是否完成,并且使用aplGetStatus()函数返回状态。表4是APL/APS访问及功能函数。

  结语

  无线传感器网络具有广阔的应用前景,由ZigBee协议可以方便有效地组建无线传感器网络。在整个应用中,主要硬件设备可由一个51单片机加上2.4 GHz的收发模块组成,采用CC2430是为了更加方便使用,而ZigBee的真正核心是安装在单片机中的协议栈代码。精简版协议栈不论从开发难度到使用成本都具有一定的优势。本文对精简版协议栈尤其是应用层接口、代码实现进行了详细的分析,并以此为基础给出了节点的软、硬件设计。了解协议栈的使用,就可以在其上开发适合我们需要的各种应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top