新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Zigbee的嵌入式自动抄表系统的研究

基于Zigbee的嵌入式自动抄表系统的研究

作者:时间:2013-03-13来源:网络收藏


  (2)键盘驱动

  键盘驱动程序initKey.。流程图如图6 所示。



  图 6 键盘模块初始化流程图

  4.2 zigBee 协议栈的使用

  要建立一个单独的任务,必须先将 osalTaskAdd()函数所需要的参数条件定义好,这些 参数分别是初始化函数wxLesexamPle--Init,任务处理函数wXLesexamPle--event_foop 和任 务优先级。任务初始化函数的功能是将该任务需要完成的功能的功能部件初始化,在每一个 任务的初始化函数中,必须完成的功能是要得到设置任务的任务ID。任务处理函数是对任 务发生后的事件进行处理,一般包括网络状态的判断(判断设备的类型,是协调器还是路由 器或者是终端设备)和接收到信息后的处理。任务优先级[5]则是按照1 一256 排列,优先级 高的排在前面。

  所以协议栈的使用流程是:


  4.3zigBee 用户应用程序

  根据节点功能的不同,需要设计相应的用户应用程序。如果程序是在协调器上运行,那 么LRW 队 NCOORD 俐ATOR 预定义必须在头文件中定义;如果程序是在路由节点上运行, 那么LRW 队 NROUTER 预定义必须在头文件中定义;如果这两个预定义都没有定义则程序 在RFD 节点上运行。下面本系统中使用的电表采集节点和协调器节点上的用户应用程序的 架构。

  (1)协调器节点

  对协调器节点来说[6],程序是在它接收到远程控制中心的指令后从组建网络开始的,协 调器节点再向其通信范围内的电表采集节点发送唤醒指令,同时等待新节点的入网请求。系 统启动后,首先初始化所有的硬件和软件,并设定网络参数,然后初始化协议栈,网络建立 成功后即进入中断的循环检测和处理过程。UARTI 是由远程控制中心下达指令引起的中断, 协调器节点通过uARTI 和GPRs 连接,远程控制中心通过GPRS 下达的指令的到来就会引 起UARTI 终端事件的发生。协调器节点对接到的指令进行解析后执行相应的命令。定时器 中断主要用来向远程控制中心发送ZigBee 网络采集到的电表数据,向电表采集节点发送采 集数据指令及更新路由表。

  (2)电表采集节点

  电表采集节点在程序启动后[7],也是会首先初始化所有硬件和软件,初始化协议栈,并 试图加入网络,如果加入网络不成功,则进入休眠状态,由一个定时器定时唤醒电表采集节 点重新加入网络。如果加入网络成功,则按照其收到的终端类型进行相应的处理。网络中电 表采集节点通过发送KVP 帧与协调器进行数据交互,协调器主要发送采集电量指令和对时 指令到电表采集节点,电表采集节点再根据数据的属性进行相应处理。程序流程图如8 所示。



评论


相关推荐

技术专区

关闭