基于OMAP的無(wú)線傳感網(wǎng)節(jié)點(diǎn)處理器的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
無(wú)線傳感網(wǎng)絡(luò)是計(jì)算技術(shù)、通信技術(shù)和傳感器技術(shù)相結(jié)合的產(chǎn)物。傳感網(wǎng)應(yīng)用場(chǎng)合非常廣泛,節(jié)點(diǎn)也可以搭載不同類型的傳感器。當(dāng)節(jié)點(diǎn)自身搭載的傳感器為震動(dòng)、磁傳感器時(shí),采集到的數(shù)據(jù)量較小,處理簡(jiǎn)單,目前的傳感網(wǎng)節(jié)點(diǎn)(如Mica節(jié)點(diǎn))就可以滿足需要。但當(dāng)節(jié)點(diǎn)集成圖像傳感器、紅外傳感器等大數(shù)據(jù)量傳感器對(duì)傳感數(shù)據(jù)網(wǎng)絡(luò)的實(shí)時(shí)要求相當(dāng)高時(shí),現(xiàn)有的節(jié)點(diǎn)受處理及存儲(chǔ)能力的限制無(wú)法滿足要求。
本文主要分析在設(shè)計(jì)較高處理及存儲(chǔ)能力傳感節(jié)點(diǎn)時(shí),如何滿足傳感網(wǎng)節(jié)點(diǎn)低功耗和高處理能力間的平衡關(guān)系,并介紹基于OMAP處理器的節(jié)點(diǎn)處理器部分的實(shí)現(xiàn)方案。
1 無(wú)線傳感網(wǎng)節(jié)點(diǎn)功耗分析
首先對(duì)節(jié)點(diǎn)各模塊與處理器模塊的功耗關(guān)系進(jìn)行分析。
依照功能,無(wú)線傳感網(wǎng)節(jié)點(diǎn)在硬件上分為數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、無(wú)線收發(fā)模塊、供電模塊。圖1為其節(jié)點(diǎn)示意圖。
圖中虛線表示處理器模塊所涉及的功能,它負(fù)責(zé)數(shù)據(jù)處理模塊的全部工作及數(shù)據(jù)采集模塊與無(wú)線收發(fā)模塊的部分工作。其中數(shù)據(jù)處理模塊主要由處理器與存儲(chǔ)器組成。若處理器不搭配存儲(chǔ)器,則在分析功耗時(shí),只對(duì)處理器模塊進(jìn)行分析即可。
下面對(duì)各模塊進(jìn)行功耗分析。
(1)數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊通過(guò)傳感器采集外界數(shù)據(jù)并存儲(chǔ)。處理器模塊主要是配合傳感器工作,并進(jìn)行數(shù)據(jù)存儲(chǔ)。
(2)數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊是處理器的主要工作模塊。在工作態(tài)內(nèi),處理器模塊的主要工作為數(shù)據(jù)采集、數(shù)據(jù)處理及數(shù)據(jù)傳送。在數(shù)據(jù)處理階段,處理器又負(fù)責(zé)模式識(shí)別、協(xié)議處理以及通信相關(guān)的三類任務(wù)。
在選擇數(shù)據(jù)處理階段的算法時(shí),應(yīng)考慮功耗問(wèn)題。在達(dá)到系統(tǒng)要求的情況下,算法應(yīng)盡可能簡(jiǎn)化。
值得注意的是:選擇簡(jiǎn)單的通信相關(guān)算法可能使接收部分的性能下降,只能通過(guò)增加無(wú)線收發(fā)模塊的發(fā)射能量來(lái)補(bǔ)償,使整個(gè)節(jié)點(diǎn)的功耗增加。
該模塊的設(shè)計(jì)原則:①數(shù)據(jù)處理部分軟件盡量簡(jiǎn)化;②工作態(tài)和待機(jī)態(tài)功耗應(yīng)盡量降低;③通信相關(guān)的算法會(huì)影響到無(wú)線收發(fā)模塊的功耗,應(yīng)整體考慮后再選擇。
(3)無(wú)線收發(fā)模塊
由于無(wú)線收發(fā)模塊工作時(shí)需要處理器配合,將數(shù)據(jù)與無(wú)線收發(fā)模塊交互。因此工作時(shí)間內(nèi),必須考慮處理器模塊的功耗。
以上分析了無(wú)線傳感網(wǎng)節(jié)點(diǎn)中的各個(gè)模塊在工作態(tài)時(shí)與處理器模塊的關(guān)系。下面利用上述結(jié)論,針對(duì)基于OMAP芯片的節(jié)點(diǎn)處理器的設(shè)計(jì)進(jìn)行具體分析。
2 基于OMAP的節(jié)點(diǎn)處理器的低功耗設(shè)計(jì)
2.1 功耗與處理主頻的關(guān)系
下面根據(jù)OMAP5912的電流/處理速率比分析節(jié)點(diǎn)的功耗與處理器主頻的關(guān)系。OMAP為雙核處理器,對(duì)兩個(gè)核的功耗、計(jì)算能力要分別考慮。
2.1.1 OMAP內(nèi)部雙核間的任務(wù)分配
OMAP5912中的DSP核為C5x系列的5510,ARM核為ARM926EJ。其中DSP核有內(nèi)部乘加器且具有并行執(zhí)行語(yǔ)句的特點(diǎn),在進(jìn)行大數(shù)據(jù)量的數(shù)值運(yùn)算時(shí)效率極高。以FFT為例,1024點(diǎn)的FFT程序在ARM端的計(jì)算量約為1M條指令,在ARM核現(xiàn)有的流水線機(jī)制下,要花費(fèi)1M指令周期。而在DSP核中運(yùn)算時(shí),由于程序可根據(jù)DSP內(nèi)部的硬件結(jié)構(gòu)優(yōu)化,整個(gè)運(yùn)算只消耗40K指令周期。所以主要的數(shù)值處理計(jì)算應(yīng)該在OMAP內(nèi)部的DSP核內(nèi)計(jì)算,而ARM核負(fù)責(zé)處理協(xié)議上層邏輯性較強(qiáng)的部分。
2.1.2 OMAP核的電流/主頻比
芯片的電流消耗與其運(yùn)行的主頻成線性關(guān)系,工作頻率越高,電流就越大。
根據(jù)實(shí)測(cè)值,OMAP內(nèi)部DSP核的電流值與DSP主頻的關(guān)系約為:
IDSP=(25+0.3×FDSP)mA (1)
其內(nèi)部ARM核的電流值與ARM核主頻的關(guān)系約為:
IARM=(20+0.2×FARM)mA (2)
兩個(gè)核的電流/頻率示意圖如圖2所示。
由圖2可知:DSP核的功耗略大于ARM核的功耗,而且主頻越高越明顯。
2.1.3 OMAP核工作頻率的選擇
下面介紹OMAP兩個(gè)核工作頻率的選擇。此處引入一個(gè)變量M,代表一個(gè)處理器完成某項(xiàng)運(yùn)算所需要的指令周期數(shù)。
(1)DSP核的頻率選擇分析
設(shè)DSP核所承擔(dān)的任務(wù)共需要MDSP,則DSP核完成此工作所消耗的能量為:
EDSP=Pworking×Tworking
=(VDSP×MDSP×0.3+VDSP×MDSP×25/FDSP)mJ (3)
對(duì)式(3)求EDSP對(duì)FDSP的導(dǎo)數(shù)得:
EDSP′=-VDSP×MDSP×25/(FDSP)2(4)
由于FDSP∈(0MHz,192MHz],在此區(qū)間內(nèi)EDSP′≠0,即函數(shù)無(wú)極值。由于EDSP′<0,所以當(dāng)FDSP=192MHz時(shí),EDSP得到最小值:
EDSP_min=(VDSP×MDSP×0.43)mJ (5)
(2)ARM核的頻率選擇分析
進(jìn)行類似上面的分析,并滿足剛好在TDSP_pro時(shí)間內(nèi)完成MARM的運(yùn)算量處理時(shí),ARM的能耗EARM最小。
此時(shí):FARM=FDSP×MARM/MDSP(6)
(3)工作頻率選擇的結(jié)論
①在消耗能量最少的原則下,當(dāng)DSP核運(yùn)算時(shí),應(yīng)選擇全速運(yùn)行。運(yùn)算結(jié)束后,馬上由ARM核將其轉(zhuǎn)入被動(dòng)模式。
ARM核根據(jù)選擇的算法,估算MDSP與MARM的關(guān)系,根據(jù)式(7)進(jìn)行具體計(jì)算。
②在采集數(shù)據(jù)和數(shù)據(jù)傳遞階段,應(yīng)盡量選擇低主頻,以達(dá)到功耗最低的目的。
2.1.4 節(jié)點(diǎn)方案中各狀態(tài)的設(shè)計(jì)
根據(jù)節(jié)點(diǎn)處理器模塊的狀態(tài),分為待機(jī)狀態(tài)和工作狀態(tài)。其中工作狀態(tài)又根據(jù)功能的不同分為數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)傳送三個(gè)階段。
各狀態(tài)的轉(zhuǎn)換關(guān)系如圖3所示。
當(dāng)節(jié)點(diǎn)處于各狀態(tài)時(shí),處理器的主頻及任務(wù)如下:
(1)節(jié)點(diǎn)待機(jī)態(tài)時(shí),處理器內(nèi)部ARM核及DSP核處于睡眠狀態(tài)。
(2)數(shù)據(jù)采集階段時(shí),處理器內(nèi)部的ARM核處于工作狀態(tài),F(xiàn)ARM=2MHz;DSP核處于睡眠狀態(tài)。
處理器模塊的任務(wù):ARM核將A/D從傳感器處采集到的數(shù)據(jù)讀入內(nèi)部存儲(chǔ)區(qū)。
(3)數(shù)據(jù)處理階段時(shí),處理器中ARM核處于工作狀態(tài),F(xiàn)ARM=2MHz;DSP核處于工作狀態(tài),F(xiàn)DSP=192MHz。
處理器模塊的任務(wù):ARM核協(xié)議處理,包括組幀、解幀。DSP核的模式識(shí)別中待發(fā)送的數(shù)據(jù)量為320bit;圖像壓縮中待發(fā)送的數(shù)據(jù)量為95Kbit。與通信相關(guān)的處理包括調(diào)制解調(diào)、信道編解碼。
(4)數(shù)據(jù)傳送階段時(shí),處理器內(nèi)部ARM核處于工作狀態(tài)FARM=2MHz,DSP核處于睡眠狀態(tài)。
處理器模塊的任務(wù)是配合無(wú)線收發(fā)模塊傳送數(shù)據(jù)。
各工作狀態(tài)耗費(fèi)電流如表1。
2.2 節(jié)點(diǎn)功耗與算法的關(guān)系
2.2.1 算法對(duì)節(jié)點(diǎn)各模塊功耗的影響
(1)處理器模塊
對(duì)整個(gè)處理器模塊,由式(5)、式(6)經(jīng)分析可得:
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)知,主導(dǎo)處理器模塊功耗為MDSP,所以減小MDSP是減少節(jié)點(diǎn)處理器部分功耗最直接的方式。
(2)無(wú)線收發(fā)模塊
降低無(wú)線收發(fā)模塊的功耗,需要在信源階段對(duì)數(shù)據(jù)進(jìn)行模式識(shí)別或壓縮,降低數(shù)據(jù)量以降低數(shù)據(jù)的傳輸時(shí)間;在選擇調(diào)制解調(diào)方案時(shí),應(yīng)選擇可獲得較高數(shù)據(jù)速率并且所需解調(diào)的Eb/N0相對(duì)較低的方案。
2.2.2 節(jié)點(diǎn)算法的選擇
在進(jìn)行算法選擇時(shí)應(yīng)在完成功能的基礎(chǔ)上,選擇可以降低功耗的算法。下面針對(duì)本節(jié)點(diǎn)對(duì)算法選擇進(jìn)行分析,先討論三類算法在節(jié)約功耗條件下的復(fù)雜度。
(1)模式識(shí)別
模式識(shí)別可以處理傳感器采集到的信號(hào),給出一個(gè)對(duì)信號(hào)的判斷結(jié)果,在無(wú)線收發(fā)時(shí)只需要傳送這個(gè)結(jié)果。
經(jīng)過(guò)一次模式識(shí)別,數(shù)據(jù)量可從1K個(gè)8位采樣點(diǎn)降到1個(gè)16位的word。當(dāng)設(shè)發(fā)送數(shù)據(jù)速率為20kbps時(shí),采用BPSK,(2,1,5)卷積編碼的方案,發(fā)射傳輸時(shí)間由160ms降低到0.8ms。由于實(shí)際發(fā)送時(shí)需要對(duì)數(shù)據(jù)進(jìn)行組幀,所以傳輸時(shí)間大概為5ms。若以節(jié)省功耗為標(biāo)準(zhǔn),則:
ERF_save>EPRO_use
-〉VRF×40×160>VARM(0.53×MDSP+0.2×MARM)(9)
-〉40×160>0.53×MDSP
-〉MDSP<12
即只要選擇的算法低于12M個(gè)指令周期就可以節(jié)省能量。
模式識(shí)別的計(jì)算量主要集中在特征值的提取上,比較有代表性的算法為基于功率譜(512點(diǎn)FFT)的算法或基于小波分析(db6)的算法。兩種算法的運(yùn)算量與在DSP內(nèi)處理的時(shí)間如表2。
由于在傳感網(wǎng)節(jié)點(diǎn)中對(duì)功耗的要求更為嚴(yán)格,所以選擇基于功率譜分析的算法。在實(shí)現(xiàn)時(shí)利用55核的硬件特性,可降至22K個(gè)周期數(shù),1毫秒就可處理完畢。
(2)圖像壓縮
節(jié)點(diǎn)傳輸圖像時(shí)必須進(jìn)行圖像壓縮,一幅320×240的BMP圖像約1.8Mbit,在基本不損失信息的情況下可壓縮至95Kbit。Mcompression約為135 290M條指令周期,而對(duì)其壓縮后,在算法未優(yōu)化的情況下計(jì)算量約為120K條指令周期,遠(yuǎn)遠(yuǎn)小于Mcompression。這同時(shí)也說(shuō)明,在傳感網(wǎng)節(jié)點(diǎn)中傳遞圖像時(shí),主要能耗集中在無(wú)線收發(fā)模塊。此時(shí)提高數(shù)據(jù)速率是必須的,因?yàn)樘岣咚俾什⒉粫?huì)使無(wú)線收發(fā)模塊的功耗上升,卻可以減少發(fā)送時(shí)間以節(jié)約能量。
故模式識(shí)別與圖像壓縮是無(wú)線傳感網(wǎng)節(jié)點(diǎn)內(nèi)必不可少的,算法選擇時(shí)壓縮比是比復(fù)雜度更重要的選擇依據(jù)。
(3)通信相關(guān)
①編碼方式
為了在一定的誤碼率下達(dá)到低功率傳輸,需要采用FEC編碼減少差錯(cuò)概率。卷積編碼是目前應(yīng)用最廣泛的編碼方式,表3為對(duì)1Kbit數(shù)據(jù)采用不同參數(shù)的卷積編碼時(shí)的譯碼運(yùn)算量與編碼后長(zhǎng)度的比較。
分析圖4可知,(2,1,7)比(2,1,3)的卷積編碼性能提升了2dB以上,而(2,1,9)相比(2,1,7)卻只提高了不到1dB。在處理時(shí)間上,(2,1,9)即使在程序經(jīng)過(guò)優(yōu)化后的處理時(shí)間為75毫秒,占處理器模塊中DSP核處理時(shí)間的90%以上。所以選擇性能接近但運(yùn)算量卻低很多的(2,1,7)的卷積編碼。
②調(diào)制方式
傳感網(wǎng)的信號(hào)經(jīng)過(guò)無(wú)線信道時(shí)一般不采用高階調(diào)制。在QPSK和BPSK的選擇上,由于QPSK可以同時(shí)在IQ兩路傳輸數(shù)據(jù),使無(wú)線收發(fā)模塊的Tworking減少1/2,從而減少功耗。這樣數(shù)據(jù)的傳輸速率為40kbps。
各算法耗費(fèi)時(shí)間如表4。
2.3 與現(xiàn)有節(jié)點(diǎn)的比較
現(xiàn)將本節(jié)點(diǎn)處理器模塊與現(xiàn)有節(jié)點(diǎn)處理器模塊在以模式識(shí)別的應(yīng)用中進(jìn)行比較,對(duì)1K數(shù)據(jù)進(jìn)行模式識(shí)別及編解碼所消耗的計(jì)算周期如下:
普通MCU計(jì)算周期:6.4M指令周期
OMAP5912計(jì)算周期:1.1M指令周期
由此可得進(jìn)行1000次的上述處理所需要的時(shí)間及消耗的電流如表5。
通過(guò)對(duì)比可以看出,本節(jié)點(diǎn)處理器模塊在處理相同計(jì)算量的運(yùn)算時(shí),所耗費(fèi)的時(shí)間遠(yuǎn)小于現(xiàn)有的節(jié)點(diǎn),而所消耗的電流也在現(xiàn)有節(jié)點(diǎn)中較小。因此證明本節(jié)點(diǎn)處理器模塊在現(xiàn)有節(jié)點(diǎn)中是最適合大數(shù)據(jù)量處理的。
參考文獻(xiàn)
[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.