APP下载

CC430F5137的低功耗无线数据采集节点设计

2014-09-25韩进齐乃宝

单片机与嵌入式系统应用 2014年2期
关键词:中继器寄存器数据包

韩进,齐乃宝

(山东科技大学信息科学与工程学院,青岛266590)

引 言

随着集成电路、无线通信技术和嵌入式技术的发展,无线通信网络也应运而生,无线传感网络具有低功耗、低成本、分布式和自组织的特点。

传统的无线射频通信模块体积大,需要控制芯片来控制射频模块,这就增加了设计的成本,而且可移动性不好。

半导体技术的不断进步使处理器芯片可以被集成为体积很小的一块,而价格变得更便宜,专用的无线网络芯片和技术也得到发展。文中采用了TI公司的CC430F5137设计并实现了一种应用于无线网络中的节点模块。CC430F5137是一款内部集成了射频核的芯片,它内置了CC1101射频核,使用单颗芯片就可以完成数据的采集、处理、发送与接收,使电路板的体积可以变得更小、更便宜。为了实现网络节点的低功耗设计,本文采用了射频模块的无线唤醒(WOR)功能。同时,利用射频核的空闲信道评估(CCA)功能改进了射频发送的算法,提高了多节点向中继器模块发送数据时的准确性。

1 总体设计方案

无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点组成的网络。它是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作的方式感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络所有者。无线传感器网络主要实现了数据的采集、处理和传输三种功能[1]。

传感器网络节点一般受到工作环境的影响,功耗问题是要首先考虑的。考虑到低功耗要求的设计,节点设备的主控MCU选择CC430F5137,利用它内置的射频通信模块进行射频通信。由于其低功耗的特点可采用电池供电。软件部分利用CC1101的无线唤醒功能,能更好地降低系统功耗。

无线传感器网络中可以挂接多个节点设备,而每个节点设备的地址必须唯一。本文设计的节点设备采用拨码开关来设置每个节点设备的地址,确保每个节点都有一个唯一的地址。通过SPI接口或I2C总线接入传感器器件,可以灵活地接入不同型号的传感器器件,以达到测试不同物理量的要求。节点的系统结构如图1所示。

图1 节点系统结构图

2 节点硬件设计

2.1 节点电路总体设计

CC430F5137的供电电压范围为1.8~3.6V,选程度用两节7号电池来提供3V的直流电压。配合软件的设置可以最大程度地降低功耗。系统的关键部分是射频发送利用一个射频的天线模块,可以保证射频通信的稳定性,此无线模块由芯片的RF_N和RF_P两个引脚接入。另外根据射频发送的需要,接入一个26MHz晶振。

CC430F5137的P1.5、P1.6、P1.7引脚可以用于串口通信和SPI通信,使用这三个引脚作为串口调试,另外P1.1、P1.2、P1.3引脚可以用于SPI和I2C总线通信,这三个接口用来预留连接传感器的芯片。系统的主电路图如图2所示。

图2 节点系统主电路图

2.2 地址设定电路

为了使每个节点的地址唯一,采用8位的拨码开关SW进行地址设定。如图3所示,可以由拨码开关来设定终端节点的地址,可以设定255个不同的地址,每一个终端节点作为从设备向中继节点发送数据,然后由中继节点发送到用于网络管理的主控MCU,完成无线传感器网络数据的传送。

3 节点软件设计

3.1 程序主流程

图3 地址设定电路

在节点系统软件的设计过程中,对几个重要寄存器进行配置,主要进行配置的寄存器有载波频率寄存器、数据速率寄存器、载波监听设置绝对阈值寄存器、射频发送和接收的数据包长度寄存器和地址检测开启寄存器。其他的寄存器配置可以参照TI公司提供的SmartRF Studio软件,它是专门用于配置射频通信相关的寄存器,本设计中采用SmartRF Studio 7对CC430F5137的寄存器进行配置。配置射频发送的载波频率为433MHz,通信的数据速率为2.4kbps.并且使能地址检测功能,每一个节点都有唯一的地址。当节点接收到的数据包中没有和自身地址相匹配的内容,则节点设备就不会接收该数据包,不对其作处理。只有发送来的数据包与节点地址相对应时,节点才能接收并处理数据,这就有效地防止了中继器节点向不同的节点发送数据时会被多个节点收,可以有效地传送数据。图4为整个程序的主流程图。

当系统一上电,则会做相应的初始化操作,比如串口、I2C总线,并对射频模块的各个寄存器进行配置,初始化功率放大表等。

系统初始化完毕后,系统会向中继器节点主动发起连接请求,把自己的节点地址告诉中继器节点,为以后的中继器节点和终端节点之间的数据传送做准备。发送完请求连接后,节点会等待中继器节点的应答,如果没有应答,节点会继续请求连接,直到收到应答后再进行下一步的处理。

图4 传感器节点主程序流程图

3.2 无线唤醒功能

为了更好地降低系统能量消耗,采用CC1101的无线模块唤醒功能(WOR),当系统请求连接成功后,就会进入无线唤醒模式,此时系统处于睡眠状态。在此模式下功耗极低,可达到2.0μA[3]。射频内核可以通过软件编程设置每隔一段时间唤醒,醒来后系统处于射频接收状态,如果这时检测到有数据包发送过来,那么系统就会退出无线唤醒状态,转入正常的状态去处理接收到的数据包。如果没有检测到数据包,系统则会继续睡眠然后再重复地醒来检测,这样就保证了在不需要数据传送的情况下,最大限度地节约能量消耗。图5为系统处于无线唤醒状态的程序流程图。

图5 无线唤醒模式下的程序流程图

3.3 射频发送函数的改进

CC430F5137内嵌的射频模块具有空闲信道评估(CCA)功能,当开启空闲信道评估功能时,只有在信道空闲的时候才能进入发送状态,如果检测到信道忙,则会一直保持在接收状态。

为了确保本节点向中继器节点发送数据的准确性,以及提高多个中断节点同时向中继器节点发送数据时的抗干扰性,采用射频模块的载波监听功能,并结合使用空闲信道评估功能改进了射频发送函数。改进后的发送函数如下:

4 实验验证与分析

根据设计的电路图,制成电路板后,烧入编写好的测试程序。为了方便验证,实验时采用直流电源供电,为电路板提供3.0V电压,然后把万用表串联接入,分别测量休眠、接收和发送三种状态下的电流消耗。表1是测试结果。

表1

由表1可以看出,系统在休眠状态下的电流消耗仅为2.3μA,由于发送数据量的不同,发送状态下的电流消耗会因为数据包的长度而不同,发送数据包越大,电流消耗越大。CC430F5137在最大输出功率时,433MHz下最大的电流消耗是30mA[2]。系统从睡眠状态转入接收状态时的电流消耗为15mA,从实验结果可以看出,采用无线模块唤醒功能可以有效地降低系统功耗。

结 语

本文利用TI公司的CC430F5137芯片,采用射频通信技术设计的无线数据采集节点,这种设计可以大大地减小系统的体积。本系统可以采集各种各样的信号,能将采集到的数据安全稳定地传送到中间数据采集点。设计中载波监听功能和信道空闲评估功能改进的射频发送函数,可以有效地提高多个节点同时发送数据时的抗干扰性。

[1] 孙利民,李建中,陈渝,等.无线传感器网络[M] .北京:清华大学出版社,2005.

[2] Texas Instruments.CC430Family user’s guide.2013.

[3] Texas Instruments.CC430F5137,2010.

[4] 张彪,胡慧.基于MSP430F2274的无线数据采集节点的设计[J] .传感器世界,2009(1).

[5] 童亚钦,纪春国.基于CC1101的分布式节能测控网络设计[J] .单片机与嵌入式系统应用,2010(12).

[6] 李建业.基于CC430的无线传感器网络节点研究与设计[D] .秦皇岛:燕山大学,2012.

[7] 解子亮.分布式无线数据采集的实现[D] .合肥:中国科学技术大学,2011.

[8] 黄向骥.基于CC2430的无线智能家居系统的设计[D] .武汉:武汉理工大学,2010.

猜你喜欢

中继器寄存器数据包
二维隐蔽时间信道构建的研究*
STM32和51单片机寄存器映射原理异同分析
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
Lite寄存器模型的设计与实现
我国科学家率先实现全光量子中继
SmartSniff
基于光伏发电的物联网中继器的设计
对利用轨间交叉环线进行列车定位的几点思考
高速数模转换器AD9779/AD9788的应用
一种可重构线性反馈移位寄存器设计