微功耗无线通信协议研究

(整期优先)网络出版时间:2018-07-17
/ 3

微功耗无线通信协议研究

钱伟民

(上海电信工程有限公司集成分公司,上海)

摘要:无线传感器网络技术在一些实际的情况要求我们不得不尽可能地去降低能耗,以此来延长无线传感器的使用周期。CC1100是一款由美国TI公司开发的低成本的单片的UHF收发器,为实现低功耗无线应用而专门设计的。CC1100模块可以在没有单片机指令的情况下周期性地从睡眠状态醒来,来进行数据包的监听。通过设计和编程实现了在CC1100上的微功耗无线通信,并且对于其能量消耗进行了测试和分析,验证了其确实具有微功耗的特点。

关键词:微功耗,无线传感器网络,无线唤醒

1.1研究背景及意义

当今世界,移动通信技术是当今世界发展最快、应用最广以及最前沿的通信领域之一。移动通信其最终的目的是实现任何人可以在任何时间、任何地点与其他任何人进行任何方式的通信。可以说他对人类未来的发展和信息共享有着深远的意义和影响。

随着分布式信息处理技术、通信技术、嵌入式计算技术以及传感器技术的高速发展并且日渐成熟,随着计算机运算速度,数据处理以及计算能力的进一步飞跃,存储器容量的飞速增长,融合了二十一世纪信息产业的三大支柱:网络通信技术、传感器技术以及信息处理技术的无线传感器网络应运而生。无线传感器网络的出现引起了极大的关注,它是当今在国际上都备受关注的、由多学科高度交叉的新兴的前沿研究热点领域之一,这一技术被认为是二十一世纪最为重要的技术之一。

无线传感器网络是由大量的具有特定的功能的传感器节点,通过自组织的无线通信方式、相互之间进行信息的传递,协同完成制定功能的智能网络。无线传感器网络结合了嵌入式计算机技术、通信技术、传感器技术、分布式信息处理技术、软件编程技术以及微电子制造技术等许多技术,可以进行实时的感知、监控以及采集网络所监控区域内的各类环境或者是监测对象的即时信息,并且在对所收集到的信息进行处理之后传送给用户的终端。无线传感器网络在工业、农业、交通、安全、军事、医疗以及家庭与办公环境等很多领域都有着非常广泛的应用,它的研究和开发关系到国家安全。经济的发展以及许多其它重要的方面,因而无线传感器网络这一技术拥有广阔的发展前景与巨大的应用价值,这一点已经得到了许多人的认可和重视。国际上,各类机构组织也对无线传感器网络技术以及它的相关研究高度重视,这也从一定程度上大大促进了无线传感器网络的发展和应用,使得无线传感器网络在许多的应用领域里都渐渐地开始发挥其独特而不可取代的作用。

1.2节能的理念和低功耗无线传感器网络

随着社会的不断进步和科技水平的不断发展,现在的人们在追求便捷,高效和舒适的同时也在不断关注我们所生存的环境,其中能源问题就是其中的重要问题之一。节能顾名思义就是尽可能减少能源的消耗量,事实上,节能的概念就是应用技术上要现实可靠、经济方面可行合理、环境以及社会都能够接收的方法,做到有效地利用能源,提高设备和工艺的能量利用率。因此我们在探索新科技和新技术来为我们带来便捷的同时不能忽略节能这一个要素,这样才能使得这一新技术有生命力和发展前景。

另外一方面,像无线传感器网络技术在我们现实的应用中,一些实际的情况要求我们不得不尽可能地去降低能耗,以此来延长无线传感器的使用周期,频繁地去更换收发节点的电源是不可行的。在这样的情况下,就不得不要求我们在设计的时候就考虑到节能这一问题,通过硬件部分的合理选择和软件协议部分的设计来达到无线传感网络低功耗的实现。比如,本人曾经有幸参与到一个燃气无线抄表系统的项目试验中,我们利用自己所设计的无线传感器网络来对我们每家每户居民的燃气表数据进行无线方式的读取,而不用像现在传统的抄表方式那样挨家挨户地敲门入室进行煤气表的读取,这一新型的抄表方式让我们抄表员只需要手持一台抄表仪器就可以快速便捷地和每家每户煤气表上的无线通信模块进行通信,以此来读出即时的表端数据,完成抄表的工作。在这个项目中,我们可以看到抄表员手中的手持机我们可以经常更换电源,而在每家每户煤气表上的无线传感器不可能做到经常更换电池,于是如何有效的利用节能的工作方式来大大地延长传感器的使用时间就成了我们研究的方向,通过实现微功耗的无线传输,我们可以将表端的无线收发模块的使用周期从几个月提高到三年。

2.1无线收发模块CC1100的概述

CC1100是一款由美国TI公司开发的低成本的单片的UHF收发器,为实现低功耗无线应用而专门设计的。其电路主设定为在315MHz、433MHz、868MHz和915MHz的ISM(工业,科学和医学)与SRD(短距离设备)频率波段,也能够容易地设置为300-348MHz、400-464MHz以及800-928MHz的其他频率。

RF收发器里集成了一个高度可以配置的调制解调器。该调制解调器支持各种不同的调制格式,它的数据传输率可以达到500kbps。通过打开集成在调制解调器上前向误差校正选项,可以使得性能得到很大提升。

CC1100为数据包处理、突发数据传输、数据缓冲、连接质量指示、清晰信道评估和电磁波激发提供了广泛的硬件支持。

CC1100芯片采用了0.18μmCMOS工艺,并且集成了功能强大的许多功能模块;其MCU选用ATMEL公司所生产的低功耗AVRAtmega88,在电压1.8V,工作于32kHz时钟的时侯,其工作电流仅为20μA,在掉电模式时,电流为0.5μA,可以说是目前最省电的MCU之一。CC1100作为一款RF芯片,其内部除了一些基本的无线收发模块以外,还包括了MAC层的一些基本部分,具体包括了:

(1)数字化RSSI,可以为我们提供有效的载波场强检测;

(2)低功耗的RC定时器,可以提供收发模块的睡眠定时功能;

(3)交织和纠错,可以改善误码性能;

(4)数据包自动处理,包括了数据自动打包、拆包、地址判断以及CRC校验;

(5)小容量的FIFO存储器。

因此从能耗分层角度来看,它包括了第一能耗层与第二能耗层。

2.2CC1100无线收发模块的无线唤醒功能

CC1100和同样是美国TI公司生产的CC2500无线收发模块都具有无线唤醒(WakeonRadio)的功能,这一功能使得CC1100模块可以在没有单片机指令的情况下周期性地从睡眠状态醒来,来进行数据包的监听。在经过了程序已经设定好的时间长度的这段接收状态之后,芯片将回到睡眠状态,除非,它在这段时间内接收到了信息包。

2.3微功耗点对点无线通信的建立

本微功耗点对点无线通信的模型基本是按照上文所提到的煤气抄表项目的要求所建立的。即发送端为抄表手持机端,而接收端则可以视作为煤气表端,收发模块的无线传感器均采用的是TI公司生产的CC1100低成本低功耗无线收发芯片,而所采用的单片机则是MSP430F2111单片机,收发两端的工作频率是在433MHz。

对于接收端:由于要保证接收端的微功耗的实现,因此接收端一直进行定时从睡眠状态侦听唤醒帧的过程,假如在监听的过程中没有接收到来自发送端的唤醒信号,那么它就进入睡眠状态,直到再次醒来;假如在监听的过程中有发现来自发送端的唤醒信号,那么它就回发一个确认帧给发送端,表示接收端收到发送端的唤醒帧而被唤醒了。

对于发送端:发送端要做的就是连续发送唤醒帧给接收端,在一个唤醒帧发送完之后要进入接收状态,等待来自接收端的确认帧,尽管是连续发送,但是事实上它也是处在不听睡眠醒来发送再睡眠再醒来发送的状态,这样可以降低其功耗。

对于整个的模型建立就如同煤气无线抄表的过程一样,所要做的就是使得收发两端的传感器能够稳定的实现通信和无线唤醒。

2.4接收端和发送端时序的分析和设定

对于接收端和连续发送端的基本通信模型和协议已经在上面建立好了,那么对于各个不同的时序以及他们的长度的设定,其中我们要考虑到很多因素,比如芯片内部所需要的时间,比如芯片和单片机之间进行通信所需要的时间,又要考虑收发双方相互之间发送和接受等待的时间。

(1)发送端发送唤醒序列的时间长度TX和所要发送的字节数和数据包的长度有密切的关系,在我们所设计的点对点通信之中,这一时间长度为2ms。

(2)发送端在发送了唤醒帧之后进入接受状态,这一状态是要接受是否有来自接受端的应答帧,因此它的长度实际上是由接受端发送应答帧的时间长度所决定的,具体涉及到一些抄表的协议规范。

(3)发送端整个的一个发送唤醒帧到接受应答帧然后经过空闲再到发送的这一个时间周期约是5ms,也就是说我们可以把发送端看作一个以5ms为周期的唤醒帧的连发状态。

(4)对于接受端来说,在没有收到唤醒帧的情况下,整个的一个唤醒过程包括睡眠,醒来接受唤醒帧再睡眠这样的一个周期的时间我们将它调整到3s左右。

(5)接受端在每次醒来进行帧听唤醒帧的这段处于接受状态的时间长度我们把它设定在5ms左右,另外从图中我们可以看到事实上,CC1100从睡眠状态到接受状态的切换需要一个启动的时间,经过研究发现这一时间极短,因为我们不考虑它。

2.5点对点微功耗无线通信基于CC1100的实现

由于整个收发程序非常长,设计到很多中断和子程序,因此这里只对接收端和连续发送端的程序的主要流程进行分析。

发送端程序让无线收发芯片进行唤醒帧序列的发送,而后从发送状态切换到接收状态,来监听是否能够收到来自接收端的应答帧。假如收到了应答帧,那么说明接下来它要和接收端进行通信,那么他就停止发送唤醒序列;假如在接收状态时并未收到来自接收端的应答帧,那么发送端则进入空闲状态,等待再次发送唤醒帧序列。假如一直没有收到来自接收端的的应答帧的话,那么这个空闲到发送到接收再到空闲到发送到接收的过程是连续和循环的,也就是使得发送端出于一个连发的模式之中。

对于无线接受端来说,平时它处在睡眠的状态,这样可以使得无线收发芯片CC1100以及单片机MSP430F2111处在非常低的功耗状态,无线收发芯片CC1100定期从睡眠状态醒来进入接受状态来帧听是否有来自发送端的唤醒信号。假如在一个监听的时段内接受到了唤醒信号,那么CC1100则进通过串口唤醒单片机,并且自己进入发送状态,向发送端返回一个应答信号帧;假如在一个监听周期内没有收到来自发送端的唤醒信号,那么它则继续进入睡眠状态。如果始终没有收到来自发送端的唤醒信号的话,那么这个从睡眠到醒来监听再到睡眠的过程是循环的。

为了确保接受端3秒唤醒的稳定性,也就是说3秒钟CC1100就会醒来一次进行数据的帧听,我们通过单片机MSP430F2111与电脑进行串行通信,在上电后对其是否能3秒定时唤醒做了测试,经过长时间的测试,从数十页的数据导出中一一进行检查后发现,CC1100无线收发模块周期性醒来的时间稳定在3秒左右。

2.6对于基于CC1100点对点微功耗无线通信的能耗节省的分析

最后我们有必要对于所设计的点对点微功耗无线通信模块来进行功耗方面的测试和计算,以次来验证达到节能的效果好与坏。通过对接受模块(包括了整个模块,CC1100收发模块以及单片机部分)的数据测量,我们得到以下的参数:

表2.1接受端数据测量

那么在一个无限唤醒周期内的平均电流为:

Iav=(10μA*2.995s+15.3mA*5ms)/3s=0.04mA

假如干电池的容量为2200mAh,那么忽略收发所消耗的能量,无线接收机所能工作的时间长度为:

T=2200mAh/Pav=2200mAh/0.04mA=6.27年

在同等的情况和环境下,如果接收机没有使用无线唤醒的方法,即它一直处于接受状态,那么它所消耗的平均电流为:

I=15.3mA

在这个情况下,同样容量的电池,所能够的使用时间长度为:

T=2200mAh/P=2200mAh/15.3mA=6天

通过上述时间的比较,我们可以很明显地看到我们让接收机使用了无限唤醒的模式之后能够很明显地改善了接受模块的耗电情况,由于无线收发模块CC1100以及单片机在绝大部分的时间里处于睡眠状态,而这一状态又对于能量消耗很小,这样一来,大大地延长了它对于电池的使用周期,效果非常显著。

然而事实上,我们在使用无限唤醒方式的时候,接收机的耗电也并非如此理想,我们在计算时,并没有考虑到它通信所需要的能耗,不可能只有待机而没有通信,所以真正的电池寿命会比计算短一些,这和网络的通信量密切相关。然而在该项目的实际应用过程中,通信的频率相当小,为一个月左右一次,因此对于最终电池使用周期时间长度的影响并不大。

通过基于无线收发模块CC1100的点对点无线通信,成功实现了接受端的无限唤醒的设置和测试,并且经过测试,实现了点对点的微功耗无线通信。通过计算和分析,估算出了接受模块通过干电池供电的使用时间长度,通过与不采用无限唤醒方式的对比,看出了在能耗方面的明显优势。在实现微功耗点对点无线通信的过程中,本文从理论出发,通过对CC1100无线通信芯片的研究,并在接下来基于CC1100上实现微功耗无线通信的过程中,学习和掌握了其编译环境,了解了其工作原理和调试的方法,通过测试和分析,验证了微功耗化在接收模块上的成功实现。其实,在我们的现实生活中还有很多的应用领域,我们可以针对自己不同的需求进行各种微功耗无线通信网络的开发和设计,进而深入地对微功耗无线通信协议这方面进行研究。

参考文献

[1]TI公司,CC1100Datasheetv1.1

[2]TI公司,E.Sybertsen,S.NamtvedtCC1100/CC2500WakeonRadio[R]

[3]HolgerKarl,AndreasWillig(德)著,邱天爽等译.无线传感器网络协议与体系结构[M].北京:电子工业出版社,

[4]宋文王兵周应斌著.无线传感器网络技术与应用.北京:电子工业出版社