基于CC2420的无线传感器网络节点的设计
时间:07-22
来源:互联网
点击:
3 节点设计
由于在设计中用到的传感器较少(主要是温度传感器和光传感器),因此将传感器模块集成到处理器模块中。所以对节点设计的描述将分为处理器模块、通信模块和供电模块3部分。其中处理器模块选用ATmega128L作为处理器芯片,通信模块选用CC2420作为通信芯片,在电源方面,采用2节5号电池提供3V供电。
3.1 处理器模块
处理器是整个节点的中心,其他模块都要通过处理器来联系,因此处理器性能的好坏决定了整个节点的性能。ATmega128L芯片是ATMEL公司开发的一款高性能、低功耗的8位AVR微处理器。它有128 kB的系统可编程Flash存储器,4 kB EEPROM,以及4 kB的片内SRAM,同时还可以扩展外部存储器;采用先进的RISC结构,大部分指令在一个时钟周期内完成;有64个10引脚,都与通用单片机兼容;片内提供1个串行外围接口SPI、1个两线串行接口TWI和2个通用同异步串行接口,用于与外部元件的通信;并提供8通道10位采样精度的A/D转换器,该器件同时支持16路差分电压输入组合。
处理器与传感器的连接如图4所示。因为光传感器与温度传感器的工作原理相似,因此它们可采用同样的电路图。图中的R1为光敏电阻或热敏电阻,R2为10kΩ电阻,用于保护电路,加入电容C1是为使A/D转换器采样所得到的数据更精确。
电路的工作原理是:用ATmega128L的一个引脚给电路提供电源,从图中的电源端输入电路。R1的阻值根据光(R1为光敏电阻)或温度(R1为热敏电阻)的变化而发生变化,从而引起其压降的变化。将R1的负端与处理器的一个A/D转换器端口连接,处理器即可收到一个电信号,然后处理器启动A/D转换功能,将电信号转换为数字存入寄存器,当MCU需要处理或发送该数据时便可来取。利用下式可计算出十位二进制A/D转换器读数DADC。
式中:Vin为A/D转换器引脚的输入电压;Vref为参考电压。
3.2 通信模块
在无线传感器网络中,最关键的技术是实现节点间的通信。随着集成电路的发展,芯片的集成度越来越高,能耗越来越少,因此,传感器节点的能量主要是耗费在通信上。所以,选择一块低能耗的通信芯片将为节点节省能量,延长寿命。
CC2420是Chipeon公司开发的一款低功耗通信芯片。由于其唤醒时延短,使得它能有更多的时间处于睡眠状态,从而大大降低了节点的能耗,延长节点的寿命。CC2420与ATmega128L的连接如图5所示。
CC2420有4个SPI通信接口:CSn、SI、SO、SCLK,刚好对应ATmega128L的4个SPI通信接口:SS、MO-SI、MISO、SCLK。通过这4条线,处理器可以对CC2420进行写入或读取配置信息,也可以收发数据。由于CC2420只有从机模式,因此处理器只能采用主机模式。如图5所示,由处理器的SCLK引脚提供时钟频率;SS引脚控制数据收发的同步性,在接收和发送时,都要保证CSn为低电平;MOSI与MISO分别是数据输出和输入的引脚。SFD引脚在发送或接收完开始帧后置为高电平,然后继续发送和接收后面的数据。在接收模式下,若地址识别功能使能且识别成功或地址识别功能不使能,则SFD引脚直到所有数据发送完成才降为低电平。若地址识别功能使能但识别失败,SFD引脚将马上降为低电平。处理器的ICP引脚可以通过与SFD引脚的连接获取数据发送和接收的时间信息。与CCA引脚的连接可使处理器获取清除通道评估信号。FIFO和FIFOP是与CC2420的RXFIFO(接收数据存储区)相关的两个信号。当RXFIFO中有数据时,FIFO就变为高电平,直到RXFIFO为空为止。这样,处理器便可通过读取FIFO引脚的电平来判断CC2420中是否有接收到的数据。当RXFIFO中未被读取的数据超过某个门限值(可编程没定)或整个数据包接收完成后还未被读取时,FIFOP引脚就变成高电平。但是,当CC2420的地址识别功能使能时,只有到地址识别成功后FIFOP引脚才会发挥作用,这是为了防止处理器在CC2420的地址识别完成前读取那些可能无效的数据。当RXFIFO发生溢出时,FIFO将变为低电平,同时,FIFOP变为高电平。所以与FIFO引脚和FIFOP引脚的连接可以让处理器知道何时该读取数据。将FIFOP引脚与处理器的一个外部中断引脚连接,是为了让处理器能及时读取CC2420的RXFIFO中的数据,从而尽量避免RXFIFO的溢出。
3.3 供电模块
由于无线传感器网络可能工作在人烟稀少或人类无法到达的地区,所以大多只能采用电池供电,且一般不可能更换电池。因此,如何降低节点能耗是无线传感器网络研究中最关心的问题之一。CC2420芯片采用低电压供电(2.1 V~3.6 V),同时,采用休眠模式,且从休眠模式被激活的时延短,因此有更多的时间处于休眠状态,而处于休眠状态时芯片的能耗极低,从而大大减少了能耗。CC2420各状态下的电流消耗典型值如下:稳压器关闭为0.02μA,低电位模式为20μA,空闲模式为426μA,接收模式为18.8 mA,发送模式(输出功率P=0 dBm)为17.4 mA。
同时,ATmega128L也是一款采用低电压供电的芯片(2.7 V~5.5 V)。而且ATmega128L有6种睡眠模式:空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式。可根据需要,通过软件编程或硬件复位等方式来控制处理器进入睡眠模式,节省能耗。同时,各种睡眠模式都有各自的唤醒源,当有数据需要处理器处理时,便可由唤醒源将其唤醒,进入工作状态,一旦处理完成,再次进入睡眠状态。采用这种工作方式,处理器能够最大限度地节约能耗。
由于在设计中用到的传感器较少(主要是温度传感器和光传感器),因此将传感器模块集成到处理器模块中。所以对节点设计的描述将分为处理器模块、通信模块和供电模块3部分。其中处理器模块选用ATmega128L作为处理器芯片,通信模块选用CC2420作为通信芯片,在电源方面,采用2节5号电池提供3V供电。
3.1 处理器模块
处理器是整个节点的中心,其他模块都要通过处理器来联系,因此处理器性能的好坏决定了整个节点的性能。ATmega128L芯片是ATMEL公司开发的一款高性能、低功耗的8位AVR微处理器。它有128 kB的系统可编程Flash存储器,4 kB EEPROM,以及4 kB的片内SRAM,同时还可以扩展外部存储器;采用先进的RISC结构,大部分指令在一个时钟周期内完成;有64个10引脚,都与通用单片机兼容;片内提供1个串行外围接口SPI、1个两线串行接口TWI和2个通用同异步串行接口,用于与外部元件的通信;并提供8通道10位采样精度的A/D转换器,该器件同时支持16路差分电压输入组合。
处理器与传感器的连接如图4所示。因为光传感器与温度传感器的工作原理相似,因此它们可采用同样的电路图。图中的R1为光敏电阻或热敏电阻,R2为10kΩ电阻,用于保护电路,加入电容C1是为使A/D转换器采样所得到的数据更精确。
电路的工作原理是:用ATmega128L的一个引脚给电路提供电源,从图中的电源端输入电路。R1的阻值根据光(R1为光敏电阻)或温度(R1为热敏电阻)的变化而发生变化,从而引起其压降的变化。将R1的负端与处理器的一个A/D转换器端口连接,处理器即可收到一个电信号,然后处理器启动A/D转换功能,将电信号转换为数字存入寄存器,当MCU需要处理或发送该数据时便可来取。利用下式可计算出十位二进制A/D转换器读数DADC。
式中:Vin为A/D转换器引脚的输入电压;Vref为参考电压。
3.2 通信模块
在无线传感器网络中,最关键的技术是实现节点间的通信。随着集成电路的发展,芯片的集成度越来越高,能耗越来越少,因此,传感器节点的能量主要是耗费在通信上。所以,选择一块低能耗的通信芯片将为节点节省能量,延长寿命。
CC2420是Chipeon公司开发的一款低功耗通信芯片。由于其唤醒时延短,使得它能有更多的时间处于睡眠状态,从而大大降低了节点的能耗,延长节点的寿命。CC2420与ATmega128L的连接如图5所示。
CC2420有4个SPI通信接口:CSn、SI、SO、SCLK,刚好对应ATmega128L的4个SPI通信接口:SS、MO-SI、MISO、SCLK。通过这4条线,处理器可以对CC2420进行写入或读取配置信息,也可以收发数据。由于CC2420只有从机模式,因此处理器只能采用主机模式。如图5所示,由处理器的SCLK引脚提供时钟频率;SS引脚控制数据收发的同步性,在接收和发送时,都要保证CSn为低电平;MOSI与MISO分别是数据输出和输入的引脚。SFD引脚在发送或接收完开始帧后置为高电平,然后继续发送和接收后面的数据。在接收模式下,若地址识别功能使能且识别成功或地址识别功能不使能,则SFD引脚直到所有数据发送完成才降为低电平。若地址识别功能使能但识别失败,SFD引脚将马上降为低电平。处理器的ICP引脚可以通过与SFD引脚的连接获取数据发送和接收的时间信息。与CCA引脚的连接可使处理器获取清除通道评估信号。FIFO和FIFOP是与CC2420的RXFIFO(接收数据存储区)相关的两个信号。当RXFIFO中有数据时,FIFO就变为高电平,直到RXFIFO为空为止。这样,处理器便可通过读取FIFO引脚的电平来判断CC2420中是否有接收到的数据。当RXFIFO中未被读取的数据超过某个门限值(可编程没定)或整个数据包接收完成后还未被读取时,FIFOP引脚就变成高电平。但是,当CC2420的地址识别功能使能时,只有到地址识别成功后FIFOP引脚才会发挥作用,这是为了防止处理器在CC2420的地址识别完成前读取那些可能无效的数据。当RXFIFO发生溢出时,FIFO将变为低电平,同时,FIFOP变为高电平。所以与FIFO引脚和FIFOP引脚的连接可以让处理器知道何时该读取数据。将FIFOP引脚与处理器的一个外部中断引脚连接,是为了让处理器能及时读取CC2420的RXFIFO中的数据,从而尽量避免RXFIFO的溢出。
3.3 供电模块
由于无线传感器网络可能工作在人烟稀少或人类无法到达的地区,所以大多只能采用电池供电,且一般不可能更换电池。因此,如何降低节点能耗是无线传感器网络研究中最关心的问题之一。CC2420芯片采用低电压供电(2.1 V~3.6 V),同时,采用休眠模式,且从休眠模式被激活的时延短,因此有更多的时间处于休眠状态,而处于休眠状态时芯片的能耗极低,从而大大减少了能耗。CC2420各状态下的电流消耗典型值如下:稳压器关闭为0.02μA,低电位模式为20μA,空闲模式为426μA,接收模式为18.8 mA,发送模式(输出功率P=0 dBm)为17.4 mA。
同时,ATmega128L也是一款采用低电压供电的芯片(2.7 V~5.5 V)。而且ATmega128L有6种睡眠模式:空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式。可根据需要,通过软件编程或硬件复位等方式来控制处理器进入睡眠模式,节省能耗。同时,各种睡眠模式都有各自的唤醒源,当有数据需要处理器处理时,便可由唤醒源将其唤醒,进入工作状态,一旦处理完成,再次进入睡眠状态。采用这种工作方式,处理器能够最大限度地节约能耗。
传感器 自动化 收发器 射频 放大器 温度传感器 AVR 单片机 电压 电路图 电阻 电路 电容 MCU ADC 集成电路 电流 相关文章:
- 光缆结构及工艺的发展(03-04)
- 基于Zigbee的远程家庭监护系统的应用研究(04-08)
- 触摸屏基本原理(04-16)
- 无线传感器网络的服务质量保障技术(10-16)
- 网络自组织通信模式和技术研究综述(10-26)
- 视频传感器网络覆盖控制(Coverage Control)问题研究概述(11-24)