第三章 无线传感器网络节点硬件设计方案
无线传感器节点是一个微嵌入式系统,构成了无线传感器网络的硬件基础平台,节点的硬件设计基于ZigBee协议。节点要求:具有较低的功耗、较强的使用灵活性、较高的通信安全性,实现对8路模拟数据传感器信号和SPI、IIC、1-Wire等接口的数字信号采集与传输;能够对节点电池的电压、电量等状态进行监测,并具有充电功能;提供LCD显示模块接口,用于显示相关工作信息。
3.1硬件设计方案
节点硬件由微处理器模块、无线通信模块、电源管理模块、锂电池保护电路、RS232串行接口电路、DS18B20数字传感器电路、信号调理电路、电池状态监测及充电模块、LCD接口电路和其他外接口电路等组成。设计方案框图如图3-1所示。
微处理器模块是节点的核心,用来进行节点设备控制、任务调度等;无线通信模块用来完成节点间无线通信传输;电源管理模块用来电源管理;锂电池保护电路用于对电池进行安全保护;RS232串行接口电路用于为节点与计算机串口连接提供电平转换;DS18B20用于采集节点所处地域的环境温度;信号调理电路用于对传感器模拟信号进行放大、滤波、隔离、偏置等处理;电池状态监测及充电模块用于监测电池电压、电流、剩余电量、温度等状态信息,并提供电池充电功能;LCD模块用于显示电池及节点工作状态及测试信号相关信息;传感器接口用于传感器信号接入;JTAGICE、ISP接口用于提供节点程序烧写与仿真接口。
图3-1硬件方案框图
3.2微处理器的选型与电路设计
微处理器是无线传感网路节点的核心,在选型时,必须满足体积小、功能强、
10
外部接口丰富、集成度高、存储容量大、效率快、功耗小、支持睡眠模式且以扩展等几个要求,常见的可作为ZigBee节点的微处理器有Ateml公司的ATmega128L、TI公司的MSP430等。
3.2.1 AVR单片机与ATmega128L
ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。AVR单片机采用增强的RISC结构 ,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。AVR单片机工作电压为2.7-6.0V,可以实现耗电最优化。AVR的单片机广泛应用于计算机外部设备 ,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。
3.2.2 节点微处理器的主要外围接口电路
网络节点微处理器模块的外围接口电路完成主要功能如下: 1.数字、模拟传感信号的采集;
2.接受无线传感网路管理软件的控制,完成数据交换;
3.控制无线传输模块依通信协议进行无线组网和数据接收与发送; 4.监测电池电流、电压、温度及剩余电量和控制充电功能; 5.提供JTAGE、IPS接口供系统程序在线下载;
与微处理器模块的接口功能对应,设计的微处理器外围接口电路如下图所示:
图3-2微处理器接口示意图
11
ATmega128L采用2个外部晶振:一、7.3728MHZ晶振作为ATmega128L的工作时钟源;二、32.768KHZ晶振作为实时时钟源。ATmega128L的工作时钟源可以选取外部晶振、外部RC振荡、内部RC振荡、外部时钟源等方式,工作时钟源的选择通过JTAG编程、IPS编程等方式对ATmega128L内部熔丝位进行设定。
3.3 供电电路设计
无线传感器网络节点通常由电池供电,由于供电电池能量有限,因此对供电电路有较高的要求。为了保证硬件电路功耗低,节点均选择低功耗芯片,工作电压采用3.3V,电源使用4.2V可充电锂离子电池供电,并设计锂电池保护电路确保节点电池正常供电。
3.3.1 电源管理模块
稳压电源分开关稳压电源和线性稳压电源两种类型。开关稳压电源通过控制内部晶体管工作在饱和、截止状态从而调节输出电压有效值,转换效率较高,但是外围控制电路复杂,且开关电源输出地直流上会叠加较大的波纹、产生较大的尖峰脉冲干扰,将会影响模拟电路稳定性。而线性稳压电源通过不断调整串联在输入和输出电压之间的功率晶体管来控制输出电压,虽然转换效率比较低,具有一定的压差,但其线性调整率较好、外围电路简单、体积小、成本低。因此电源管理模块采用AD公司的低压差线性稳压电源芯片ADP3338-3.3,ADP3338-3.3外围电路如图3-3所示。
图3-3 ADP3338-3.3外围电路示意图
3.3.2 DS2720锂电池保护电路
使用锂离子电池给节电供电,当锂电池发生短路、过温、充电过压、放电欠压、过流等现象时,锂电池会发生损坏,使供电系统不能正常工作,无线传感网节点的生命周期变短。因此采用DALLAS公司设计的DS2720设计了锂电池保护电路,在节点运行期间保护电池的安全使用,DS2720不仅有具有传统锂电池保护芯片的功能,而且还具有独特的I-Wire接口,可用于监测电池工作中发生的故
12
障。
当电池发生短路、过温、充电过压、放电欠压、过流等现象时,DS2720能及时通过I-Wire接口把故障信息上传到ATmega128L,并对电池进行保护。在电池停止供电前,主机可以及时掌握电池故障信息并通过声、光报警及时反映出来,当有备用电池组时,主机可以通过备用电池组DS2720的64位ROM地址,启动备用电池组工作。锂电池保护电路原理图如图3-4所示。
图3-4 锂电池保护电路原理图
为了提高系统运行效率,电路设计中,DS2720和DS2720的I-Wire接口分别通过PD5、PB7接至ATmega128L,并需接一个约4.7K的上拉电阻。 DS2720功能和主要特点
DS2720是一款单节可充电锂电池保护器件,通过控制外部开关器件切断充电和放电通路,从而实现对锂离子电池的保护。该器件可以对单锂离子或锂聚合物电池进行有效安全保护,使电池免受过量充电、过量消耗、过高放电电流以及过高温度的损害。 DS2720的主要特点如下:
当芯片温度超过过热基准时进行过热保护。 8字节可锁定EEPROM,用于存储电池信息。
采用9 V电荷泵为外部N沟道保护MOSFET提供高侧驱动,与常见的使用相同FET的低侧保护电路相比具有更低的导通电阻。 具有Dallas 1-Wire数字通信接口和唯一的64位ID,通过其1-Wire接口提供主机系统对保护寄存器、状态寄存器、特殊功能寄存器、EEPROM寄存器以及EEPROM等内部存储器的读写访问。 允许系统通过1-Wire接口对DS2720还可作为电池选择器。
13
第四章 无线传感器网络节点功能软件设计和电路调试
无线传感器节点在网络中要完成无线通信,传感信号采集等多种功能,这些功能的完成是由硬件电路及相应的功能软件实现的。节电功能软件包括传感器数据采集、监测电池状态信息等模块。
4.1编程环境
目前AVR单片机高级语言开发工具主要有IAR、ICCAVR、CodeVision、BASCOM-AVR和WinAVR。IAR针对AVR内核开发,但价格昂贵;ICCAVR是国内AVR主要推广单位双龙公司代理的C编译器,性能稳定、操作简便;CodeVision是专门位AVR微处理器设计的编译软件,性能较好、效率高。WinAVR是以自由软件GCC为编译器的免费AVR开发程序集。节点软件采用WinAVR开发工具GCC编译器编写,编译环境界面如图4-1所示。
图4-1WinAVR开发环境界面
编译环境使用方法为:首先用GCC语言按程序流程编写程序,然后进行makefile文件设置,接着对程序进行编译,编译过程中若有错误,编译软件则在编译状态栏中给出错误的数目和类型,根据错误的提示逐一改正错误,直到编译通过。编译输出模式可以生成*hex文件和*cof文件。
4.2程序加载和调试工具介绍
节点通过JTAGICE仿真器和ISP程序下载两种方式完成仿真和程序加载。使
14