由MSP430和CC1100构成的无线传感器网络

发布者:美好未来最新更新时间:2013-07-03 来源: dzsc关键字:MSP430  CC1100  无线传感器网络 手机看文章 扫描二维码
随时随地手机看文章
  无线传感器网络是由大量微型传感器节点通过无线自组织方式构成的网络。它集成了传感器、微机电和无线通信三大技术,能够实时地感知、采集和处理网络覆盖范围内的对象信息,并发送给观察者;具有覆盖区域广、可远程监控、监测精度高、布网快速和成本低等优点,在军事、环保、医疗保健、空间探索、工业监控、精细农业等领域均有非常良好的应用前景。

1 无线传感器网络结构

  无线传感器网络系统通常包括若干传感器终端节点、一个Sink节点和一套后台监控软件。其中,传感器终端节点具有本地数据采集传输和转发邻节点数据的双重功能,可以在后台管理软件和Sink节点的控制下采集数据,并将数据经过多跳路由传输到Sink节点;Sink汇聚节点是网络的中心,具有协调器和网关的作用,负责网络的配置、管理和数据的汇集,并负责与用户PC机后台管理软件的通信。

2 系统硬件设计

  无线传感器网络终端节点的硬件一般包括处理单元、无线传输单元、传感采集单元和电源供应单元。其中,处理单元负责控制传感器节点的操作以及数据的存储和处理;传感采集单元负责监测区域内信息的采集;无线传输单元负责节点间的无线通信;电源供应单元负责为节点供电。Sink节点功能更多,除包含上述功能单元以外,还包含与后台监控通信的接口单元。本文用串口作为Sink节点与后台监控软件的通信接口。

  本设计中处理单元采用了TI公司的16位低功耗单片机MSP430F1611,无线传输单元采用低功耗无线收发模块CC1100,传感采集单元采用温湿度传感器DHT90,电源模块采用两节普通7号电池。此外,考虑到很多数据具有时间相关性,本设计还加入了实时时钟DS1337构成的时间控制单元。

2.1 处理单元

  MSP430F1611突出的特点是可以实现极低的功耗。它有5种可编程的工作模式,其中活动模式下工作电流仅需280μA,LPM4模式下仅需0.1 μA。MSP30F1611内部具有44 KB的Flash存储器和10 KB的RAM,以及丰富的外设。本文中,MSP430F1611使用I2C接口连接RTC,SPI接口连接无线收发模块,UART接口连接串口通信单元。

2.2 无线收发单元

  无线收发单元选用Chipcon公司的CC1100射频芯片。该芯片体积小,功耗低,数据速率支持1.2~500 kbps的可编程控制,可以工作在915 MHz、868 MHz、433MHz、315 MHz四个波段,在所有频段提供-30~10 dBm输出功率。本文中CC1100工作在433 MHz的频率上,采用FSK调制方式,数据速率为100 kbps,信道间隔为200kHz。

  CC1100与单片机采用SPI接口连接,原理图如图4所示。SPI总线接口技术是一种高速、高效率的串行接口技术,主要用于扩展外设和进行数据交换。MSP430上SPI接口的详细介绍和实现方式请参考文献[2]。

下面是利用SPI与MSP430F1611通信的示例代码。

(1) 往CC1100指定寄存器写入一个数值

(2) 读单个寄存器值

[page]

2.3 数据采集单元

  节点的数据采集单元可以根据实际需要和被监测物理信号特征选择合适的传感器,如光照、压力、振动、温度、湿度、土壤盐碱度等。

  本文数据采集单元采用了Sensirion公司的数字式温湿度传感器DHT90。DHT90集成了温度/湿度传感器、信号放大调理器、A/D转换器和总线接口,能够进行全校准数字输出,可以直接提供温度在-40℃~120℃范围内、分辨率为14位、湿度在0~100%RH范围内且分辨率为12位的数字输出。

2.4 时间控制单元

  时间控制单元用于设置、记录数据采集的时间,以便后台用户能够依靠采集时间对数据进行处理。本文选用Maxim公司的串行实时时钟芯片DS1337作为时间控制单元。DS1337可以工作在1.8~5.5 V,并且具有很低的功耗,在休眠模式下仅需要15 μA。

2.5电源供应单元

  本文采用两节7号碱性南孚电池为整个节点供电。为了能够及时获取节点电池的电量状况,并根据电池的剩余电量状况和放电特性来调整节点的通信状态,本文利用MSP430F1611芯片内部集成的ADC12模块测量电源正极电平值,并通过将所测电平值与参考电平进行比较,得到转换数据NADC,最后电源的电压Vin可以由下式得出:

  式中:VR+为参考电压正极,VR-为参考电压负极,Vin为ADC12转换得到的电压值,NADC为单片机转换寄存器值。

2.6 串口通信单元

  网络中只有Sink节点才包含串口通信单元,终端节点无需串口通信单元。Sink节点的处理单元MSP430F1611通过串口通信单元与后台监控主机通信。Sink节点通过串口通信模块可以将自身收集的全网信息数据传送给后台监控主机,研究人员根据监控软件对收集数据的智能处理结果向传感器网络发布数据和命令。

3 协议软件设计

3.1 拓扑结构

  制定网络协议首先要确定的是网络的拓扑结构。本文所设计的无线传感器网络协议采用簇-树(cluster-tree)拓扑。簇-树拓扑是由网络协调器(coordinator)展开生成树状的拓扑结构,适合于节点静止或者移动较少的场合;不需要存储路由表,具有路由算法复杂度低、无初始延时等优点。

3.2 通信协议栈

  无线通信协议的设计目的是使具体的通信机制与上层的应用分离,为传感器节点提供网络通信的功能。为了降低网络设计的复杂性,采用分层设计,参考OSI模型,将整个协议分为4层:物理层,提供简单但健壮的信号调制和无线收发技术;MAC层,负责数据成帧、帧检测、媒体访问和差错控制;网络层,主要负责路由生成和路由选择;应用层,包括一系列基于监测任务的应用层软件。

  整个系统协议设计包括Sink节点协议设计和终端节点协议设计。由于篇幅有限,本文仅介绍终端节点的软件协议和系统主程序。

  终端节点在初始化成功后进入信道扫描侦听状态,当侦听到有邻居节点活动时便向邻居节点请求时标帧;节点依据接收到的时标帧同步自己的时钟,节点时钟同步后进入接入状态,接人成功后节点进入业务状态。处于业务状态的节点,执行后台和Sink节点发布的命令,进行数据的传感采集与传输,以及对邻节点数据的中继转发。节点为了实现低功耗,必须在业务状态与休眠状态之间进行轮换。

 

4 系统节能问题

  在整个网络系统的设计中,节约能量一直是考虑的重中之重。系统的节能,一靠硬件系统本身的低功耗,二靠软件协议的低功耗。在硬件方面,本文节点选择的都是低功耗的芯片,布板也充分考虑了低功耗要求;在软件方面,除了采用休眠机制以外,还采用了基于电池能量模型的路由协议,使得节点能够根据电池能量特性来工作,从而延长了电池的使用寿命。

结 语

  本文主要介绍了一种基于MSP430F1611单片机和CC1100无线收发模块,能够实现精确采集环境温湿度信息的无线传感器网络硬件设计和软件设计方案。在实际组网测试中,笔者构建了19个终端节点和1个Sink节点的演示系统,节点每休眠两个小时醒来一次,节点醒来之后采集数据并发送给观察者。实验表明,采用这种方式构建的无线传感器网络系统数据采集及时准确,而且能以极低的功耗进行工作。

 
参考文献:

[1]. MSP430F1611 datasheet http://www.dzsc.com/datasheet/MSP430F1611_.html.
[2]. CC1100 datasheet http://www.dzsc.com/datasheet/CC1100_1132259.html.
[3]. DS1337 datasheet http://www.dzsc.com/datasheet/DS1337_1090248.html.
[4]. MSP430 datasheet http://www.dzsc.com/datasheet/MSP430_490166.html.
[5]. Maxim datasheet http://www.dzsc.com/datasheet/Maxim_1062568.html.

关键字:MSP430  CC1100  无线传感器网络 引用地址:由MSP430和CC1100构成的无线传感器网络

上一篇:基于MSP430F149的电力操作电源智能电池巡检系统的设计
下一篇:基于MSP430F449的数据存储和USB串行通信实现

推荐阅读最新更新时间:2024-03-16 13:26

MSP430系列单片机:G2553循迹
2018.7 还没有进入硕士研究生的生活,就已经被老师拉来给本科大一辅导单片机的入门课程…也是没谁了… 在无聊之余自己也玩起以前玩的TI的MSP430系列,话说自己以前也用这系列搭过蜘蛛机器人,在机器人动起来的时候还是有点成就感的。 7.24 课程结束,本科生用G2搭了一个小车来循迹比赛,赛道是师兄花的,看上去还有点复杂。一些本科生也是厉害,两个红外传感器就搞定地图。估计这就是所谓的运气和实力了。 在课程总结,和老师坐在一起,就感觉事情并没有那么简单。。。 嗯,开始套路我们准研一做循迹小车当复习单片机知识….话说,老师给我的是一种莫名的不能拒绝的感觉。所以…迷迷糊糊就答应下来了。 7.26 花了一天的时间把原来要求控速
[单片机]
半年之殇:困扰半年的MSP430的I2C总线问题在今天解决
搞过嵌入式开发的程序员一定知道有I2C总线,手机和电视中的主要串行技术,通过两条线SDA,SCL解决总线传输,地址区分和热插拔问题的技术。 可是就是这么一个简单的东西,让我这个自认为有些经验的单片机开发者浪费了整整五个月!这还是我有比较充分的经验,在一年半前就已经非常了解I2C协议的情况下!这段时间我花了无数的时间在调试,思考,解决问题而没有一丝进展。反复的检查问题,想要的结果死活不出来!昨晚的反思让我今天早上我一大早起来第一件事就是调代码,结果正确出来的时候,眼泪都快出来了。这篇文章,总结下这五个月来的问题,这五个月给我好好的上了一课。 五个月前,初步规划方案阶段: 我做的体感项目发展到了第四代,为了尽可能的减少尺寸
[单片机]
电设工作小结之——MSP430G2553学习笔记——1
把这几天的工作做一个小结: 第一版 MSP430G2553学习笔记 Created on: 2012-8-18 Author: zhang bin 学习笔记 for msp430g2553 redesigned by zhang bin 2012-08-18 versions :12_08_01 一,MSP430G2553单片机的各个功能模块 (一),IO口模块, 1,我们所用的MSP430G2553有两组IO口,P1和P2。 2,IO口的寄存器有:方向选择寄存器PxDIR,输出寄存器PxOUT,输入寄存器PxIN,IO口内部上拉或下拉电阻
[单片机]
液晶12864(st7920控制器)MSP430f149驱动
//mcumsp430f149// //晶振内部dco// //p43rs// //p42r/w// //p41e// //p40rst// //p30-p37db// //===========================================================================// #include /*************************/ #defineUcharunsignedchar #defineUintunsignedint #defineUlongunsignedlong Ucharbusy,hang,lie; /***********************
[单片机]
基于MSP430F的车体调平装置的设计与实现
随着国防技术的发展,根据任务需求,越来越多的军用武器需要随时变更工作地点。为了保证这些军用武器的机动性能,往往以载车为运输载体,如火箭炮这样的大型武器就被安装在载车上。载车到达目的地后,借助平台快速将武器架设调至水平而后工作,工作完成后平台能够快速地撤收、转移。既保证了武器的工作性能,又提高了机动性。 传统上,主要依靠人工手动完成平台的水平度调节,这需要一部分人员手动调节千斤顶,另外一部分人员观察水平仪的水泡位置。这种调平方式费时费力,且精度低、抗倾覆能力差。随着调平时间和调平精度要求的提高,过去的调平方式已远远不能满足实际情况的需要,所需时间短、精度高、抗倾覆能力强的自动调平控制技术应运而生。 在军用方面,自动调平控制系统广
[单片机]
基于<font color='red'>MSP430</font>F的车体调平装置的设计与实现
三分钟带你了解MSP430F249硬件I2C查询法读写AT24C02
/****************************************************************** ** ** File : I2C.c “ Master Read Write | ** Version : 1.0 ** DescripTIon: I2C 查询法读写24C02 ** Author : LightWu ** Date : 2013-4-26 ** 必须注意多字节数据读取时,发送停止位需要在最后一个字节读取之前 ** 否则数据读取后,停止位发送容易失败,导致从机接收不到停止位。 *****************************************************
[单片机]
三分钟带你了解<font color='red'>MSP430</font>F249硬件I2C查询法读写AT24C02
MSP430学习笔记——USART
MSP430F149有两个USART通讯端口,其性能完全一样,每个通讯口可通过RS232和RS485等芯片转换,与之相应的串行接口电路通讯。MSP430F149支持串行异步和同步通讯,每种方式都具有独立的帧格式和独立的控制寄存器。 USART异步通信 MSP430串行异步通信模式通过两个引脚:接收引脚URXD和发送引脚UTXD与外界相连。异步帧格式由一个起始位,7或8个数据位,校验位(奇/偶/无),1个地址位,和1或2个停止位。从最低位开始发送和接收。异步模式下,传送数据以字符为单位。 在异步模式下,USART支持两种多机模式,即线路空闲和地址位多机模式。 (1)线路空闲多机模式: 在这种模式下,数据块被空闲时间
[单片机]
<font color='red'>MSP430</font>学习笔记——USART
基于MSP430F133的电子镇流器综合测试仪
引言 电子节能灯是走进千家万户的产品,提高它的品质对于提倡节能的现代化建设有重要意义,对于生产企业则是增强产品竞争力的必由途径,电子节能灯实现节能的主要原理是以电子镇流器代替传播电感镇流器,提高电子节能灯品质最重要的是要保证电子镇流器的品质,我校受企业的委托研制了本综合测试仪,用于生产过程中的分析,测试电子镇流器的性能。 1 电子镇流器主要测试项目 电子镇流器原理可以简化为图1所示的电路,影响电子镇流器性能的主要指标有:启动阶段的预热灯管电压,预热灯丝电流和预热时间,稳定后的灯管电压、灯管电流、灯丝电流、振荡频率、输入电流、输入功率和功率因素,为此须放置传感器采集输出端的灯管电压,灯丝电流,阴极电路和振荡频率,采集输入端
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
502 Bad Gateway

502 Bad Gateway


openresty
设计资源 培训 开发板 精华推荐

502 Bad Gateway

502 Bad Gateway


openresty
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
随便看看
    502 Bad Gateway

    502 Bad Gateway


    openresty
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
502 Bad Gateway

502 Bad Gateway


openresty