基于Atmel的无线传感器网络节点的研究与实现作者:卢崇马建仓王吉富时间:2008-06-24来源:电子技术应用浏览评论推荐给好友我有问题个性化定制关键词:无线传感器Atmel微处理器通信无线传感器网络是新兴的研究领域,在军事、环境、健康、家庭、商业领域等许多方面有着巨大的潜在应用前景。无线传感器网络节点是组成网络的基本单元,无线传感器网络的迅速发展,给无线传感器网络节点的设计和管理提出了许多挑战。无线传感器网络节点无线传感器网络是集数据采集、处理及通信功能于一体的分布式自组织网络。无线传感器网络由在一定区域范围内的多个具有无线通信、传感、数据处理功能的网络节点组成。传感器节点负责采集、处理、压缩数据、中转其他节点的数据包并将数据包发送出去。在不同的应用中,传感器网络节点的结构不尽相同,一般由数据采集单元(传感器、A/D转换器)、数据处理和控制单元(微处理器、存储器)、无线通信单元(无线收发器)和供电单元(电池)等组成。相对于传统无线网络节点,无线传感器网络节点具有明显的技术特点:(1)网络节点密度高,数量大;(2)节点的计算和存储能力有限;(3)节点体积微小,通常携带能量十分有限的电池,节点能量有限;(4)通信能力有限,传感器网络的通信带宽较窄,节点间的通信单跳距离通常只有几十到几百米,因此在有限的通信能力下如何设计网络通信机制以满足传感器网络的通信是必须考虑的问题;(5)各传感器节点位置随机分布,具有自组织特性。由于无线传感器网络节点具有以上特点,在节点的设计上,要求节点硬件成本较低、必须低能耗、必须支持多跳的路由协议。IEEE802.15.4/ZigBee协议充分考虑了无线传感器网络应用的需求,具有设备省电、通信可靠、网络自组织、自愈能力强、成本低廉、网络容量大、网络安全等特点。由这些基本要求,进行了支持802.15.4/ZigBee协议的无线传感器网络节点的硬件设计。网络结构节点可以组成三种拓朴结构:星型结构、网状结构(Mesh)和簇状结构(Clustertree)。节点以自组织形式构成网络、每个节点都可以自主采集数据,数据通过单跳方式或多跳中继方式送到汇聚节点(Sink节点)。汇聚节点将收集的数据发送到远程的控制中心,或通过RS232接口把数据发送给PC机进行数据处理和存储。节点设计节点硬件采取模块化结构设计如图1所示,由运算及通信子板、传感器子板、充电及状态显示子板构成。运算及通信子板由微处理器、数据存储电路、无线通信模块、电源管理模块等组成,主要作用是储存、处理数据,完成节点间的无线通信并为系统提供能量。传感器子板由若干传感器组成,负责监测区域内信息的采集。充电及状态显示子板由充电模块和LCD液晶显示模块组成,用来显示节点电池充电情况节点的工作状态以及电池的电量。微处理器电路微处理器电路采用Atmel公司的ATmega128L微控制器,它采用低功耗CMOS工艺生产,基于RISC结构,具有片内128KB的程序存储器(Flash)、4KB的数据存储器(SRAM)和4KB的EEPROM,有8个10位ADC通道、2个8位和2个16位硬件定时/计数器、8个PWM通道,具有可编程看门狗定时器和片上振荡器、片上模拟比较器、JTAG、UART、SPI、I2C总线等接口。ATmega128L可在多种不同模式下工作,除了正常操作模式外,还具有六种不同等级的低能耗操作模式,因此该微控制器适合于低能耗的应用场合。其接口示意图如图2所示。ATmega128L的工作时钟源可以选取外部晶振、外部RC振荡器、内部RC振荡器、外部时钟源等方式。工作时钟源的选择通过ATmega128L的内部熔丝位来设计,熔丝位可以通过JTAG编程、ISP编程等方式设置。本设计中ATmega128L采用两个外部晶振:7.3728MHz晶振作为ATmega128L的工作时钟;32.768kHz晶振作为实时时钟源。数据存储电路由于无线传感器节点的通信模块传输能力有限,加上节点工作的占空比非常小,很多数据不能实时转发出去,所以需要有一个可管理的存储器存储这些数据,暂存自己采集的或需要转发的其他节点采集来的数据。本设计选用512KB串行FLASHAT45DB041存储数据。与普通的数据存储器相比,该芯片具有功耗低、体积小、串行接口、外部电路简单等特点,适合传感器节点使用。数据存储电路示意图如图3所示。无线通信模块无线通信模块采用无线射频CC2420模块。它是Chipcon公司在2003年底推出的一款兼容2.4GHzIEEE802.15.4标准的无线收发模块,基于Chipcon公司的SmartRF03技术,使用CMOS工艺生产,工作电压低、能耗低、体积小,具有输出强度和收发频率可编程等特点。该芯片只需晶体振荡器及负载电容、输入/输出匹配元件和电源去耦电容等很少的外部元件即可正常工作,可确保短距离通信的有效性和可靠性,其最大收发速率为250kbps。CC2420有33个16位配置寄存器、15个命令选通寄存器、1个128字节的发送FIFO缓存区、1个128字节的接收FIFO缓存区、1个112字节的安全信息存储器。CC2420与处理器的连接比较简便,它使用SFD、FIFO、FIFOP和CCA四个引脚表示收发数据的状态;处理器通过SPI接口(CSn、SO、SI、SCLK)与CC2420交换数据、发送命令,使用RESETn引脚复位芯片,使用VREG_EN引脚使能CC2420的电压调整器,使其产生CC2420所需要1.8V电压,从而使CC2420进入正常工作的状态;CC2420通过单极天线或PCB天线进行通信。其模块示意图如图4所示。CC2420需要16MHz的参考时钟用于数据的收发。参考时钟可以来自外部时钟源,也可以由内部晶体振荡器产生。如果使用外部时钟,直接从XOSC16_Q1引脚输入,XOSC16_Q2脚悬空;如果使用内部晶体振荡器,晶振接在XOSC16_Q1、XOSC16_Q2引脚之间。晶振起振需对CC2420选通命令寄存器SXOSCON使能。电源管理模块电能是传感器网络非常宝贵的资源,为了保证硬件电路的低功耗设计,节点芯片的选择均使用低功耗、低电压工作的芯片。系统采用普通电池或可充电锂离子电池工作,电源管理芯片采用AD公司的ADP3338-3.3,SOT-223封装。充电及状态显示模块在有条件对节点进行充电时,节点使用锂离子电池工作,可利用充电模块为节点进行电能补充,从而确保节点工作的连续性,避免了节点因更换电池造成的工作中断。充电模块使用达拉斯公司的DS2770和电池保护芯片DS2720设计,具有充电控制、电源控制、电量计数、电池保护等功能。处理器与DS2770用一线接口来传递信息,并需外接一个约4.7k!的上拉电阻。充电模块示意图如图5。LCD显示模块采用LCM6432ZK液晶显示器,通过串行接口和主MCU连接,用于系统工作状态信息、充电进程、电池电量等状态的显示。节点硬件留有LCD接口,在需要显示时可方便接插LCD显示模块。传感器模块节点传感器模块与计算和通信子板分离,模块化的设计提高了节点在不同应用中的灵活性。传感器模块可根据实际需要确定合适的传感器,如温度、湿度、振动、光强、气体报警、磁阻、红外等,以满足不同的需要。由于节点多为电池供电,要求传感器体积小、功耗低、外围电路简单,最好采用不需要复杂信号调理电路的数字传感器。本设计选用的部分传感器为:温度传感器DS18B20是一种新型数字温度传感器,外部电路非常简单,使用一线总线接口。其测量范围为-55℃~125℃,在-10℃~85℃之间的测量精度为±0.5℃,分辨率最大可以设计为12位,测量数据准确可靠。红外传感器PD632是一种数字热释电传感器,工作波长:7.5ηm~14ηm,在-20℃~60℃工作环境下探测距离可达6m~15m。加速度传感器ADXL202是AD公司的两维数字加速度传感器,工作温度:-40℃~85℃,采用先进的MEMS技术,可以测量震动加速度和静态加速度。外部接口节点外部接口包括JTAGE接口、ISP编程接口、RS232接口、充电接口、传感器接口、SMA天线座接口等。节点使用JTAGE、ISP多种方法下载程序;使用RS232接口直接与PC机串口连接;可根据不同需求经传感器接口挂接不同的传感器模块;在有充电条件的情况下,可通过充电接口迅速为节点补充能量。图6是RS232接口示意图,图7是JTAG/ISP接口示意图。节点设计的要点及应注意的事项射频部分是本设计的重点与难点,也是系统设计成功的关键。在模块设计过程中遇到的主要问题及解决方法有:CC2420的载波频率是2.4GHz,每5MHz增加一个频道,而晶振的精确度将影响载波的频率,从而影响通信的建立和稳定性。CC2420要求时钟源的精度在±40ppm以内。如果使用外部晶振应尽量使用精度高、性能稳定的四脚贴片晶振。CC2420射频电路工作在2.400GHz~2.4835GHz高频率工作频段,抗干扰设计直接关系到射频性能和整个传感器节点的运转情况。在射频部分布线时,合理的布局与布线及采用多层板既是布线所必须的也是降低电磁干扰提高抗干扰能力的有效手段。布线时特别要注意以下几点:一是射频电路没有用做布线的面积均需用铜填充并连接到地,以提供RF屏蔽达到有效抗干扰的目的;二是CC2420芯片底部应接地;为了降低延迟、减少串扰,确保高频信号的传输,要使用多个接地过孔将CC2420芯片底部和地层相连;三是尽可能地减少串扰,减少分布参数的影响,器件要紧密地分布在CC2420的四周,并使用较小封装。对于无线通信网络来说,天线起着举足轻重的作用。天线的选择和设置会直接影响整个无线通信网络的运行质量。本节点射频芯片CC2420可以使用金属倒F型PCB引线天线和单极天线两种设计方案。PCB引线天线是印制在电路板上的导线,通过它来感应空中电波,接收信息。PCB天线的形状、尺寸应严格按照数据手册设计。近几年,随着计算机成本的下降和微处理器体积的缩小,无线传感器网络越来越受到人们重视。本设计是笔者在归纳国内外无线传感器网络研究成果的基础上,设计的低功耗、低成本、实用型无线传感器网络节点。节点采用了独立可选的充电模块、LCD状态显示模块和丰富的对外接口,具有较强的实用性,可在多种环境中工作,按多种需要进行配置完成系统功能,并且在成本、功耗、灵活性等方面具有较明显的优势。