1. 引言
無線傳感器網(wǎng)絡(luò)(WSNs)集成了傳感器技術(shù),嵌入式計算技術(shù),無線網(wǎng)絡(luò)通信技術(shù),分布式信息處理技術(shù)以及微機電技術(shù),是當前的一個研究熱點。無線傳感器網(wǎng)絡(luò)可以在廣泛的應(yīng)用領(lǐng) 域內(nèi)實現(xiàn)復雜的監(jiān)測和追蹤任務(wù),是一種隨機分布的集成傳感器,數(shù)據(jù)處理單元和通信的微小節(jié)點,通過自組織的方式構(gòu)成的無線網(wǎng)絡(luò)。無線傳感器網(wǎng)絡(luò)節(jié)點一般包括傳感單元,嵌入式處理單元,無線通信單元以及電源自供電系統(tǒng),定位系統(tǒng)等。作為一種特殊的Ad hoc,它除了動態(tài)拓撲,自組織,多跳路由,帶寬受限等,還具有其一個極為顯著的特征:對于能量的限制。所以,網(wǎng)絡(luò)節(jié)點具有低功耗,低成本和小體積的特點。
隨著IC制造工藝的迅速發(fā)展,片上系統(tǒng)(SOC)得到廣泛的應(yīng)用。SOC把系統(tǒng)的處理機制、模型算法、芯片結(jié)構(gòu)、各層次電路及器件的設(shè)計緊密結(jié)合,在一塊芯片上完成了整個系統(tǒng)。它相對于傳統(tǒng)的多IC組成的電子系統(tǒng)有以下幾個優(yōu)勢:低功耗、高可靠性(減少芯片對外管腳數(shù),減少外圍驅(qū)動接口單元與電路板間的信號傳遞,內(nèi)嵌的線路可以避免系統(tǒng)干擾)、高集成度。
本文提出了一種無線傳感器網(wǎng)絡(luò)節(jié)點的SOC解決方案,分析了無線傳感網(wǎng)絡(luò)節(jié)點的體系結(jié)構(gòu),并從系統(tǒng)級,結(jié)構(gòu)級,RTL級及物理設(shè)計幾個方面闡述了無線傳感網(wǎng)絡(luò)節(jié)點芯片的低功耗設(shè)計。
2. SOC片上系統(tǒng)及VLSI低功耗實現(xiàn)
隨著IC制造工藝的迅速發(fā)展,片上系統(tǒng)(SOC)得到廣泛的應(yīng)用。SOC把系統(tǒng)的處理機制、模型算法、芯片結(jié)構(gòu)、各層次電路及器件的設(shè)計緊密結(jié)合,在一片完成了整個復雜的系統(tǒng)。它相對于傳統(tǒng)的多IC組成的電子系統(tǒng)有以下幾個優(yōu)勢:低功耗、可靠性(減少芯片對外管腳數(shù),減少外圍驅(qū)動接口單元與電路板間的信號傳遞,內(nèi)嵌的線路可以避免系統(tǒng)干擾)、高集成度、較少開發(fā)成本、較短的開發(fā)周期。
VLSI低功耗設(shè)計及優(yōu)化是一個非常復雜的問題,一般從下面幾個階段來考慮:
1. 系統(tǒng)設(shè)計階段。在這個階段要從軟硬件協(xié)調(diào)設(shè)計綜合來考慮。在實現(xiàn)應(yīng)用功能的基礎(chǔ)上,來選擇哪些功能由硬件來實現(xiàn),哪些功耗大的操作由軟件來執(zhí)行。同時,在系統(tǒng)設(shè)計,還要考慮硬件本身的電源模式:設(shè)計睡眠模式及喚醒操作。同時采用功耗管理策略,及變電壓技術(shù)。
2. 結(jié)構(gòu)層次。采用總線編碼技術(shù),主要是通過降低翻轉(zhuǎn)活動來降低功耗。采用并行結(jié)構(gòu),用面積換性能的同時,可以把工作頻率降低下來,以降低功耗。采用流水線結(jié)構(gòu),這個方法其實為重定時(retiming)的特例,通過縮短關(guān)鍵路徑,減少路徑上充放電容的數(shù)值,來減少功耗。其它的Retiming(重定時),Unfolding(展開)也可以在算法層次上降低功耗。
3. RTL級。主要通過采用低功耗的綜合流程來降低功耗。在這個階段會加入門控時鐘從而降低動態(tài)翻轉(zhuǎn)率。
4. 物理設(shè)計。采用多電源多閾值電壓單元庫,及低功耗
物理設(shè)計流程及EDA軟件。設(shè)計多電源域,優(yōu)化動態(tài)功耗來降低功耗。在時鐘樹綜合時,在平衡skew的同時,盡量在翻轉(zhuǎn)率較低的節(jié)點插入驅(qū)動。
3. 系統(tǒng)層次上的低功耗設(shè)計
從軟硬件協(xié)調(diào)工作的角度來考慮,設(shè)計出來無線傳感器網(wǎng)絡(luò)節(jié)點結(jié)構(gòu)如圖 1所示。整個系統(tǒng)通過核心單元RISC CPU核來協(xié)調(diào)各子模塊的通信及工作。TRF6903芯片為低功耗低電壓的多頻帶射頻RF收發(fā)芯片,它支持315/433/868/915 Mhz可選頻段,支持跳頻協(xié)議,內(nèi)部完成FSK/OOK調(diào)制,速度可達64kbps。TRF6903低功耗的特點使其適合于電池供電,這與網(wǎng)絡(luò)節(jié)點的低功耗要求是一致的。
基帶處理單元模塊,用來實現(xiàn)基于IEEE 802.15.4協(xié)議的物理層及部分數(shù)據(jù)鏈路層的功能;數(shù)據(jù)鏈路層以上層協(xié)議可以采用軟件實現(xiàn)可以節(jié)省功耗。這是因為復雜的網(wǎng)絡(luò)層,傳輸層,應(yīng)用層如果用硬件實現(xiàn),雖然在速度上會有所提高,但是硬件復雜度也隨之提高,這樣必然帶來功耗的提高。
圖 1無線傳感器網(wǎng)絡(luò)節(jié)點SOC設(shè)計框圖
在系統(tǒng)層次上,RISC CPU核設(shè)計了空閑模式及停止模式,來節(jié)省功耗。RISC CPU核進入空閑模式或停止模式時,CPU內(nèi)部時鐘停止運行,同時內(nèi)部寄存器保持數(shù)據(jù)。
4. 結(jié)構(gòu)層次上的低功耗設(shè)計
通過仔細分析整個SOC芯片的功耗來源,可知RISC CPU核,RAM,F(xiàn)lash及基帶處理模塊占去了絕大部分。下面從結(jié)構(gòu)層次進行低功耗設(shè)計。
4.1 RISC CPU核的低功耗設(shè)計
微處理器的功耗降低可以通過降低頻率,及降低工作電壓的方法來解決。在網(wǎng)絡(luò)節(jié)點SOC結(jié)構(gòu)層次上的設(shè)計中,除了采用慢速時鐘,及低電壓供電的方法,還同時針對數(shù)據(jù)路徑進行優(yōu)化,主要目的是為了減少電路中不必要的翻轉(zhuǎn)。指令譯碼數(shù)據(jù)路徑的優(yōu)化:一般情況下,CPU中所有的執(zhí)行單元直接接在指令譯碼單元后面。一旦有新的譯碼數(shù)據(jù)輸入,與其相連的所有執(zhí)行單元電路也去進行翻轉(zhuǎn),造成不必要的功耗浪費。所以,在不影響時序功能的情況,設(shè)計分離的內(nèi)部總線,將不執(zhí)行的單元輸入數(shù)據(jù)及控制信號鎖存,其輸入信號保持不變,動態(tài)功耗可以減少。芯片內(nèi)部集成了RAM及Flash ROM。為了降低這兩者的功耗,避免不必要的翻轉(zhuǎn),內(nèi)部總線與RAM,F(xiàn)lash 的接口單元設(shè)計鎖存器,這樣的話,只有CPU訪問相應(yīng)的地址時,RAM及Flash內(nèi)部才進行翻轉(zhuǎn)。
4.2基帶處理模塊的低功耗設(shè)計
基帶處理模塊的設(shè)計框圖如圖 2所示;其基于IEEE 802.15.4協(xié)議的物理層幀及數(shù)據(jù)鏈路層幀結(jié)構(gòu)如圖 3所示。從提高cpu的效率和減少功耗角度出發(fā),基帶處理模塊采用中斷方式與CPU通線?;鶐幚砟K發(fā)送完接收FIFO的數(shù)據(jù)幀,向CPU申請發(fā)送中斷,等待CPU寫入新的數(shù)據(jù)到發(fā)送FIFO;當基帶處理模塊接收到TR6903模塊發(fā)來的數(shù)據(jù)幀,存放入接收FIFO中,產(chǎn)生接收中斷等待CPU處理。
圖 2 基帶處理模塊結(jié)構(gòu)框圖
圖 3 物理層及數(shù)據(jù)鏈路層幀結(jié)構(gòu)
基帶處理模塊主要采用并行結(jié)構(gòu)與流水線技術(shù)來降低功耗。發(fā)送功能與接收功能的物理層發(fā)送模塊,緩沖區(qū)都是并行結(jié)構(gòu)。配置模塊也是分開來設(shè)計,數(shù)據(jù)的處理方式也是并行。包處理模塊的中CRC16也是采用并行結(jié)構(gòu)進行校驗的。這樣設(shè)計的好處,是為了在慢時鐘頻率下,通過并行設(shè)計提高性能,達到與高速時速一樣的性能。在圖 2中的各子模塊與子模塊之間都有流水級,也就是鎖存器,不僅僅為了減少不必要的翻轉(zhuǎn),更重要的減少關(guān)鍵路徑上的長度,從而達到間接降低功耗的目的。
?
SFR特殊功能寄存器:1、中斷寄存器。主要有發(fā)送、接收中斷標志、中斷使能位,F(xiàn)IFO溢出標志位,發(fā)送、接收啟位位。2、配置寄存器。CPU 通過寫入SFR寄存器,來選擇TR6903的工作模式,工作速率等。3、狀態(tài)寄存器:存放FIFO的數(shù)據(jù)字節(jié)數(shù)等。
?
包處理模塊:用硬件實現(xiàn)數(shù)據(jù)鏈路層部分功能。發(fā)送模式下,添加可變字節(jié)的前導碼,3位的界定符,1個字節(jié)的幀長,可選的前向糾錯編碼,2個字節(jié)CRC16校驗這些數(shù)據(jù)作為MAC層負載;接收模式下,包處理模塊完成對數(shù)據(jù)包的解包,主要工作為前導碼的檢測,界定符的檢測,可選的1個字節(jié)地址比較,2個字節(jié)的CRC16校驗。
?
配置模塊:配置控制模塊,根據(jù)SFR中相應(yīng)的配置來控制CLK,DATA,STOBE引腳的時序來控制TR6903相應(yīng)的狀態(tài),實現(xiàn)跳頻的功能。
接收物理層模塊:接收控制模塊,實現(xiàn)物理層發(fā)送數(shù)據(jù)的功能。在RX_FLAG信號為高,即檢測界定符之后,在DCLK上升沿時采樣RX_DATA引腳的狀態(tài),依次接收幀長字節(jié),物理層有效負載,2個字節(jié)的CRC16校驗,送給包處理模塊處理,并同時從LEARN/HOLD引腳向TR6903芯片輸出相應(yīng)的高電平,來應(yīng)答接收狀態(tài)。
?
發(fā)送物理層模塊:發(fā)送控制模塊,實現(xiàn)物理層發(fā)送數(shù)據(jù)的功能。在DCLK的上升沿將包處理模塊送來的物理層有效負載發(fā)送出去。
配置TR6903模式下仿真波形如所圖 4示,以串行方式向TR6903寫入6個字節(jié)的配置,改變TR6903工作頻率,實現(xiàn)跳頻。此時在ConfigClock的上升沿時從ConfigData送出10110010,00111010,01010110,00111010,10101010,10110010數(shù)據(jù)。Strobe為高時,ConfigClock停止。發(fā)送物理層幀部分仿真波形如圖 5所示,以串行方式向TR6903發(fā)送物理層的幀。此時,先送出32位的0101…0101同步碼,3個位的界字符111(TR6903檢測到3個時鐘周期以上的高電平),后面緊接是幀長及物理層負載。接收物理層幀部分仿真波形如圖 6所示。TR6903在界定符發(fā)送完畢的最后一位,送出1個時鐘周期高電平RxFlag信號;基帶處理模塊檢測有效高電平,作為有效數(shù)據(jù)幀的開始,同時基帶處理模塊從LH引腳輸出高電平,來響應(yīng)TR6903。
圖 4配置波形
圖 5發(fā)送物理層幀波形
圖 6接收物理層幀波形
5. RTL級及物理設(shè)計的低功耗實現(xiàn)
RTL級物理設(shè)計低功耗實現(xiàn)跟選用的EDA軟件有很大關(guān)系。在0.35um CMOS工藝下,采用synopsys的Design Compiler進行低功耗綜合,布局布線基于Cadence的SOC Encounter平臺。用Cadence的Voltage Storm對其進行門級功耗分析,動態(tài)功耗為103.6617mw。
6. 結(jié)束語
無線傳感器網(wǎng)絡(luò)SOC芯片與傳統(tǒng)的MSP430+TRF6903方案比較起來更有優(yōu)勢,前者在可靠性,功耗,面積方面都更好。此方案在FPGA驗證平臺上驗證成功,設(shè)計的工作頻率為20Mhz,速度傳輸率達到64kbps,滿足了無線傳感器網(wǎng)絡(luò)傳輸速度要求;并在Cadence的數(shù)字后端平臺實現(xiàn)芯片的后端設(shè)計,工作頻率可達到100Mhz。