基於OMAP的無線感測網節點處理器的設計與實現
| [日期:2008-7-23] |
來源:電子技術應用 作者:陳 卓,朱 傑,袁曉兵,沈 傑 |
[字型:大 中 小] |
無線感測網路是計算技術、通訊技術和感應器技術相結合的產物。感測網應用場合非常廣泛,節點也可以搭載不同類型的感應器。當節點自身搭載的感應器為震動、磁感應器時,採集到的資料量較小,處理簡單,目前的感測網節點(如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.