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