無線傳感網絡是計算技術、通信技術和傳感器技術相結合的產物。傳感網應用場合非常廣泛,節點也可以搭載不同類型的傳感器。當節點自身搭載的傳感器為震動、磁傳感器時,采集到的數據量較小,處理簡單,目前的傳感網節點(如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′ 當節點處于各狀態時,處理器的主頻及任務如下: (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。 由式(8)知,主導處理器模塊功耗為MDSP,所以減小MDSP是減少節點處理器部分功耗最直接的方式。 降低無線收發模塊的功耗,需要在信源階段對數據進行模式識別或壓縮,降低數據量以降低數據的傳輸時間;在選擇調制解調方案時,應選擇可獲得較高數據速率并且所需解調的Eb/N0相對較低的方案。 在進行算法選擇時應在完成功能的基礎上,選擇可以降低功耗的算法。下面針對本節點對算法選擇進行分析,先討論三類算法在節約功耗條件下的復雜度。 模式識別可以處理傳感器采集到的信號,給出一個對信號的判斷結果,在無線收發時只需要傳送這個結果。 經過一次模式識別,數據量可從1K個8位采樣點降到1個16位的word。當設發送數據速率為20kbps時,采用BPSK,(2,1,5)卷積編碼的方案,發射傳輸時間由160ms降低到0.8ms。由于實際發送時需要對數據進行組幀,所以傳輸時間大概為5ms。若以節省功耗為標準,則: 即只要選擇的算法低于12M個指令周期就可以節省能量。 模式識別的計算量主要集中在特征值的提取上,比較有代表性的算法的算法。兩種算法的運算量與在DSP內處理的時間如表2。 由于在傳感網節點中對功耗的要求更為嚴格,所以選擇基于功率譜分析的算法。在實現時利用55核的硬件特性,可降至22K個周期數,1毫秒就可處理完畢。 節點傳輸圖像時必須進行圖像壓縮,一幅320×240的BMP圖像約1.8Mbit,在基本不損失信息的情況下可壓縮至95Kbit。Mcompression約為135 290M條指令周期,而對其壓縮后,在算法未優化的情況下計算量約為120K條指令周期,遠遠小于Mcompression。這同時也說明,在傳感網節點中傳遞圖像時,主要能耗集中在無線收發模塊。此時提高數據速率是必須的,因為提高速率并不會使無線收發模塊的功耗上升,卻可以減少發送時間以節約能量。 故模式識別與圖像壓縮是無線傳感網節點內必不可少的,算法選擇時壓縮比是比復雜度更重要的選擇依據。 為了在一定的誤碼率下達到低功率傳輸,需要采用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。 由此可得進行1000次的上述處理所需要的時間及消耗的電流如表5。 通過對比可以看出,本節點處理器模塊在處理相同計算量的運算時,所耗費的時間遠小于現有的節點,而所消耗的電流也在現有節點中較小。因此證明本節點處理器模塊在現有節點中是最適合大數據量處理的。 |