0 引言
随着现代工业自动化技术的不断进步,ZigBee 无线通信技术的发展日益成熟,其被广泛应用于无线传感器测量网络、工农业监控、智能交通、智能家居等众多领域。ZigBee 无线通信技术的低功耗、短距离、低成本、布网灵活等特点十分适用于需要自动连续采集数据、局域分布测量、大范围联网数据处理的测量场合。
传统的有线温度采集系统,布线纷繁复杂,系统容易老化,成本高,灵活性差,不具有可移动性,而无线温度采集传输系统能解决这些问题,并能节约人力资源。利用无线温度采集传输技术还可以减少工作人员的人身危害,不用他们冒险就可以采集到现场的温度。
本文设计了一种基于ZigBee 无线通信技术的温度测量系统,实现了节点间的无线通信,同时上位机对温度信息进行收集,并进行统一管理。该系统扩展性好,维护方便。
1 系统总体方案设计
由于zigbee 网络拓扑结构有星形,树形,网状3 种模式,按照网络节点功能划分可分为终端节点(ep)、路由器节点(rp)和协调器节点(cp)3 种。其组织结构如图1 所示。
图1 ZigBee 网络拓扑结构
其中,协调器节点负责发起并维护一个无线网络,识别网络中的设备加入网络;路由器节点支撑网络链路结构,完成数据包的转发;终端节点是网络的感知者和执行者,负责数据采集和可执行的网络动作。这就要求ZigBee网络节点需扮演终端感知者、网络支持者、网络协调者3种角色。在本设计中,考虑到各种局限,采用星型结构,整个系统有若干个终端节点,一个协调器节点,没有路由节点。系统的总体结构框图如图2 所示。
图2 多点无线温度测量系统框图
终端节点将采集到的温度信息无线传输给协调器节点,协调器节点负责管理所有与之相连的终端节点,负责与之组网,并接受来自终端节点的温度信息以及终端节点的信息并将所有的信息传送给PC机,显示给用户。对于一些控制系统,PC机还可以针对不同的应用情况进行分析从而做出不同的控制。
2 终端节点设计
终端节点利用数字温度传感器DS18B20 采集温度信息,将温度信息送交微控制器CC2480 进行初步处理,通过CC2480 芯片中集成的RF 射频天线将温度信息以及发送端的信息传送给协调器节点。功能上主要有3 个模块:温度采集模块,微控制模块,无线通信模块。其对应的硬件模块如图3 所示。
图3 终端节点硬件设计
2.1 温度采集模块
温度采集模块实现从环境中采集温度信息。由于CC2480 芯片里集成的模拟温度传感器精度不高,需要人工校准,故本设计采用数字温度传感器DS18B20 与CC2480 实现温度传感应用。DS18B20 是美国Dallas半导体公司推出的一种智能数字温度传感器。它能够直接读出被测温度,并可根据实际要求通过编程实现9~12 位的数字值读数方式,可以测量- 55℃~+125℃的温度,在- 10℃~+85℃温度范围内具有±0.5℃精度。从DS18B20读出信息或是写入DS18B20 信息仅需要1 根口线(即单总线接口)。温度变换、读取等所需的能量由总线提供,无需外接电源。使用DS18B20 可以节省系统资源、使系统结构更趋简单,可靠性更高,更节能,更适用于温度缓变场所的长时间温度监测。
2.2 微控制模块
微控制模块实现对温度信息的预处理以及将温度信息发送给协调器节点。微处理器是基于TI 公司生产的CC2480 芯片。该CC2480 芯片是TI 公司在2008 年4 月30 日推出的首款经ZigBee 认证的新Z- Accel 系列网络处理器,是基于IEEE 802.15.4/ZigBee 无线通信协议的无线传感器网络的集成芯片。CC2480 芯片内嵌入高性能和低功耗的8051 微控制器核,集成了符合IEEE802.15.4/Zig-Bee 标准的2.4GHz频段的RF 无线电收发模块,还集成了12 位的模数转换ADC模块,具有电池检测和温度传感功能,具有串口等丰富的接口资源。它能够简化设计,缩短开发时间。图4 所示是CC2480 外围电路图。
图4 CC2480 外围电路图
3 协调器节点设计
协调器节点主要功能:接收来自发送端的温度数据信息和发送端的节点信息,并对信息进行处理,接收端将处理好的信息传送给上位机进行显示。功能上主要有:无线通信模块,微处理模块,串口通信模块。对应的硬件图如图5 所示。
图5 接收部分系统框图。
3.1 无线通信模块
CC2480无线模块主要由电源、复位电路、串口连接电路和无线收发电路组成。TTL电平与PC机的RS232电平并不是兼容的,故在发送数据时,RS232 串口数据经过MAX232 将电平转换为TTL电平,再通过CC2480 无线发送。接收数据则是发送数据的逆过程,CC2480 先接收到数据信号,然后经MAX232 将TTL电平转换为RS232 的标准电平,再通过RS232 向上位机输入数据。
4 系统软件设计
程序设计主要包括几个方面:各个节点中的功能模块驱动程序设计,系统组网程序设计,协调器节点与上位机通信程序设计。在整个系统中,每个节点都是用了ZigBee协议,在ZigBee 协议中,厂商已经提供众多函数:包括新建网络,设备加入和离开网络,发送网络信标帧,寻找父节点和子节点,发送和接收数据包等。
整个系统的主要函数包括主函数、温度测量、无线组网和通信函数。系统开始时,协调器首先初始化,协调器包含所有网络信息,它负责发送网络信标,建立网络,等待终端节点的加入。终端节点初始化后开始寻找指定信道上的协调器,并发出请求。建立连接后,终端节点会获得相应的网络地址,并向协调器节点发送温度信息。协调器节点收到温度信息,并对数据信息进行处理然后发给上位机。
图6 所示是系统的总流程图。
图6 系统总流程图
5 结语
基于CC2480 芯片的无线温度测量系统,采用ZigBee协议栈,做到了真正意义上的无线组网,所有的传感器都处在一个无线网络中。由于ZigBee 协议的低功耗,可靠性高,扩充性良好等特点,本设计还可以改成温度测量控制系统。如果将传感器换成其他类型的传感器,如湿度传感器、烟火传感器,气体传感器,红外传感器组成无线传感器网络,本设计还可以用在智能家居,现代农业,现代工业等诸多方面。如果在本系统上加上控制模块,本设计就可用在现代农业,现代工业等领域的智能控制系统中。
参考文献:
[1].DS18B20 datasheethttp://www.dzsc.com/datasheet/DS18B20+_819975.html.
[2].CC2480 datasheethttp://www.dzsc.com/datasheet/CC2480+_1861782.html.
[3].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[4].RS232 datasheethttp://www.dzsc.com/datasheet/RS232+_585128.html.
[5].MAX232 datasheethttp://www.dzsc.com/datasheet/MAX232+_1074207.html.