传感器节点是组成无线传感器网络的基本单位,是构成无线传感器网络的基础。本文依据传感器节点功耗低、成本低、体积小等硬件限制条件,设计了一种基于射频芯片CC2420和单片机MSP430的无线传感器网络的硬件节点。
硬件节点设计
在进行无线传感节点设计时,应考虑其具有的如下特点:微型化, 应用中的传感器节点要高度集成,保证不会对目标系统的特性造成影响,受外形尺寸限制,模块必须能够集成更多部件;低功耗,网络往往部署在无人值守的地方,节点使用电池供电,不能频繁更换电池,因此,如何节省电能是应用的首要问题;运行速度,网络对节点的实时性要求很高,要求处理器的实时处理能力要强;扩展接口,多功能的传感器产品是发展的趋势,而在前期设计中,不可能把所有的功能包括进来,这就要求系统有很强的可扩展性;可靠性, 传感器网络可以分布在很广的地域,因此,维护十分困难,传感器网络的软、硬件必须具有高鲁棒性和容错性;尽可能低的成本。
综合以上考虑,本文设计的传感器节点框图如图1所示。
传感器节点由数据采集、数据处理、数据传输和电源等模块组成,本方案采用了以MSP430为核心的控制模块。MSP430在低功耗方面表现出色,并且在恶劣条件下工作性能稳定。以CC2420为无线收发模块,MSP430与CC2420通过SPI方式通信,MSP430采用主模式,CC2420采用从模式。节点的传感器模块与主板分离,模块化的设计提高了节点在不同应用中的灵活性。由于本节点为电池供电,要求传感器体积小、功耗低、外围电路简单,最好采用不需要复杂信号调理电路的数字传感器。
主要芯片介绍
CC2420
CC2420是一款兼容2.4GHz IEEE 802.15.4的无线收发芯片。该芯片体积小、功耗低,非常适合于家庭及楼宇自动化、工业监控等应用系统。
CC2420具有完全集成的压控振荡器,只需要天线、16MHz晶振等非常少的外围电路就能在2.4GHz频段工作。CC2420只提供一个SPI接口与微处理器连接,通过这个接口完成设置和收发数据工作。许多单片机都集成了SPI控制器,例如MSP430,可以非常方便地与CC2420配合使用。简单的外围电路和处理器接口,使得CC2420可以应用在非常廉价的设备上。
MSP430
MSP430是具有超低功耗特点的16位单片机,本方案选用MSP430F149,其功耗电流已经达到了mA级。它是功能强大的CPU内核:16位CPU和高效的RISC指令系统,无外扩的数据地址总线,在8MHz时可达到125ns的指令周期,具有16个快速响应中断,能及时处理各种紧急事件。丰富的片内外围功能模块:12位的A/D转换器ADC12内包括采样/保持功能的ADC内核、转换存储逻辑、内部参考电平发生器、多种时钟源、采样及转换时序电路。有8个外通道,4个内通道,高达200kbps的采样速率,多种采样方式。两路USART通信串口,可用于UART和SPI模式;片内有精密硬件乘法器、两个16位定时器,6个并行口Pl~P6, 48条I/O口线,其具有64KB的闪存,用于存储采集数据。
CC2420与MSP430的
硬件接口电路
CC2420与处理器的连接非常方便。它使用SFD、 FIFO、 FIFOP、和CCA 4个引脚表示收发数据的状态;而处理器通过SPI接口与CC2420交换数据、发送命令等。
CC2420收到物理帧的SFD字段后,会在SFD引脚输出高电平,直到接收完该帧。如果启动了地址辨识,在地址辩识失败后,SFD引脚立即转为输出低电平。FIFO和FIFOP引脚表示接收FIFO的缓存区状态。如果接收FIFO缓存区有数据,FIFO引脚输出高电平;如果接收FIFO缓存区为空,FIFO引脚输出低电平。当FIFOP引脚在接收FIFO缓存区的数据超过某个临界值时,或者在CC2420接收到一个完整的帧以后输出高电平。临界值可以通过CC2420的寄存器设置。
CCA引脚在信道有信号时输出高电平,它只在接收状态下有效。在CC2420进入接收状态至少8个符号(symbol)周期后,才会在CCA引脚上输出有效的信道状态信息。
SPI接口由CSn、SI、SO和SCLK引脚组成。处理器通过SPI接口访问CC2420内部寄存器和存储器。在访问过程中,CC2420是SPI接口的从设备,接收来自处理器的时钟信号和片选信号,并在处理器的控制下执行输入/输出操作。SPI接口接收或者发送数据时,都与时钟下降沿对齐。CC2420与MSP430是通过SPI连接的,其中,MSP430处于主模式,CC2420处于从模式。MSP430还有4个I/O与CC2420相连,主要起查询CC2420状态的作用。CC2420与MSP430的接口电路如图2所示。
节点设计的要点及注意事项
在设计节点时,重点是射频部分, CC2420要求时钟源的精度在±40ppm以内。本文采用高精度、性能稳定的四脚贴片晶振,来避免晶振的漂移。
进行电路板设计时,要采取抗干扰措施:射频电路没有用做布线的面积均需用铜填充并连接到地,以提供RF屏蔽,达到有效抗干扰的目的;CC2420芯片底部应接地;为了降低延迟、减少串扰,确保高频信号的传输,要使用多个接地过孔将CC 2420芯片底部和地层相连; 器件要紧密地分布在CC2420的四周,并使用较小的封装。
另一个要考虑的是天线。天线在无线通信中起着举足轻重的作用,天线的选择和设置会直接影响整个无线通信网络的运行质量。本节点射频芯片CC2420可以使用金属倒F型PCB引线天线和单极天线两种设计方案。PCB引线天线是印制在电路板上的导线,通过它来感应空中电波、接收信息。PCB天线的形状、尺寸应严格按照数据手册设计。
软件设计
软件开发以IAR Workbench V2.10为平台,采用C语言编写,软件编程的基本思路是:先对SPI、CC2420控制端口初始化;使能SPI、UART端口,使能ADC,对CC2420芯片初始化;开启接收机后,就可以运行任务程序了,以实现接收或发送数据。