APP下载

无线传感器网络在环境温度监测中的应用

2015-08-26杨东霞巨永锋

电子设计工程 2015年13期
关键词:指令总线电源

杨东霞,巨永锋

(长安大学 电子与控制工程学院,陕西 西安710064)

近来环境监测开始得到社会的重视。 环境监测发展的主要方向是远程监测系统,其中极为重要的是环境温度监测。 无线网络化、智能化、微型化、集成化是环境监测系统的发展趋势,于是随着半导体、无线通信技术、微电子机械系统等学科的飞速发展而产生的无线传感器网络 (Wireless Sensor Network,WSN)就成为环境监测领域研究的热点。

无线传感器网络由大量静止或移动的节点以自组织和多跳的方式构成,集传感与驱动控制、计算、通信能力于一身,协作地实时监测、感知、采集、处理和传输网络覆盖区域内感知对象的监测信息并报告给用户[1-6]。

1 基于无线传感器网络的环境温度监测系统的总体设计

基于无线传感器网络的温度监测系统包括温度采集系统和温度管理系统,如图1 所示。 温度采集系统由若干传感器节点构成,每一个节点由微功耗微处理器、短距离射频收发器和温度传感器组成。温度管理系统由网络控制节点及一台计算机构成。

图1 无线网络传感器系统结构图Fig. 1 Wireless sensor network system structure

2 无线传感器网络环境温度监测系统硬件设计

在本文,无线传感器网络主要由一个主控制节点和若干个从节点组成,各个从节点负责采集信息,然后通过射频接收器发送到主节点,再由主节点连接至PC 处理显示。

2.1 无线传感器网络终端节点设计

终端节点主要由温度传感器模块、微处理器模块和RF 射频收发模块构成, 如图2 所示。 硬件平台采用超低功耗的ATmega128+CC2420 来实现。ATmega128+CC2420 平台在功耗方面有很大的优势。另外,据测量范围、精度、可靠性、稳定性和低功耗等要求,选取数字温度传感器DS18B20。

图2 终端节点结构图Fig. 2 The terminal node structure

2.1.1 温度采集模块

DS18B20 作为温度传感器其主要特性:外部电源供电方式下适应电压范围更宽(3.0~5.5 V),在寄生电源方式下可由数据线供电;单线接口方式,仅需一条线即可实现与微处理器的双向通信; DS18B20 支持多点组网功能, 实现多点测温;DS18B20 在使用中不需要外围元件,内部附带AD 转换;测温范围-55~+125 ℃;可编程的分辨率为9~12 位,最高可分辨温度为0.062 5℃,可实现高精度测温;12 位分辨率时在750 ms内把温度转换为数字; 测量结果以数字信号直接输出并串行传送给CPU,同时可传送CRC 校验码,具有极强的抗干扰纠错能力。

DS18B20 的外部电源供电方式如图3 所示。 在外部电源供电方式下,DS18B20 工作电源由外接供电电源输入端VDD引脚接入(在寄生电源接线方式时接地GND),此时数字信号输入/输出端I/O 线不用强上拉, 不会有电源电流不足的问题,能保证转换精度[7]。

图3 外部电源供电图Fig. 3 External power supply

2.1.2 无线通信模块

CC2420 是Chipcon 公司开发的首款符合Zigbee 标准的2.4 G Hz 射频芯片, 可快速应用到Zigbee 产品。 CC2420只需很少的外围器件就能工作在2.4 GHz 频段, 数据传输率达250 kbp/s, 传输距离最大为200 m, 包含硬件MAC 和CRC 自动校验处理,具有高达-94 dBm 的接收灵敏度。 该器件性能稳定且功耗极低, 可确保短距离通信的有效性和可靠性。 CC2420 芯片采用低电压供电(2.1~3.6 V),采用休眠模式,且从休眠模式被激活的时延短, 处于休眠状态时芯片的能耗极低,从而大大减少了能耗。

CC2420 工作过程:CC2420 从天线接收到射频信号,先经过低噪声放大器, 然后正交下变频到2 MHz 的中频上,形成中频信号的同向分量和正交分量。 两路信号经过滤波和放大后,直接通过模数转换器转换成数字信号。之后都以数字信号的形式处理。 CC2420 发送数据时,直接正交上变频,基带信号的同相分量和正交量直接被数模转换器转换为模拟信号,通过低通滤波器后,直接变频到设定的频道上。

CC2420 和单片机的接口电路如图4 所示。

图4 接口电路Fig. 4 The interface circuit diagram

2.1.3 微处理器模块

ATmega128 是一款采用低功耗CMOS 工艺生产的基于AVRRISC 结构的功能最强、性能最好的8 位单片机。 芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路。 两路可编程串行UART 接口;53 个通用I/O 口,128K 字节在线可重复编程Flash ROM;4K 字节的EEPROM;4K 字节内部SRAM,带有128KB Flash 在线可编程8 位微控制器;在线可编程主/从SPI 串行接口; 可以对单片机的Flash 程序存储器和EZPROM 数据存储器进行编程,具有在线编程(ISP)的特点。 ATmega128 的结构适宜采用高级语言来编写嵌入式系统的系统程序。 具有先进的RISC 精简指令集结构;外部和内部中断源;5 种睡眠模式;运算速度快,速度等级是0~16 MHz。

2.1.4 JTAG 的接口设计

通过4 线JTAG 接口烧写和调试程序,JTAG 接口电路如图5 所示。

图5 JTAG 的接口设计图Fig. 5 The interface design of the JTAG

2.2 无线传感器网络主节点设计

主节点由CC2420 和ATmega128 连接, 然后通过串口线连接至PC,再设计串口调试软件助手,将监测温度实时的在PC 上显示出来,如图6 所示。 数据由微处理器通过串口传输至PC,通过串口调试软件界面显示。

图6 主节点系统结构图图Fig. 6 The master node system structure

3 无线传感器网络环境温度监测系统软件设计

3.1 数据采集程序设计

1)DSl8B20 工作过程

①初始化

通过总线的所有执行操作都从一个初始化序列开始,初始化序列包括一个由总线控制器发出的复位脉冲和其后由从机发出的存在脉冲,存在脉冲让总线控制器知道DS18B20 在总线上已准备好操作。

②ROM 功能命令

总线主机检测到DSl820 的存在, 便可以发出ROM 操作命令之一:指令读ROM [33H];指令匹配ROM [55H];跳过ROM[CCH];指令搜索ROM[F0H];指令报警搜索[ECH]。

③DS18B20 存储控制命令

在总线控制器发给欲连接的DS18B20 一条ROM 指令后,发送一条DS18B20 存储控制命令。这些指令允许总线控制器读写DS18B20 的暂存器,发起温度转换和识别电源模式。比较常见的几个DS18B20 功能指令:温度转换指令44H;写暂存器指令4EH;读暂存器指令BEH;读电源模式指令B4H。

④处理数据

DS18B20 单总线通信功能是分时完成的, 它有严格的时隙概念。 主机使用时间隙来读写DSl8B20 的数据位和写命令字位。

2)DS18B20 测温程序流程图

流程图如图7 所示。

图7 DS18B20 程序流程图Fig. 7 The program flow chart of DS18B20

3.2 通信模块程序设计

CC2420 有用于访问发送FIFO 缓存器, 称为TXFIFO 寄存器,还有用来访问接受FIFO 缓存区,称为RXFIFO 寄存器。访问这两个寄存器时,CC2420 传输的数据是8 位,同时自动更新FIFO 缓存区的读写指针。

处理器需要CC2420 发送数据时,首先通过写TXFIFO 寄存器把需要发送的数据包按字节依次写入到发送缓存区TXFIFO 中,然后写命令选通寄存器STXON,等待信道空闲时从无线信道发送,即:

①把数据流按顺序存入TXFIFO, 依次为数据帧的帧长度、帧控制字、序列号、PAN 标识符、目标地址、源地址、有效载荷和帧校验序列。

②检查CCA 信号并等待信道空闲。

③执行STXON 命令选通寄存器,打开TX 发送模式。

④在任何新数据写入TXFIFO 前请确认SFD 变高后再变低,并且已等待了至少60 个时钟周期。

当CC2420 接收到数包时, 会把数据存入到接收缓存区RXFIFO,并改变FIFO 和FIFOP 引脚的状态,处理器通过FIFOP的引脚中断读RXFIFO 寄存器,依次读取整个数据包,即:

①检查FIFO 和FIFOP 信号,确认是否有新数据到来。

②如果有新数据到来,当数据包的数目超过设置的FIFOP的阈值时,FIFOP 变为高电平, 从而触发处理器的外部中断,通过中断接收数据。

③任何时候RXFIFO 只要发生溢出,立即清除RXFIFO。

通讯程序的设计流程图如图8 所示。

图8 CC2420 程序流程图Fig. 8 The program flow chart of CC2420

CC2420 在接收到数据包后,SFD 首先由低电平变成高电平,从而触发IRQ 中断,在中断服务程序中调用MACISR( )进行接收数据的处理, 中断服务程序中首先确定当前不是由于RXFFIO 缓冲区溢出产生的中断,经过接收处理后,系统将数据交由ZigBee 协议栈的MAC 层进行处理。 数据的发送处理主要是将数据进行IEEE802.15.4 协议数据帧的封装处理,然后利用SPI 总线驱动进行数据的发送。

4 结束语

本文提出了一种基于ZigBee 协议的用于测量温度的无线传感器方案,并设计出相应的无线传感器网络。 由一个主节点和多个终端节点组成。 主节点负责向终端节点查询温度信息,终端节点负责将温度传感器所采集到的信息反馈给主节点,从而达到对一块区域进行温度监控的目的。 文中使用ATmega128 微控制芯片和CC2420 无线芯片搭建了一个基于ZigBee 技术的无线传感器网络。 设计了适用于ZigBee 协议的2.4 Ghz 的无线数据传输模块、无线传感器节点温度测量模块,进行了测温软件开发与调试。

[1] 孙利民,李建中,等. 无线传感器网络[M] .北京:清华大学出版社,2005.

[2] 徐勇军,安竹林,蒋文丰,等.无线传感器网络实验教程[M].北京:北京理工大学出版社,2007.

[3] 于海斌,曾鹏. 智能无线传感器网络系统[M]. 北京:科学出版社,2006.

[4] 宁波中科集成电路设计中心, 中国科学院计算技术研究所信息网络室.GAINZ节点产品白皮书[R].2005.

[5] 原羿,苏鸿根.基于Zigbee技术的无线网络应用研究[J].计算机应用与软件,2004,21(6):89-91.YUAN Yi,SU Hong-gen.The study of wireless network applications based on Zigbee technology [J].Journal of Computer Applications and Software,2004,21(6):89-91.

[6] Akyildiz I F, Su W, Sankarasubramaniam Y. Wireles sensor network: A survey[J].Computer Networks,2003,38(4):393-422.

[7] 程德福,王君,凌振宝等.传感器原理及应用[M].北京:机械工业出版社,2009.

猜你喜欢

指令总线电源
Cool Invention炫酷发明
ARINC661显控指令快速验证方法
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
杀毒软件中指令虚拟机的脆弱性分析
哪一款移动电源充电更多?更快?
阳光电源
CAN总线并发通信时下位机应用软件设计
中断与跳转操作对指令串的影响
多通道ARINC429总线检查仪