资源描述
基于 ZigBee的数据采集系统
摘要:鉴于 ZigBee技术适合用于数据采集系统的的特点 , 提出了基于 ZigBee的数据采集系统的设计方案, 着重探讨 ZigBee节点的硬件设计及其组网设计. 并详细讨论了基于xbee模块的数据采集节点的硬件设计方案 , 组网设计中的协调器建立网络、节点加入及脱离网络的设计方法 , 以及数据采集系统的软件设计方法. 最后通过搭建温度采集 ZigBee网络的实验 , 证明新方案能取得良好的通信效果. 关键词: ZigBee;数据采集; 无线传感器网络; 单片机 。
ZigBee是一种近距离、低功耗、低速率、低商以及服务供应商等在内的一条完整的产业链 . 成本的无线传感器网络, 已经在许多领域得到了在其他无线通信技术不断追求高速率、远距离的同越来越多的应用, 如温度、湿度、气体浓度、亮度、时, ZigBee却向着低速率、近距离的方向迈进, 其压力等各种各样小数据量信息的采集, 及传输可目的就是为了大幅降低无线终端的成本和功耗. 以采用这种低功耗、低传输速率的无线传感器网络. 在这些应用场合中, ZigBee网络与现有的各种无线1硬件设计网络相比, 有着独特的优势 , 即低功耗、低速率、低成本. 由于 ZigBee设备工作时间较短 , 收发信数据采集节点主要由传感模块、数据处理存储息功耗较低且采用休眠模式 , 使得它非常省电 , 电模块、无线通信模块等几部分组成[1]. 池可使用长达 6个月至 2年左右. ZigBee工作在 目前生产 ZigBee芯片的厂商主要有美国的 250 kbps的通信速率, 足已满足低速率通信传输的Chipcon、Freescale、英国的 Jennic等公司 . 笔者选需要, 且 2.4 GHz的工作频段是免费频段. 用的是 Digi公司的xbee模块。
ZigBee联盟成立于 2001年, 在其创始之初 , 加公司早期的 xbee模块、 Freescale的 MC13213入该联盟的有英国 Invensys、日本三菱电气、美国芯片及 Jennic的 JN5121芯片等其他同类产品相比, 摩托罗拉以及荷兰飞利浦等 30多家企业 . 如今, 它具备了集成度高、功耗低、功能强等优点 , 同时已有越来越多的国内外企业致力于 ZigBee的研究也具有与 ZigBee/802.15.4全兼容的硬件层、物理与开发, 包含芯片制造商、软件开发者、终端制造层, 并在单个芯片上整合了 ZigBee射频前端、内存和微控制器及射频收发器; 2节 5号电池可以使用半年到 2年时间, 特别适合要求电池寿命长的应用;可编程的 I/O口可连接多个传感器; 内带 8路 A/D转换器, 转换位数 8位至 14位可选, 可以将传感器送来的模拟信号转换为数字信号 ; 包含增强型 8051内核, 其每个时钟周期为 1个机器周期, 并具有除去被浪费掉的总线状态的方式 , 使得它比标准 8051内核具有更快的执行时间 , 且还增加了 1个数据指针和扩展 18个中断
数据采集节点硬件设计如图 1所示. 该芯片外接 32 MHz的晶振和多路电源, 根据实际应用需要连接相应的传感器进行数据采集、A/D转换、数据处理, 并将得到的数据经阻抗匹配网络进行处理 , 最终通过天线发送出去. 无线收发电路如需得到好的射频性能 , 供电电源必须经过良好的滤波 , 并且与数字电路分开 ; 在射频信号输出部分通过阻抗匹配网络 , 实现阻抗匹配 , 使到达天线的信号最强; 还需要防止高频信号泄漏 , 避免对发射信号造成较大的干扰. 数据的收发情况以及节点和网络的连接、脱离情况可以通过串行口或 LCD进行观察. 以上所述的基于 xbee的数据采集节点的硬件设计方法具有电路简单、信号稳定、成本低的特点.
图 1 硬件设计简化框图
图 2 协调器建立新网络的流程图
2、组网设计
2.1协调器建立网络
当 FFD设备(Full Function Device)在第 1次被激活后, 首先搜索其通信范围内已存在的网络 , 如果找到相应网络 , 则通过一系列对话后 , 该设备就可成为此网络中的普通设备[2]. 否则, 这个 FFD设备就将自己作为协调器来建立网络. 而对话在协议栈的层与层之间通过服务原语来进行, 原语对话过程如图 2所示.
协调器应用层生成的 NIME-NETWORK-FORMATION.request原语发送给网络层请求建立网络 , 网络层再通过 MLME-SCAN.request原语向 MAC层请求检测信道能量及扫描信道, 收到确认后, 为新网络设置 1个 PANId (网络号 ),通过 MLME-SET原语将 PANId设置为 MAC层 macPANId, 网络层再通过 MLME-START.request原语向 MAC层请求运行网络 , 收到确认后运行网络 , 网络建立成功 . 而服务原语明细表见表 1.
如果 NIME-NETWORK-FORMATION.request中已指定 PANId且不与已有 PANId冲突, 则将它设置为新网络的 PANId,否则随机选择 1个不为广播 PAN标志符 (0xFFFF)的符号作为 PANId.如果选不出唯一的 PAN标识符, 网络层则将终止建立网络的过程.
网络的建立要由网络协调器发起 [3], 否则通过串口或 LCD能观察到网络建立失败的信息: “Net- work Join FAILED!Waiting then try again!”. 当网络协调器启动以后, 就会出现网络建立成功的信息 .
2.2节点加入或脱离网络
节点被激活后 , 如果找到已存在的网络 , 本节点将根据所获得的网络信息选定 1个父节点, 并提
表 1 服务原语明细表
原语
功能
返回值
所在层
NIME-NETWORK-FORMATION.request
建立网络请求
应用层
SUCCESS
NIME-NETWORK-FORMATION.confirm
建立网络确认
网络层
STARTUP-FAILURE
MLME-SCAN.request
扫描信道请求
网络层
SUCCESS
MLME-SCAN.confirm
扫描信道确认
MAC层
SCAN-FAILURE
MLME-SET.request
设置 macPANId
网络层
SUCCESS
MLME-SET.confirm
设置 macPANId确认
MAC层
SET-FAILURE
MLME-START.request
运行网络请求
网络层
SUCCESS
MLME-START.confirm
运行网络确认
MAC层
START-FAILURE
出入网申请 , 同时等待父节点的请求响应 . 当得到允许后, 子节点将得到父节点分配给它的 1个网络地址(也称为短地址)作为网络内的身份标识, 成功建立链接. 加入网络后 , 该节点可以接受新节点的入网请求. 通过一级一级的地址分配 , 可以构成较大的网络[4]. 节点加入及脱离网络的握手示意图如图 3所示.
图 3 节点加入及脱离网络的握手示意图
2.3软件设计
若构建的是星状网络 , 则采集节点先发送信息给接收节点(即网络协调节点 ), 检查链路是否已链接. 在确定链接后 , 在采集节点进行数据的采集与发送, 网络协调节点则将进行数据的接收与显示, 实现系统的功能 . 若构建的是树状或网状网络 , 则采集节点与网络协调节点间将通过多跳数据转发机制进行数据传输, 其中还需要路由协议进行分组转发操作. 采集节点与网络协调节点软件流
程图如图 4所示.
图 4 采集节点与网络协调节点软件流程
3、温度采集网络
由于 CC2430内置了温度传感器 , 在实验中搭建温度采集的 ZigBee采用星型网络. 星型网络的末端节点负责进行数据的采集和发送, 中心节点将实现数据的接收与显示. 为使各个节点采集的数据同时使中心节点接收, 需要将末端节点的目标地址都设置为中心节点的本机地址 . 实验中, 该温度采集系统通信良好, 在有障碍物环境下的通信距离明显低于在空旷的环境下, 此时可通过增大模块的射频功率和增加中继点的方法来解决 . 当检测到的温度准确度也不太高, 则需要采用更高准确度的传感器.
4、结语
提出了一种基于 ZigBee的数据采集系统的设计方案. 在实验中搭建了温度采集的 ZigBee网络, 通信良好, 并实现了该系统的功能 . ZigBee网络的覆盖范围一般为几十米, 但是可以通过网关与其他网络(例如 WiFi、以太网 )进行连接, 从而达到扩大网络覆盖范围或远程监控的目的 , 这将使得 ZigBee优良特性得到更好的体现 , 使得它有更广阔的应用前景.
展开阅读全文