無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件平臺可擴(kuò)展研究
控制MCU負(fù)責(zé)和多個數(shù)據(jù)檢測及處理模塊進(jìn)行通信,主要實(shí)現(xiàn)數(shù)據(jù)通信和尋址。也負(fù)責(zé)和無線通信模塊通信,包括將采集得到的數(shù)據(jù)通過無線通信模塊發(fā)送出去或接收其他節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù)??刂芃CU主要是控制和調(diào)度各模塊的工作,其I2C地址是預(yù)先設(shè)定并已知的。在設(shè)計中,可采用MSP430F5438單片機(jī)作為主控MCU。使用I2C接口來連接控制MCU和多個數(shù)據(jù)檢測及處理模塊,彼此之間的連線,只有電源線、地線、時鐘線和數(shù)據(jù)線4根線,可以實(shí)現(xiàn)觸發(fā)、尋址和數(shù)據(jù)傳輸。這樣的一個接口上可以掛接多個模塊,支持多主工作,而且它們都是即插即用的。每個檢測模塊可以測量幾種物理量,當(dāng)實(shí)際需要實(shí)現(xiàn)多種功能時,可以掛接多個這樣的模塊來達(dá)到要求,實(shí)現(xiàn)節(jié)點(diǎn)的可擴(kuò)展。
3 接口的數(shù)據(jù)格式
每個數(shù)據(jù)檢測及處理模塊只有掛接在I2C接口下時,才能獲得電源。當(dāng)檢測模塊插上去之后,首先檢測模塊將自己作為主機(jī)發(fā)送自己的I2C地址給控制MCU,這樣控制MCU將知道掛接在總線接口上的每個檢測模塊的地址,當(dāng)它需要與某個檢測模塊通信時,可以通過該地址進(jìn)行尋址。檢測模塊同樣可以對控制MCU發(fā)起中斷。I2C協(xié)議允許總線上接入多個器件,并支持多主工作,由于I2C總線具有總線仲裁機(jī)制,所以總線永遠(yuǎn)只有一對主機(jī)和從機(jī)在進(jìn)行通信,不會引起錯亂。而且I2C總線的應(yīng)答機(jī)制也可以保證進(jìn)行穩(wěn)定的數(shù)據(jù)傳輸。每個檢測模塊的傳感微處理器的狀態(tài)圖如圖4所示。本文引用地址:http://www.ex-cimer.com/article/156501.htm
數(shù)據(jù)傳輸遵循I2C協(xié)議,其數(shù)據(jù)格式采用面向?qū)ο笙⒌姆椒?,使用基本類的ID和實(shí)例ID來組成對象檢測模塊ID,分析數(shù)據(jù)時可以明白數(shù)據(jù)針對的是哪個檢測模塊。而控制MCU的類ID和實(shí)例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號,可以在基本類上實(shí)現(xiàn)多種不同的對象,具有自身獨(dú)特的屬性和功能。字節(jié)6,7為功能命令,比如對某個通道進(jìn)行采集。后面的字節(jié)為數(shù)據(jù)部分,比如采集得到的傳感器數(shù)據(jù)和單位等。當(dāng)數(shù)據(jù)部分的長度不是16位的倍數(shù)時,將在最后加一個字節(jié)去填補(bǔ),使其長度為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é)點(diǎn)的分布式體系結(jié)構(gòu)設(shè)計改變了節(jié)點(diǎn)的傳統(tǒng)結(jié)構(gòu),其軟硬件實(shí)現(xiàn)了數(shù)據(jù)檢測及處理模塊的即插即用,并且在一個I2C接口下面,可以掛接多個這樣的模塊,支持多主工作,使得整個節(jié)點(diǎn)的功能更加完善。節(jié)點(diǎn)各個模塊之間相互分工,彼此之間獨(dú)立工作,通過標(biāo)準(zhǔn)接口進(jìn)行通信,數(shù)據(jù)格式標(biāo)準(zhǔn)化,達(dá)到多智能體結(jié)構(gòu),實(shí)際應(yīng)用中可以根據(jù)需求來進(jìn)行自由配置,高效靈活地針對不同應(yīng)用實(shí)現(xiàn)新的硬件系統(tǒng),實(shí)現(xiàn)節(jié)點(diǎn)硬件平臺的可擴(kuò)展。
評論