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