基于OMAP的无线传感网节点处理器的设计与实现
扫描二维码
随时随地手机看文章
无线传感网络是计算技术、通信技术和传感器技术相结合的产物。传感网应用场合非常广泛,节点也可以搭载不同类型的传感器。当节点自身搭载的传感器为震动、磁传感器时,采集到的数据量较小,处理简单,目前的传感网节点(如Mica节点)就可以满足需要。但当节点集成图像传感器、红外传感器等大数据量传感器对传感数据网络的实时要求相当高时,现有的节点受处理及存储能力的限制无法满足要求。
本文主要分析在设计较高处理及存储能力传感节点时,如何满足传感网节点低功耗和高处理能力间的平衡关系,并介绍基于OMAP处理器的节点处理器部分的实现方案。
1 无线传感网节点功耗分析
首先对节点各模块与处理器模块的功耗关系进行分析。
依照功能,无线传感网节点在硬件上分为数据采集模块、数据处理模块、无线收发模块、供电模块。图1为其节点示意图。
图中虚线表示处理器模块所涉及的功能,它负责数据处理模块的全部工作及数据采集模块与无线收发模块的部分工作。其中数据处理模块主要由处理器与存储器组成。若处理器不搭配存储器,则在分析功耗时,只对处理器模块进行分析即可。
下面对各模块进行功耗分析。
(1)数据采集模块
数据采集模块通过传感器采集外界数据并存储。处理器模块主要是配合传感器工作,并进行数据存储。
(2)数据处理模块
数据处理模块是处理器的主要工作模块。在工作态内,处理器模块的主要工作为数据采集、数据处理及数据传送。在数据处理阶段,处理器又负责模式识别、协议处理以及通信相关的三类任务。
在选择数据处理阶段的算法时,应考虑功耗问题。在达到系统要求的情况下,算法应尽可能简化。
值得注意的是:选择简单的通信相关算法可能使接收部分的性能下降,只能通过增加无线收发模块的发射能量来补偿,使整个节点的功耗增加。
该模块的设计原则:①数据处理部分软件尽量简化;②工作态和待机态功耗应尽量降低;③通信相关的算法会影响到无线收发模块的功耗,应整体考虑后再选择。
(3)无线收发模块
由于无线收发模块工作时需要处理器配合,将数据与无线收发模块交互。因此工作时间内,必须考虑处理器模块的功耗。
以上分析了无线传感网节点中的各个模块在工作态时与处理器模块的关系。下面利用上述结论,针对基于OMAP芯片的节点处理器的设计进行具体分析。
2 基于OMAP的节点处理器的低功耗设计
2.1 功耗与处理主频的关系
下面根据OMAP5912的电流/处理速率比分析节点的功耗与处理器主频的关系。OMAP为双核处理器,对两个核的功耗、计算能力要分别考虑。
2.1.1 OMAP内部双核间的任务分配
OMAP5912中的DSP核为C5x系列的5510,ARM核为ARM926EJ。其中DSP核有内部乘加器且具有并行执行语句的特点,在进行大数据量的数值运算时效率极高。以FFT为例,1024点的FFT程序在ARM端的计算量约为1M条指令,在ARM核现有的流水线机制下,要花费1M指令周期。而在DSP核中运算时,由于程序可根据DSP内部的硬件结构优化,整个运算只消耗40K指令周期。所以主要的数值处理计算应该在OMAP内部的DSP核内计算,而ARM核负责处理协议上层逻辑性较强的部分。
2.1.2 OMAP核的电流/主频比
芯片的电流消耗与其运行的主频成线性关系,工作频率越高,电流就越大。
根据实测值,OMAP内部DSP核的电流值与DSP主频的关系约为:
IDSP=(25+0.3×FDSP)mA (1)
其内部ARM核的电流值与ARM核主频的关系约为:
IARM=(20+0.2×FARM)mA (2)
两个核的电流/频率示意图如图2所示。
由图2可知:DSP核的功耗略大于ARM核的功耗,而且主频越高越明显。
2.1.3 OMAP核工作频率的选择
下面介绍OMAP两个核工作频率的选择。此处引入一个变量M,代表一个处理器完成某项运算所需要的指令周期数。
(1)DSP核的频率选择分析
设DSP核所承担的任务共需要MDSP,则DSP核完成此工作所消耗的能量为:
EDSP=Pworking×Tworking
=(VDSP×MDSP×0.3+VDSP×MDSP×25/FDSP)mJ (3)
对式(3)求EDSP对FDSP的导数得:
EDSP′=-VDSP×MDSP×25/(FDSP)2(4)
由于FDSP∈(0MHz,192MHz],在此区间内EDSP′≠0,即函数无极值。由于EDSP′<0,所以当FDSP=192MHz时,EDSP得到最小值:
EDSP_min=(VDSP×MDSP×0.43)mJ (5)
(2)ARM核的频率选择分析
进行类似上面的分析,并满足刚好在TDSP_pro时间内完成MARM的运算量处理时,ARM的能耗EARM最小。
此时:FARM=FDSP×MARM/MDSP(6)
(3)工作频率选择的结论
①在消耗能量最少的原则下,当DSP核运算时,应选择全速运行。运算结束后,马上由ARM核将其转入被动模式。
ARM核根据选择的算法,估算MDSP与MARM的关系,根据式(7)进行具体计算。
②在采集数据和数据传递阶段,应尽量选择低主频,以达到功耗最低的目的。
2.1.4 节点方案中各状态的设计
根据节点处理器模块的状态,分为待机状态和工作状态。其中工作状态又根据功能的不同分为数据采集、数据处理和数据传送三个阶段。
各状态的转换关系如图3所示。
当节点处于各状态时,处理器的主频及任务如下:
(1)节点待机态时,处理器内部ARM核及DSP核处于睡眠状态。
(2)数据采集阶段时,处理器内部的ARM核处于工作状态,FARM=2MHz;DSP核处于睡眠状态。
处理器模块的任务:ARM核将A/D从传感器处采集到的数据读入内部存储区。
(3)数据处理阶段时,处理器中ARM核处于工作状态,FARM=2MHz;DSP核处于工作状态,FDSP=192MHz。
处理器模块的任务:ARM核协议处理,包括组帧、解帧。DSP核的模式识别中待发送的数据量为320bit;图像压缩中待发送的数据量为95Kbit。与通信相关的处理包括调制解调、信道编解码。
(4)数据传送阶段时,处理器内部ARM核处于工作状态FARM=2MHz,DSP核处于睡眠状态。
处理器模块的任务是配合无线收发模块传送数据。
各工作状态耗费电流如表1。
2.2 节点功耗与算法的关系
2.2.1 算法对节点各模块功耗的影响
(1)处理器模块
对整个处理器模块,由式(5)、式(6)经分析可得:
Eproc=EDSP_min+EARM_min
=VDSP×MDSP×0.43+VARM(0.1×MDSP+0.2×MARM) (7)
且VDSP=VARM
Eproc=VARM(0.53×MDSP+0.2×MARM) (8)
由式(8)知,主导处理器模块功耗为MDSP,所以减小MDSP是减少节点处理器部分功耗最直接的方式。
(2)无线收发模块
降低无线收发模块的功耗,需要在信源阶段对数据进行模式识别或压缩,降低数据量以降低数据的传输时间;在选择调制解调方案时,应选择可获得较高数据速率并且所需解调的Eb/N0相对较低的方案。
2.2.2 节点算法的选择
在进行算法选择时应在完成功能的基础上,选择可以降低功耗的算法。下面针对本节点对算法选择进行分析,先讨论三类算法在节约功耗条件下的复杂度。
(1)模式识别
模式识别可以处理传感器采集到的信号,给出一个对信号的判断结果,在无线收发时只需要传送这个结果。
经过一次模式识别,数据量可从1K个8位采样点降到1个16位的word。当设发送数据速率为20kbps时,采用BPSK,(2,1,5)卷积编码的方案,发射传输时间由160ms降低到0.8ms。由于实际发送时需要对数据进行组帧,所以传输时间大概为5ms。若以节省功耗为标准,则:
ERF_save>EPRO_use
-〉VRF×40×160>VARM(0.53×MDSP+0.2×MARM)(9)
-〉40×160>0.53×MDSP
-〉MDSP<12
即只要选择的算法低于12M个指令周期就可以节省能量。
模式识别的计算量主要集中在特征值的提取上,比较有代表性的算法为基于功率谱(512点FFT)的算法或基于小波分析(db6)的算法。两种算法的运算量与在DSP内处理的时间如表2。
由于在传感网节点中对功耗的要求更为严格,所以选择基于功率谱分析的算法。在实现时利用55核的硬件特性,可降至22K个周期数,1毫秒就可处理完毕。
(2)图像压缩
节点传输图像时必须进行图像压缩,一幅320×240的BMP图像约1.8Mbit,在基本不损失信息的情况下可压缩至95Kbit。Mcompression约为135 290M条指令周期,而对其压缩后,在算法未优化的情况下计算量约为120K条指令周期,远远小于Mcompression。这同时也说明,在传感网节点中传递图像时,主要能耗集中在无线收发模块。此时提高数据速率是必须的,因为提高速率并不会使无线收发模块的功耗上升,却可以减少发送时间以节约能量。
故模式识别与图像压缩是无线传感网节点内必不可少的,算法选择时压缩比是比复杂度更重要的选择依据。
(3)通信相关
①编码方式
为了在一定的误码率下达到低功率传输,需要采用FEC编码减少差错概率。卷积编码是目前应用最广泛的编码方式,表3为对1Kbit数据采用不同参数的卷积编码时的译码运算量与编码后长度的比较。
分析图4可知,(2,1,7)比(2,1,3)的卷积编码性能提升了2dB以上,而(2,1,9)相比(2,1,7)却只提高了不到1dB。在处理时间上,(2,1,9)即使在程序经过优化后的处理时间为75毫秒,占处理器模块中DSP核处理时间的90%以上。所以选择性能接近但运算量却低很多的(2,1,7)的卷积编码。
②调制方式
传感网的信号经过无线信道时一般不采用高阶调制。在QPSK和BPSK的选择上,由于QPSK可以同时在IQ两路传输数据,使无线收发模块的Tworking减少1/2,从而减少功耗。这样数据的传输速率为40kbps。
各算法耗费时间如表4。
2.3 与现有节点的比较
现将本节点处理器模块与现有节点处理器模块在以模式识别的应用中进行比较,对1K数据进行模式识别及编解码所消耗的计算周期如下:
普通MCU计算周期:6.4M指令周期
OMAP5912计算周期:1.1M指令周期
由此可得进行1000次的上述处理所需要的时间及消耗的电流如表5。
通过对比可以看出,本节点处理器模块在处理相同计算量的运算时,所耗费的时间远小于现有的节点,而所消耗的电流也在现有节点中较小。因此证明本节点处理器模块在现有节点中是最适合大数据量处理的。
参考文献
[1] HILL J L,CULLER D E.Mica:a wireless platform for deeply embedded networks.Micro IEEE,2002,22(6):12-24
[2] HILL J,CULLER D.A wireless embedded sensor architecture for system-level optimization.Berkeley Technical
Report,2002
[3] POLASTRE J,SZEWCZYK R,CULLER D.Telos:enabling ultra-low power wireless research.Information Processing in Sensor Networks,2005.IPSN 2005.
[4] SHIH E,CHO S H.Physical layer driven protocol and algorithm design for energy-efficient wireless sensor networks.Source International Conference on Mobile Computing and Networking archive.Proceedings of the 7th annual international conference on Mobile computing and networking table of contents Rome Italy,2001.
[5] Crossbow Technology Inc.TelosB Datasheet.Document part Number:6020-009401-REVB.