引 言
科学储粮是粮食生产的一个重要环节,若管理不当,粮食发霉或生虫会造成极大的浪费。粮库管理中最重要的问题是监测粮堆中的温、湿度变化。国家为粮食储藏每年支付很高的费用,主要是因为监测设备的成本过高,管理方式不够先进。随着无线通信网络技术及传感器技术的发展,使得研制低成本的先进粮库温湿度监测方法成为现实。无线传感器网络(Wireless Sensor Network,WSN)是将大量低功耗、低成本的无线传感器节点布置到相关区域,各传感器节点通过自组织快速形成的一种分布式网络。WSN具有广阔的应用前景,例如灾难预警与救助、环境监测和生物多样化勘测、智能楼宇、设备管理、机器监视和维护、运输和信息通信业务等。在粮库中构建无线传感器网络,就可以实现对粮库各处温湿度的低成本、高效监测。其中的传感器节点是组成粮库WSN的基本单位,节点将采集的温湿度数据传送给相邻节点,根据采用的路由协议最终传送到汇聚节点(sink)。汇聚节点解析接收到的数据,连接到因特网上实现信息的更广泛传递。由此可知,节点的设计直接影响到粮库WSN的性能。出于粮库WSN低功耗、低成本的考虑,通常采用8位单片机为节点CPU。本设计实现了以高档8位AVR单片机ATmega128L为核心,结合外围温湿度传感器SHT11和无线收发芯片CC2420的粮库无线传感器网络节点。
1 节点结构
粮库无线温湿度传感器网络节点主要功能是采集粮库温湿度数据,并将数据发送给汇聚节点。它由传感器模块、处理模块、传输模块和能量供应模块4个部分组成,如图1所示。
传感器模块采用的是瑞士Scnsirion公司推出的温湿度传感器SHT11,通过I2C接口与处理模块相连;处理模块控制其他模块以及WSN的路由协议、同步定位执行和节点的功耗管理等;传输模块主要由低功耗无线通信芯片CC2420及其外围电路组成,软件上运行相应的通信协议;能量供应模块采用2节 5号AA电池供电。
2 粮库无线温湿度传感器网络节点设计
2.1 处理模块设计
ATmega128L是Atmel公司于2001年推出的采用低功耗CMOS工艺生产的基于AVR RISC结构的8位微控制器。该芯片内部采用Harvard结构,具有极低的能耗和丰富的资源;具有片内128 KB的Flash存储器、4 KB的SRAM数据存储器(可外接扩展到64 KB)和4 KB的E2PROM存储器。该芯片还有8个10位ADC通道,2个8位和2个16位硬件定时/计数器,可在多种不同模式下工作;8个PWM通道、可编程看门狗定时器和片上振荡器、片上模拟比较器;USART0/1、SPI、I2C总线接口;可以采用JTAG编程和ISP编程两种方式。除正常工作模式外, ATmega128L还具有6种不同等级的低能耗操作模式,每种模式具有不同的能耗。因此ATmega128L非常适合于低能耗的应用场合。处理模块选用 AT-mega128L,其接口电路如图2所示。
2.2 传输模块设计
传输部分采用Chipcon公司的CC2420芯片。它是Chipcon公司推出的首款符合2.4 GHz IEEE 802.15.4标准的射频收发器。该器件包括众多额外功能,是第一款适用于ZigBee产品的RF器件。它基于Chipcon公司的SmartRF03 技术,以0.18 μm CMOS工艺制成,只需极少外部器件,性能稳定且功耗极低;具有工作电压低(2.1~3.6 V均可工作)、能耗低、体积小等非常适合于集成的特点;采用QPSK调制方式,最大收发波特率250 kb/s,外部采用SPI的接口,可以直接和微处理器芯片ATmega128L相连接。传输模块接口电路如图3所示。
2.3 传感器模块设计
传感器模块采用的是数字温湿度传感器SHT11。该芯片主要特点如下:
①高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;
②提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;
③测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;
④封装尺寸超小,测量和通信结束后,自动转入低功耗模式;
⑤高可靠性,采用CMOS工艺,测量时可将感测头完全浸于水中。
处理模块ATmega128L通过I2C接口与SHT11相连。
3 节点软件检测
对设计好的节点分模块进行软件检测,针对各个不同模块编写测试程序验证节点工作的可靠性。检测工具为AVR Studi04,硬件仿真器为JTAGICE。在进行软件测试之前,先要通过连接AVRStudi04找到ATmega128,然后将其熔丝位更改为外部时钟,使其对应于7.372 8 MHz晶振提供的时钟源。编程方式选用JTAG编程。本文仅就外部晶振及指示灯、串口、温湿度传感器SHT11和CC2420无线通信的软件检测进行说明。完整的ZigBee协议栈由物理层、介质访问控制层、网络层、安全层和高层应用规范组成。ZigBee协议栈的网络层、安全层和应用程序接口等由 Zig-Bee联盟制定。其中安全层(security)主要实现密钥管理、存取等功能。应用程序接口负责向用户提供简单的应用软件接口(API),包括应用子层支持(Application Sub-layger Support,APS)和ZigBee设备对象(ZigBee DeviceObject,ZDO)等,实现应用层对设备的管理。其中协调器和终端节点在介质访问控制层定义实现,星型网络的实现在网络层定义。用户可针对不同的需要在应用层自行定义开发,也可参考引用已定义的一些簇(cluster)。ZigBee协议栈示意图如图4所示。
3.1 外部晶振及指示灯检测
外部晶振及指示灯(黄灯)的部分检测程序如下:
3.2 串口检测
使用串口调试助手往串口发送数据,可以发现发送的数据被回传。检测程序如下:
3.3 温湿度传感器SHT11检测
温湿度传感器SHT11的部分检测程序如下:
3.4 002420启动和SPI初始化检测
CC2420运行是否正常是节点能否正常通信的关键。CC2420启动和SPI初始化的部分检测程序见本刊网站www.mesnet.COITI.cn——编者注。
4 总 结
本系统的设计针对现阶段粮库监控出现的问题,提出了基于CC2420的粮库无线温湿度传感器网络监测节点的设计方案。WSN作为新兴的学科交叉研究领域,在区域监测和采集数据等方面具有突出的优点,具有广阔的应用前景。