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