新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于ZigBee技术的无线点餐系统设计

基于ZigBee技术的无线点餐系统设计

作者:时间:2011-03-24来源:网络收藏



3 网络节点软件的
3.1 网络节点程序

网络支持三种网络结构,即星状、树状和网状。节点通用性及便于开发的考虑,移植了TI公司的Z-Stack协议栈,其主要特点就是兼容性,支持IEEE 802.15.4标准的CC2430片上解决方案。网络中有三种设备,分别是协调器、路由器及终端设备。协调器负责启动一个网络,在一个网络中有且只有一个协调器设备。本选用了一个协调器和多个终端设备,对协议栈进行了相应的修改和增减以适应硬件电路的实际需求,组成简单的星形网络。
Z-Stack是操作的思想来构建的,采用事件轮循机制,整个协议栈用C语言编写。当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。这种软件构架可以极大地降级系统的功耗。整个Z-Stack的主要工作流程,大致分为系统启动、驱动初始化、OSAL初始化与启动和进入任务轮循几个阶段。
系统流程如图4所示。


当硬件初始化完成后,打开中断,执行osal_star_system()函数开始运行OSAL系统。该任务调度函数按照优先级检测各个任务是否就绪。如果存在就绪的任务则调用tasksArr()中相对应的任务处理函数去处理该事件,直到执行完所有就绪的任务。如果任务列表中没有就绪的任务,则可以使处理器进入睡眠状态实现低功耗。OSAL任务调度流程如图5所示。
ZigBee网络的形成是通过ZDApp_Init这个任务实现的。zDApp_Init任务中调用了函数ZDAPP_Net-workInit,如果是协调器就建立网络,确定PANID与频道选择,打开全局中断之后进入监听状态,监测网络中有无ZigBee信号,如果有节点申请加入网络,协调器给节点分配网络地址。对于终端设备,完成初始化之后,发送申请加入网络信号,等待协调器响应。成功加入网络后,进入休眠状态等待唤醒。网络启动程序流程如图6所示。



评论


相关推荐

技术专区

关闭