摘要:随着无线传感器网络的发展,无线网络数据采集节点的低功耗要求也不断提高。针对这一要求,利用内部集成了射频模块的CC430F51 37设计并实现了一种低功耗无线数据采集节点。利用无线模块唤醒功能降低了系统功耗,同时根据载波监听功能改进了射频发送函数,提高了抗干扰能力。实验结果表明,该设计的低功耗和抗干扰方法是可行的。
引言
随着集成电路、无线通信技术和嵌入式技术的发展,无线通信网络也应运而生,无线传感网络具有低功耗、低成本、分布式和自组织的特点。
传统的无线射频通信模块体积大,需要控制芯片来控制射频模块,这就增加了设计的成本,而且可移动性不好。
半导体技术的不断进步使处理器芯片可以被集成为体积很小的一块,而价格变得更便宜,专用的无线网络芯片和技术也得到发展。文中采用了TI公司的CC430F5137设计并实现了一种应用于无线网络中的节点模块。CC430F5137是一款内部集成了射频核的芯片,它内置了CC1101射频核,使用单颗芯片就可以完成数据的采集、处理、发送与接收,使电路板的体积可以变得更小、更便宜。为了实现网络节点的低功耗
设计,本文采用了射频模块的无线唤醒(WOR)功能。同时,利用射频核的空闲信道评估(CCA)功能改进了射频发送的算法,提高了多节点向中继器模块发送数据时的准确性。
1 总体设计方案
无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点组成的网络。它是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作的方式感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络所有者。无线传感器网络主要实现了数据的采集、处理和传输三种功能。
传感器网络节点一般受到工作环境的影响,功耗问题是要首先考虑的。考虑到低功耗要求的设计,节点设备的主控MCU选择CC430F5137,利用它内置的射频通信模块进行射频通信。由于其低功耗的特点可采用电池供电。软件部分利用CC1101的无线唤醒功能,能史好地降低系统功耗。
无线传感器网络中可以挂接多个节点设备,而每个节点设备的地址必须唯一。本文设计的节点设备采用拨码开关来设置每个节点设备的地址,确保每个节点都有一个唯一的地址。通过SPI接口或I2C总线接入传感器器件,可以灵活地接入不同型号的传感器器件,以达到测试不同物理量的要求。节点的系统结构如图1所示。
2 节点硬件设计
2.1 节点电路总体设计
CC430F5137的供电电压范围为1.8~3.6 V,选程度用两节7号电池来提供3 V的直流电压。配合软件的设置可以最大程度地降低功耗。系统的关键部分是射频发送利用一个射频的天线模块,可以保证射频通信的稳定性,此无线模块由芯片的RF_N和RF_P两个引脚接入。另外根据射频发送的需要,接入一个26 MHz晶振。
CC430F5137的P1.5、P1.6、P1.7引脚可以用于串口通信和SPI通信,使用这三个引脚作为串口调试,另外P1.1、P1.2、P1.3引脚可以用于SPI和I2C总线通信,这三个接口用来预留连接传感器的芯片。系统的主电路图如图2所示。
2.2 地址设定电路
为了使每个节点的地址唯一,采用8位的拨码开关SW进行地址设定。如图3所示,可以由拨码开关来设定终端节点的地址,可以设定255个不同的地址,每一个终端节点作为从设备向中继节点发送数据,然后由中继节点发送到用于网络管理的主控MCU,完成无线传感器网络数据的传送。
3 节点软件设计
3.1 程序主流程
在节点系统软件的设计过程中,对几个重要寄存器进行配置,主要进行配置的寄存器有载波频率寄存器、数据速率寄存器、载波监听设置绝对阈值寄存器、射频发送和接收的数据包长度寄存器和地址检测开启寄存器。其他的寄存器配置可以参照TI公司提供的SmartRF Studio
软件,它是专门用于配置射频通信相关的寄存器,本设计中采用SmartRF Studio 7对CC430F5137的寄存器进行配置。配置射频发送的载波频率为433 MHz,通信的数据速率为2.4 kbps,并且使能地址检测功能,每一个节点部有唯一的地址。当节点接收到的数据包中没有和自身地址相匹配的内容,则节点设备就不会接收该数据包,不对其作处理。只有发送来的数据包与节点地址相对应时,节点才能接收并处理数据,这就有效地防止了中继器节点向不同的节点发送数据时会被多个节点收,可以有效地传送数据。图4为整个程序的主流程图。
当系统一上电,则会做相应的初始化操作,比如串口、I2C总线,并对射频模块的各个寄存器进行配置,初始化功率放大表等。
系统初始化完毕后,系统会向中继器节点主动发起连接请求,把自己的节点地址告诉中继器节点,为以后的中继器节点和终端节点之间的数据传送做准备。发送完请求连接后,节点会等待中继器节点的应答,如果没有应答,节点会继续请求连接,直到收到应答后再进行下一步的处理。
3.2 无线唤醒功能
为了更好地降低系统能量消耗,采用CC1101的无线模块唤醒功能(WOR),当系统请求连接成功后,就会进入无线唤醒模式,此时系统处于睡眠状态。在此模式下功耗极低,可达到2.0μA。射频内核可以通过软件编程设置每隔一段时间唤醒,醒来后系统处于射频接收状态,如果这时检测到有数据包发送过来,那么系统就会退出无线唤醒状态,转入正常的状态去处理接收到的数据包。如果没有检测到数据包,系统则会继续睡眠然后再重复地醒来检测,这样就保证了在不需要数据传送的情况下,最大限度地节约能量消耗。图5为系统处于无线唤醒状态的程序流程图。
3.3 射频发送函数的改进
CC430F5137内嵌的射频模块具有空闲信道评估(CCA)功能,当开启空闲信道评估功能时,只有在信道空闲的时候才能进入发送状态,如果检测到信道忙,则会一直保持在接收状态。
为了确保本节点向中继器节点发送数据的准确性,以及提高多个中断节点同时向中继器节点发送数据时的抗干扰性,采用射频模块的载波监听功能,并结合使用空闲信道评估功能改进了射频发送函数。改进后的发送函数如下:
4 实验验证与分析
根据设计的电路图,制成电路板后,烧入编写好的测试程序。为了方便验证,实验时采用直流电源供电,为电路板提供3.0 V电压,然后把万用表串联接入,分别测量休眠、接收和发送三种状态下的电流消耗。表1是测试结果。
由表1可以看出,系统在休眠状态下的电流消耗仅为2.3μA,由于发送数据量的不同,发送状态下的电流消耗会因为数据包的长度而不同,发送数据包越大,电流消耗越大。CC430F5137在最大输出功率时,433 MHz下最大的电流消耗是30 mA。系统从睡眠状态转入接收状态时的电流消耗为15 mA,从实验结果可以看出,采用无线模块唤醒功能可以有效地降低系统功耗。
结语
本文利用TI公司的CC430F5137芯片,采用射频通信技术设计的无线数据采集节点,这种设计可以大大地减小系统的体积。本系统可以采集各种各样的信号,能将采集到的数据安全稳定地传送到中间数据采集点。设计中载波监听功能和信道空闲评估功能改进的射频发送函数,可以有效地提高多个节点同时发送数据时的抗干扰性。