無線傳感器網(wǎng)絡(luò)節(jié)點的硬件平臺可擴展研究
掃描二維碼
隨時隨地手機看文章
摘要:為了實現(xiàn)擴展節(jié)點功能、添加硬件部件時可以在現(xiàn)有節(jié)點上直接添加,而無需設(shè)計新的節(jié)點。無線傳感器網(wǎng)絡(luò)節(jié)點的分布式體系結(jié)構(gòu)采用IEEE 1451.2標(biāo)準(zhǔn)中即插即用的構(gòu)造方法,并給出具體_的硬件和軟件實現(xiàn)方法,得到了硬件平臺可擴展的結(jié)論。這樣的節(jié)點具有完全統(tǒng)一的外部接口和多智能體結(jié)構(gòu),并且傳感器模塊能夠即插即用,可以在不同應(yīng)用環(huán)境中,選擇不同的組件自由配置系統(tǒng)。
關(guān)鍵詞:電子數(shù)據(jù)表;多智能體;即插即用;IEEE 1451.2
無線傳感器網(wǎng)絡(luò)是一種由傳感器節(jié)點構(gòu)成的網(wǎng)絡(luò),能夠?qū)崟r地監(jiān)測、感知和采集節(jié)點部署區(qū)內(nèi)的觀察者感興趣的感知對象的各種信息,如光強等,并對這些信息進(jìn)行處理,然后以無線的方式發(fā)送出去,通過無線網(wǎng)絡(luò)最終發(fā)送給觀察者,在軍事偵察、環(huán)境監(jiān)測、醫(yī)療護(hù)理、智能家居及工業(yè)生產(chǎn)控制等領(lǐng)域有著廣闊的應(yīng)用前景。無線傳感器網(wǎng)絡(luò)節(jié)點的傳統(tǒng)結(jié)構(gòu)主要由處理器單元、無線傳輸單元、傳感器單元和電源模塊單元4部分組成。具體應(yīng)用不同,傳感器節(jié)點的設(shè)計也不盡相同。節(jié)點的功能不同,主要是節(jié)點韻傳感器單元在變化,傳統(tǒng)的節(jié)點具有單一或較少的功能,為了感知更多的物理量,需要節(jié)點具有擴展性,來實現(xiàn)更多的功能,提出了無線傳感器網(wǎng)絡(luò)節(jié)點的分布式體系結(jié)構(gòu)的設(shè)計。該設(shè)計借鑒了IEEE 1451.2標(biāo)準(zhǔn)的即插即用思想,使節(jié)點具有多智能體結(jié)構(gòu),各智能體之間用標(biāo)準(zhǔn)接口來進(jìn)行通信,實現(xiàn)在一個節(jié)點下多個傳感器模塊共存,使節(jié)點具有多種功能;或直接更換傳感器模塊,無需新的設(shè)計,具備所需要的功能。
1 即插即用思想
IEEE 1451.2標(biāo)準(zhǔn)定義了智能變送器接口模模塊STIM(Smart Transducer Interface Module),說明了它的硬件結(jié)構(gòu);提出了電子數(shù)據(jù)表單TEDS(Transducer Electronic Data Sheet)概念;定義了該類變送器的TEDS及其數(shù)據(jù)格式;定義了變送器與微處理器之間硬件獨立的十線數(shù)字接口TII(Transducer Intelligent Interface)及其針腳定義、通信協(xié)議。如圖1所示。
通過定義一個標(biāo)準(zhǔn)的智能傳感器接口模塊STIM、STIM和網(wǎng)絡(luò)適配器之間的接口TII來統(tǒng)一網(wǎng)絡(luò)化智能傳感器基本結(jié)構(gòu),通過制定電子數(shù)據(jù)表格TEDS在軟件上使不同傳感器的即插即用成為可能,而接口間數(shù)據(jù)格式和通信協(xié)議的標(biāo)準(zhǔn)化使得數(shù)據(jù)處理簡單化。IEEE 1451標(biāo)準(zhǔn)的核心之一就是TEDS,它存儲于STIM的非易失性存儲器中,它是實現(xiàn)傳感器模塊即插即用的基礎(chǔ)。TEDS由若干字節(jié)組成,可以充分描述STIM和傳感器的類型、行為和性能屬性等,提供對傳感器及執(zhí)行器等模型的支持,具有自動識別傳感器或執(zhí)行器的能力。當(dāng)STIM插入接口時,傳感器的所有信息可以隨時得到,從而實現(xiàn)即插即用。
IEEE 1451.2標(biāo)準(zhǔn)列出了8種不同的TEDS。為節(jié)省存儲空間,這里采用這兩種必須的和終端用戶說明TEDS。Meta-TEDS包含STIM制造商ID、版本信息、產(chǎn)品描述等信息;Channel-TEDS包含每個通道對象的上下限、物理單位、啟動時間等信息,每個通道的這些數(shù)據(jù)以重復(fù)的格式存儲在數(shù)據(jù)塊中;End-Users Application Specific TEDS用來給最終用戶定義所需要的特殊的信息。采用面向?qū)ο蟮姆椒?,將TEDS設(shè)置為類的屬性,讀取和寫入信息設(shè)置為類的方法。
具體的Meta-TEDS,Channel-TEDS和End-UsersApplication Specific TEDS均為TEDS的派生類,可以根據(jù)自身的需要定義屬性和方法,用類的方法去讀取、修改相應(yīng)的屬性,以實現(xiàn)傳感器信息、通道信息等STIM相關(guān)信息的在線識別和配置。
2 分布式結(jié)構(gòu)的設(shè)計原理
一個無線傳感器網(wǎng)絡(luò)節(jié)點的傳統(tǒng)結(jié)構(gòu)如圖2所示。
數(shù)據(jù)采集模塊用來進(jìn)行外部傳感器信號的接收、轉(zhuǎn)換;數(shù)據(jù)處理和控制模塊用來進(jìn)行節(jié)點設(shè)備控制、任務(wù)調(diào)度、能量計算、功能協(xié)調(diào)等;通信模塊用來進(jìn)行節(jié)點之間的數(shù)據(jù)發(fā)送、頻率選擇等;電源模塊專門為傳感器節(jié)點提供必要的能量。隨著無線傳感器網(wǎng)絡(luò)應(yīng)用領(lǐng)域的不斷擴大,迫切需要節(jié)點能夠感知更多的物理量,這就需要對傳感平臺進(jìn)行擴展,為此設(shè)計了無線傳感器網(wǎng)絡(luò)節(jié)點的分布式體系結(jié)構(gòu),它定義了統(tǒng)一、完整的外部接口,在需要添加新的硬件部件時可以在現(xiàn)有節(jié)點上直接添加,且不影響已有組件的工作,從而不需要開發(fā)新的節(jié)點。在不同的應(yīng)用環(huán)境下,選擇不同的組件自由配置系統(tǒng),這樣就不必為每個應(yīng)用都開發(fā)一套全新的硬件系統(tǒng)。多智能體結(jié)構(gòu)使節(jié)點各部分模塊化,功能分散化和獨立化,通信數(shù)據(jù)標(biāo)準(zhǔn)化,同時擴展能力更強。節(jié)點的分布式體系結(jié)構(gòu)如圖3所示。
整個系統(tǒng)由電源模塊、無線通信模塊、控制MCU和多個數(shù)據(jù)檢測及處理模塊組成。電源模塊給各部分提供足夠的能量。光線通信模塊也含有單獨的通信微處理器,可根據(jù)網(wǎng)絡(luò)的需要選擇合適的收發(fā)芯片,實現(xiàn)標(biāo)準(zhǔn)格式數(shù)據(jù)的收發(fā)和頻率選擇。比如Ember公司的EM250。數(shù)據(jù)檢測和處理模塊基本構(gòu)成包括;傳感器、電子數(shù)據(jù)表TEDS、微處理器和存儲器。它可以連接單一的傳感器或多個傳感器,該模塊和傳感器的所有信息都將以電子數(shù)據(jù)表TEDS的形式存儲在非易失的存儲器中,將采集到的數(shù)據(jù)與這些信息結(jié)合,將數(shù)據(jù)打包成標(biāo)準(zhǔn)格式,使數(shù)據(jù)具有可識別特性。傳感微處理器使用I2C接口來與控制MCU進(jìn)行通信,接收來自控制MCU的任務(wù),或發(fā)送采集得到的數(shù)據(jù),整個模塊可以在I2C接口上即插即用。選用MSP430F169單片機作為數(shù)據(jù)檢測及處理模塊的傳感微處理器。
控制MCU負(fù)責(zé)和多個數(shù)據(jù)檢測及處理模塊進(jìn)行通信,主要實現(xiàn)數(shù)據(jù)通信和尋址。也負(fù)責(zé)和無線通信模塊通信,包括將采集得到的數(shù)據(jù)通過無線通信模塊發(fā)送出去或接收其他節(jié)點發(fā)送過來的數(shù)據(jù)??刂芃CU主要是控制和調(diào)度各模塊的工作,其I2C地址是預(yù)先設(shè)定并已知的。在設(shè)計中,可采用MSP430F5438單片機作為主控MCU。使用I2C接口來連接控制MCU和多個數(shù)據(jù)檢測及處理模塊,彼此之間的連線,只有電源線、地線、時鐘線和數(shù)據(jù)線4根線,可以實現(xiàn)觸發(fā)、尋址和數(shù)據(jù)傳輸。這樣的一個接口上可以掛接多個模塊,支持多主工作,而且它們都是即插即用的。每個檢測模塊可以測量幾種物理量,當(dāng)實際需要實現(xiàn)多種功能時,可以掛接多個這樣的模塊來達(dá)到要求,實現(xiàn)節(jié)點的可擴展。
3 接口的數(shù)據(jù)格式
每個數(shù)據(jù)檢測及處理模塊只有掛接在I2C接口下時,才能獲得電源。當(dāng)檢測模塊插上去之后,首先檢測模塊將自己作為主機發(fā)送自己的I2C地址給控制MCU,這樣控制MCU將知道掛接在總線接口上的每個檢測模塊的地址,當(dāng)它需要與某個檢測模塊通信時,可以通過該地址進(jìn)行尋址。檢測模塊同樣可以對控制MCU發(fā)起中斷。I2C協(xié)議允許總線上接入多個器件,并支持多主工作,由于I2C總線具有總線仲裁機制,所以總線永遠(yuǎn)只有一對主機和從機在進(jìn)行通信,不會引起錯亂。而且I2C總線的應(yīng)答機制也可以保證進(jìn)行穩(wěn)定的數(shù)據(jù)傳輸。每個檢測模塊的傳感微處理器的狀態(tài)圖如圖4所示。
數(shù)據(jù)傳輸遵循I2C協(xié)議,其數(shù)據(jù)格式采用面向?qū)ο笙⒌姆椒?,使用基本類的ID和實例ID來組成對象檢測模塊ID,分析數(shù)據(jù)時可以明白數(shù)據(jù)針對的是哪個檢測模塊。而控制MCU的類ID和實例ID均設(shè)置為0。具體的數(shù)據(jù)對象消息格式如圖5所示。
字節(jié)0為除去自身外的整個對象消息的字節(jié)總數(shù)。一般該數(shù)值不超過255。當(dāng)一個對象消息的長度超過255時,須將整個消息切耕成多個字節(jié)數(shù)小于255具有同樣格式的子幀,字節(jié)1為幀協(xié)議位,用來說明子幀的情況。字節(jié)2,3為類的ID號,可以定義多個不同屬性的基本類。字節(jié)4,5為具體對象即檢測模塊的ID號,可以在基本類上實現(xiàn)多種不同的對象,具有自身獨特的屬性和功能。字節(jié)6,7為功能命令,比如對某個通道進(jìn)行采集。后面的字節(jié)為數(shù)據(jù)部分,比如采集得到的傳感器數(shù)據(jù)和單位等。當(dāng)數(shù)據(jù)部分的長度不是16位的倍數(shù)時,將在最后加一個字節(jié)去填補,使其長度為16位的倍數(shù),但該字節(jié)的內(nèi)容是毫無意義的,也不計入消息的長度中,只是為了方便數(shù)據(jù)的傳送。具有對象消息格式的
數(shù)據(jù)可以在任何接口之間進(jìn)行發(fā)送,由于數(shù)據(jù)包具有對象的具體ID,所以接收方能夠知道數(shù)據(jù)包針對的對象。因此無論在控制MCU與傳感微處理器之間是使用I2C接口,還是使用SPI接口,以及在主控MCU與無線通信模塊的SPI接口之間,這樣的數(shù)據(jù)格式都將能夠很好的對數(shù)據(jù)進(jìn)行處理。
4 結(jié)語
無線傳感器網(wǎng)絡(luò)節(jié)點的分布式體系結(jié)構(gòu)設(shè)計改變了節(jié)點的傳統(tǒng)結(jié)構(gòu),其軟硬件實現(xiàn)了數(shù)據(jù)檢測及處理模塊的即插即用,并且在一個I2C接口下面,可以掛接多個這樣的模塊,支持多主工作,使得整個節(jié)點的功能更加完善。節(jié)點各個模塊之間相互分工,彼此之間獨立工作,通過標(biāo)準(zhǔn)接口進(jìn)行通信,數(shù)據(jù)格式標(biāo)準(zhǔn)化,達(dá)到多智能體結(jié)構(gòu),實際應(yīng)用中可以根據(jù)需求來進(jìn)行自由配置,高效靈活地針對不同應(yīng)用實現(xiàn)新的硬件系統(tǒng),實現(xiàn)節(jié)點硬件平臺的可擴展。