目前,無線傳感器網(wǎng)絡(luò)硬件平臺(tái)可以按節(jié)點(diǎn)控制器類型、節(jié)點(diǎn)無線通信類型、節(jié)點(diǎn)操作特性等多種方式進(jìn)行分類。由于無線傳感器網(wǎng)絡(luò)主要關(guān)注的是檢測(cè)區(qū)域內(nèi)某一范圍而不是某一個(gè)特定點(diǎn)的狀態(tài)信息,因此按照節(jié)點(diǎn)操作特性來進(jìn)行分類的方法較為科學(xué),它覆蓋了節(jié)點(diǎn)的具體實(shí)現(xiàn)形式。按照這種方法可以將無線傳感器網(wǎng)絡(luò)分為4類:特定傳感器平臺(tái)、通用傳感器平臺(tái)、高帶寬傳感器平臺(tái)和網(wǎng)關(guān)平臺(tái)。
特定傳感器平臺(tái)側(cè)重于節(jié)點(diǎn)的超低功耗和體積的微型化設(shè)計(jì),但同時(shí)也決定了其處理能力和傳輸能力很有限。比如UC Berkeley的Spec[l]就是在2.5 mm×2.5 mm的硅片上集成了處理器、RAM、通信接口和傳感器的一種節(jié)點(diǎn),它靠一個(gè)附帶的微型電池供電可以連續(xù)工作幾年,但在其原型版本中只有單向的通信鏈路;再如由DAR-PA/MTO MEMS program支持UC Berkeley研發(fā)的Smart Dust也是一種超微型的節(jié)點(diǎn),其設(shè)計(jì)目標(biāo)體積是1 mm3左右,由于使用光通信并采用主動(dòng)和被動(dòng)兩種工作模式,其功耗可以進(jìn)一步降低。
通用傳感器平臺(tái)對(duì)體積要求有所放寬,側(cè)重于節(jié)點(diǎn)的可擴(kuò)展性和測(cè)試需求,但同樣對(duì)節(jié)點(diǎn)功耗有較嚴(yán)格的要求,這類平臺(tái)也是目前在實(shí)驗(yàn)研究和產(chǎn)品化中應(yīng)用最多的。該類型中以UC Berkeley的Mica系列節(jié)點(diǎn)為主要代表,主要包括Rene、Mica、Mica2、Mica2dot、Mica-Z等不同版本。
高帶寬傳感器平臺(tái)的主要特點(diǎn)是處理能力強(qiáng)、存儲(chǔ)容量大、接口豐富,其射頻帶寬比前兩種更寬,甚至可以進(jìn)行音視頻信號(hào)的傳遞。該類節(jié)點(diǎn)的典型代表是由Intel公司設(shè)計(jì)的Imote,它采用ARM7TDMI內(nèi)核,可通過藍(lán)牙接口與PDA等設(shè)備連接,由于功能強(qiáng)大,相應(yīng)的系統(tǒng)功耗也有所增加。
網(wǎng)關(guān)平臺(tái)是無線傳感器網(wǎng)絡(luò)中不可缺少的部分,通常它的處理能力和接口帶寬比其他幾類更高。它實(shí)現(xiàn)的是無線傳感器網(wǎng)絡(luò)與其他類型網(wǎng)絡(luò)之間,或者是不同無線傳感器網(wǎng)絡(luò)之間的數(shù)據(jù)交換,由通用接口使用協(xié)議轉(zhuǎn)換功能實(shí)現(xiàn)。
1 網(wǎng)絡(luò)架構(gòu)與節(jié)點(diǎn)設(shè)計(jì)
1.1 網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)
系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)如圖1所示。多個(gè)終端節(jié)點(diǎn)node與匯集節(jié)點(diǎn)sink決定了檢測(cè)區(qū)域的范圍,各節(jié)點(diǎn)監(jiān)測(cè)數(shù)據(jù)通過自組織的多跳路由網(wǎng)絡(luò)傳送至網(wǎng)關(guān)節(jié)點(diǎn)gate;然后通過串行通信接口傳送至網(wǎng)關(guān)計(jì)算機(jī)并接入Internet,遠(yuǎn)程的監(jiān)控終端可以通過Internet獲取監(jiān)控范圍內(nèi)的監(jiān)測(cè)數(shù)據(jù)。
在該網(wǎng)絡(luò)中,網(wǎng)關(guān)接入設(shè)備和監(jiān)控終端均可使用傳統(tǒng)的計(jì)算機(jī)實(shí)現(xiàn),以下主要關(guān)注的是終端節(jié)點(diǎn)、匯集節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)。從數(shù)據(jù)處理強(qiáng)度來看,由于采用的是一種樹狀網(wǎng)絡(luò),所以終端節(jié)點(diǎn)數(shù)據(jù)最少,僅需在特定的檢測(cè)時(shí)獲取數(shù)據(jù)并送出;匯集節(jié)點(diǎn)數(shù)據(jù)量稍大,需要接收多個(gè)終端節(jié)點(diǎn)的數(shù)據(jù)并經(jīng)過初步處理后送至下一匯集節(jié)點(diǎn)或網(wǎng)關(guān)節(jié)點(diǎn);網(wǎng)關(guān)節(jié)點(diǎn)的數(shù)據(jù)量最大,需要接收整個(gè)檢測(cè)區(qū)域內(nèi)的數(shù)據(jù)并經(jīng)過解析、融合、協(xié)議轉(zhuǎn)換等處理后再送入Internet。從能源需求來看,終端節(jié)點(diǎn)能耗最小,匯集節(jié)點(diǎn)次之,但這兩類節(jié)點(diǎn)通常都只能使用自帶的有限能源,一旦耗盡即停止工作;而網(wǎng)關(guān)節(jié)點(diǎn)雖然能耗大,但可以采用外部能源持續(xù)供給,在功耗上可以不作苛刻要求。因此,在全網(wǎng)中主要針對(duì)終端節(jié)點(diǎn)和匯集節(jié)點(diǎn)的能耗作嚴(yán)格要求并在多層次進(jìn)行優(yōu)化,以最大限度地延長(zhǎng)全網(wǎng)的有效工作時(shí)間。
1.2節(jié)點(diǎn)設(shè)計(jì)
由于無線傳感器網(wǎng)絡(luò)是一種典型的自組織網(wǎng)絡(luò),其拓?fù)浣Y(jié)構(gòu)會(huì)隨著節(jié)點(diǎn)的加入、退出或移動(dòng)而改變,各節(jié)點(diǎn)在網(wǎng)絡(luò)中的功能也隨之動(dòng)態(tài)變化,因此在監(jiān)測(cè)區(qū)域中的節(jié)點(diǎn)都應(yīng)具備充當(dāng)終端節(jié)點(diǎn)或匯集節(jié)點(diǎn)的能力。終端節(jié)點(diǎn)和匯集節(jié)點(diǎn)可統(tǒng)稱為“普通節(jié)點(diǎn)”,其硬件結(jié)構(gòu)如圖2所示。
在普通節(jié)點(diǎn)中設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)8位RISC結(jié)構(gòu)低功耗MCU作為系統(tǒng)控制核心,后面會(huì)進(jìn)行詳細(xì)介紹;存儲(chǔ)器SST29VE020用作外部程序存儲(chǔ)器,容量為256 KB;A/D轉(zhuǎn)換器MAX152用于將外部傳感器經(jīng)調(diào)理后的電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào);射頻收發(fā)模塊使用Chipcon公司支持ZigBee協(xié)議的CC2420[2]。網(wǎng)關(guān)節(jié)點(diǎn)與普通節(jié)點(diǎn)從結(jié)構(gòu)上看是類似的,只是工作環(huán)境不同且功能需求有所增加,可由普通節(jié)點(diǎn)擴(kuò)展實(shí)現(xiàn)。
2 8位RISC結(jié)構(gòu)低功耗MCU設(shè)計(jì)
在現(xiàn)有的各類無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)硬件設(shè)計(jì)中都采用的是嵌入式領(lǐng)域廣泛應(yīng)用的一些通用處理器單元,而沒有針對(duì)無線傳感器網(wǎng)絡(luò)應(yīng)用開發(fā)專用的控制核心,因而節(jié)點(diǎn)設(shè)計(jì)中會(huì)受到體積、功耗、接口、資源等方面的限制,甚至在某些設(shè)計(jì)中還存在資源浪費(fèi)的情況。這對(duì)節(jié)點(diǎn)的低功耗、微型化設(shè)計(jì)非常不利,因此在本設(shè)計(jì)中自行設(shè)計(jì)并實(shí)現(xiàn)了一種8位RISC結(jié)構(gòu)低功耗MCU,作為節(jié)點(diǎn)控制核心。
2.1 MCU結(jié)構(gòu)設(shè)計(jì)
MCU硬件結(jié)構(gòu)如圖3所示。在該設(shè)計(jì)中MCU采用了與ELAN公司EM78系列MCU指令集兼容的形式,完成原型開發(fā)。CPU采用兩級(jí)流水,使用兩相時(shí)鐘控制完成預(yù)取指操作,在跳轉(zhuǎn)指令后自動(dòng)加入一條空操作指令NOP完成對(duì)轉(zhuǎn)移類操作的控制。目前在同等總線時(shí)鐘頻率的情況下,該CPU的操作速度比EM78系列MCU快一倍。
MCU外部程序存儲(chǔ)器采用256K×8位結(jié)構(gòu),實(shí)際使用時(shí)由相鄰奇偶地址單元構(gòu)成128K×16位形式,以滿足13位寬度指令集的需求。用于取指操作的寄存器R2(PC)為17位寬,其中高7位用作程序存儲(chǔ)器128個(gè)頁面的尋址;低10位用于頁內(nèi)尋址;寄存器R5存儲(chǔ)當(dāng)前工作頁面地址,由指令解碼器判定并操作向R2的傳遞。這種尋址方式有利于物理結(jié)構(gòu)上同樣采用分頁形式的Flash存儲(chǔ)器的操作。
MCU片內(nèi)存儲(chǔ)器包括4 KB數(shù)據(jù)RAM、128字節(jié)通用寄存器RAM以及其他特殊寄存器。為縮小CPU的直接尋址范圍和滿足固定短字長(zhǎng)指令集的使用,各存儲(chǔ)器采用了分頁、分塊和映像的統(tǒng)一組織方式。特殊寄存器包括MCU各模塊寄存器和I/O寄存器,共分為6頁,每頁最大16字節(jié),使用寄存器R3進(jìn)行頁面的切換操作;由于寄存器并不完全占用所有地址空間,暫缺的部分留作以后擴(kuò)展。128字節(jié)通用寄存器RAM分為4個(gè)塊,每塊32字節(jié),使用寄存器R4進(jìn)行塊切換操作,雖然進(jìn)行了分塊但仍然設(shè)計(jì)了直接和間接兩種尋址方式,提高了其操作靈活度。該部分空間主要由程序中變量使用,而分塊的結(jié)構(gòu)在節(jié)省地址空間的同時(shí)也增強(qiáng)了各函數(shù)變量間的保護(hù)機(jī)制,有利于嵌入式操作系統(tǒng)的應(yīng)用。4 KB數(shù)據(jù)RAM被映像到分頁的數(shù)據(jù)寄存器之中,通過16位寬的地址接口和8位寬的數(shù)據(jù)接口進(jìn)行存取操作,極大地縮小了直接尋址空間。目前這種存儲(chǔ)器組織方式雖然會(huì)增加一些數(shù)據(jù)存取的開銷,但在運(yùn)算負(fù)荷并不重的節(jié)點(diǎn)系統(tǒng)中使用不會(huì)影響其性能,并且可以在編譯器層次針對(duì)這種結(jié)構(gòu)對(duì)代碼進(jìn)行優(yōu)化。這種形式帶來的優(yōu)點(diǎn)是可以簡(jiǎn)化CPU的硬件結(jié)構(gòu),顯著減小節(jié)點(diǎn)體積和降低功耗,從總體上來看對(duì)節(jié)點(diǎn)系統(tǒng)構(gòu)造是有利的。
MCU中共有8個(gè)外部中斷源和5個(gè)內(nèi)部中斷源。8個(gè)外部中斷源與端口PORT7復(fù)用引腳,并可以設(shè)定上升沿或下降沿觸發(fā)模式,以滿足不同外設(shè)接口的需要。5個(gè)內(nèi)部中斷源分別來自TCC、COUNTER1、COUNTER2、UART和SPI模塊。TCC模塊可利用外部時(shí)鐘進(jìn)行計(jì)時(shí)操作,為操作系統(tǒng)進(jìn)行時(shí)間片的劃分提供基本硬件支持;COUNTER1和COUNTER2采用內(nèi)部總線時(shí)鐘計(jì)數(shù),除基本的計(jì)數(shù)和定時(shí)功能外,還可將其與外部中斷引腳配合實(shí)現(xiàn)輸入捕捉或輸出比較功能;UART和SPI模塊的中斷主要用于通信服務(wù)程序。
2.2 設(shè)計(jì)中的低功耗考慮
由于無線傳感器網(wǎng)絡(luò)的應(yīng)用特點(diǎn)決定其設(shè)計(jì)必須圍繞低功耗進(jìn)行,因此作為節(jié)點(diǎn)控制核心的MCU的低功耗設(shè)計(jì)也相當(dāng)重要。在設(shè)計(jì)中從系統(tǒng)層次和邏輯層次的三個(gè)方面進(jìn)行低功耗考慮:工作電壓、時(shí)鐘控制和電路規(guī)模。工作電壓主要與芯片制造工藝相關(guān),目前選用3.3 V工作電壓以O(shè).18μm CMOS工藝設(shè)計(jì),由于制造工藝環(huán)節(jié)不在我們的可控范圍內(nèi),故在此不作更多討論。
在時(shí)鐘控制方面主要使用了門控時(shí)鐘、兩相時(shí)鐘流水和休眠喚醒機(jī)制。門控時(shí)鐘主要采用使能信號(hào)控制各獨(dú)立模塊和電路的時(shí)鐘信號(hào)來源,以靈活地開啟和關(guān)閉各觸發(fā)器的翻轉(zhuǎn)來達(dá)到降低功耗的目的。兩相時(shí)鐘流水主要用于提高CPU的順序取指執(zhí)行速度,采用這種方式可以在同等總線時(shí)鐘和同樣工作負(fù)荷的情況下縮短CPU的工作時(shí)間,從系統(tǒng)層次來看減小了CPU的工作占空比,從而降低功耗。休眠喚醒機(jī)制的基本原理是關(guān)閉系統(tǒng)中暫時(shí)不使用的部分甚至是CPU的核心模塊,以降低系統(tǒng)總體的能源消耗。在該MCU中設(shè)計(jì)了全速工作模式working和兩種低功耗休眠模式sleep1、sleep2,如圖4所示。這兩種休眠模式下都會(huì)關(guān)閉系統(tǒng)主時(shí)鐘,但其喚醒方式和程序運(yùn)行模式有所不同。
通過執(zhí)行SLEP指令即可將MCU切換至sLeep1模式。在進(jìn)入該模式前需要啟用看門狗電路以使看門狗復(fù)位或外部復(fù)位信號(hào)恢復(fù)工作狀態(tài);恢復(fù)working模式后系統(tǒng)重啟并重新開始執(zhí)行程序,以前的信息將會(huì)丟失。這種方式適合于系統(tǒng)長(zhǎng)時(shí)間休眠且喚醒后系統(tǒng)重新工作的情況。要進(jìn)入sleep2模式只需將寄存器RA中的SLPC位置位。該模式與sleep1的主要區(qū)別是可以使用中斷信號(hào)喚醒CPU并且繼續(xù)執(zhí)行休眠前的程序,不會(huì)丟失任何信息。這種方式在無線傳感器網(wǎng)絡(luò)中大量使用,因?yàn)镸CU工作的時(shí)間遠(yuǎn)遠(yuǎn)小于節(jié)點(diǎn)信息采集和系統(tǒng)組網(wǎng)等操作的時(shí)間間隔,所以在操作系統(tǒng)中即可充分利用這種模式以降低MCU的工作占空比。
在電路規(guī)模方面采用了RISC架構(gòu)設(shè)計(jì),該CPU共支持58條精簡(jiǎn)指令,每條指令固定為13位長(zhǎng)度,有效減小了CPU核的規(guī)模和存儲(chǔ)體系規(guī)模。位于MCU中的其他接口功能模塊采用了獨(dú)立IP的組成形式,可以根據(jù)需求很方便地進(jìn)行功能裁減,以達(dá)到對(duì)嵌入式環(huán)境的最佳適應(yīng)。
3 平臺(tái)的實(shí)現(xiàn)
3.1 節(jié)點(diǎn)的實(shí)現(xiàn)
在該設(shè)計(jì)中已使用FPGA平臺(tái)對(duì)自行設(shè)計(jì)的MCU進(jìn)行了驗(yàn)證,并采用O.18μm CMOS工藝進(jìn)行了后端設(shè)計(jì)、仿真并投片,達(dá)到了設(shè)計(jì)要求。目前的設(shè)計(jì)中MCU共占用了3 mm×3 mm的硅片面積,但實(shí)際的邏輯及存儲(chǔ)部分僅占1/3左右,主要原因是保留了較多暫時(shí)未用的引腳及測(cè)試引腳,增加了設(shè)計(jì)周長(zhǎng)。在原型版本的節(jié)點(diǎn)中A/D轉(zhuǎn)換模塊采用了商用芯片MAX152,同時(shí)還設(shè)計(jì)了與之兼容的A/D電路并與MCU一同投片,將在后期版本中進(jìn)行混合信號(hào)設(shè)計(jì)從而實(shí)現(xiàn)系統(tǒng)集成。
3.2 網(wǎng)絡(luò)構(gòu)造實(shí)現(xiàn)
在該無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)平臺(tái)上成功移植了TinyOS嵌入式操作系統(tǒng),實(shí)現(xiàn)了對(duì)環(huán)境溫度的采集處理、射頻模塊的操作以及多跳自組織網(wǎng)絡(luò)的構(gòu)造,并通過網(wǎng)關(guān)節(jié)點(diǎn)匯集監(jiān)測(cè)區(qū)域信息數(shù)據(jù),利用IPv6網(wǎng)絡(luò)傳遞至監(jiān)控終端,實(shí)現(xiàn)了無線傳感器網(wǎng)絡(luò)的基本功能。
4 小 結(jié)
本設(shè)計(jì)采用了典型的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)架構(gòu),開發(fā)出屬于通用傳感器平臺(tái)類型的原型版本,使用自行設(shè)計(jì)的低功耗MCU實(shí)現(xiàn)了系統(tǒng)集成和微型化。
責(zé)任編輯:gt
-
傳感器
+關(guān)注
關(guān)注
2552文章
51307瀏覽量
755268 -
mcu
+關(guān)注
關(guān)注
146文章
17229瀏覽量
351967 -
無線
+關(guān)注
關(guān)注
31文章
5468瀏覽量
173590
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論