新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 多個Zigbee監(jiān)測網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)

多個Zigbee監(jiān)測網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)

作者:李強(qiáng) 時間:2008-07-31 來源:微計算機(jī)信息 收藏

  4.2. 與數(shù)據(jù)采集節(jié)點(diǎn)間的數(shù)據(jù)傳遞

本文引用地址:http://www.butianyuan.cn/article/86468.htm

  網(wǎng)關(guān)節(jié)點(diǎn)作為監(jiān)測網(wǎng)絡(luò)與IP網(wǎng)絡(luò)的連接點(diǎn),除了要與上一層的消息代理進(jìn)行數(shù)據(jù)傳遞,還要與監(jiān)測網(wǎng)絡(luò)中的數(shù)據(jù)采集節(jié)點(diǎn)間進(jìn)行數(shù)據(jù)傳遞,獲得原始的監(jiān)測數(shù)據(jù)和向數(shù)據(jù)采集節(jié)點(diǎn)傳遞設(shè)置參數(shù)。

  4.2.1. 網(wǎng)關(guān)節(jié)點(diǎn)的硬件結(jié)構(gòu)

  網(wǎng)關(guān)節(jié)點(diǎn)的硬件結(jié)構(gòu)如圖2所示。主要分成兩大部分:系統(tǒng)運(yùn)行的硬件平臺和無線通信模塊。


圖2 網(wǎng)關(guān)節(jié)點(diǎn)的硬件結(jié)構(gòu)

  CPU選用AMD的 Au1550。它是一款多功能、高性能、低功耗、高集成度的網(wǎng)絡(luò)安全處理器。

  無線通信模塊采用飛思卡爾的MC13192。它實(shí)現(xiàn)了物理層的數(shù)據(jù)傳輸,可以自動完成數(shù)據(jù)的校驗(yàn)和封裝。

  Au1550與MC13192通過3線SPI接口、一個片選線和一個中斷請求線相連,完成數(shù)據(jù)傳輸和控制。

  4.2.2. 網(wǎng)關(guān)節(jié)點(diǎn)的軟件設(shè)計


圖3 網(wǎng)關(guān)節(jié)點(diǎn)軟件系統(tǒng)的結(jié)構(gòu)

  根據(jù)網(wǎng)關(guān)節(jié)點(diǎn)的功能,軟件系統(tǒng)主要完成兩個功能,一是負(fù)責(zé)網(wǎng)絡(luò)的建立和維護(hù)、匯集監(jiān)測網(wǎng)絡(luò)中的監(jiān)測數(shù)據(jù)、向數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送設(shè)置參數(shù)。這一部分為實(shí)時部分,由內(nèi)核模塊實(shí)現(xiàn),運(yùn)行于內(nèi)核態(tài);二是與遠(yuǎn)程的消息代理之間的消息傳遞、原始監(jiān)測數(shù)據(jù)的預(yù)處理。這部分為非實(shí)時部分運(yùn)行于用戶空間。

  當(dāng)MC13192接收到物理層的數(shù)據(jù)后,產(chǎn)生中斷請求觸發(fā)數(shù)據(jù)處理任務(wù)讀取,校驗(yàn)正確后寫入FIFO中,用戶空間的應(yīng)用程序則定時讀取FIFO中的數(shù)據(jù),然后將原始數(shù)據(jù)形成文本格式的消息發(fā)送給消息代理。

  當(dāng)用戶空間的應(yīng)用程序收到消息代理發(fā)來的控制消息后,轉(zhuǎn)換成控制命令字寫入FIFO中,內(nèi)核模塊中FIFO讀取任務(wù)則定時讀取FIFO的控制命令,形成MAC層的幀格式,通過SPI傳遞給MC13192。

  一、Au1550與MC13192間的數(shù)據(jù)傳輸

  MC13192與Au1550之間通過SPI進(jìn)行數(shù)據(jù)傳輸。將SPI的通信模式設(shè)為主從方式,Au1550為主機(jī),MC13192為從設(shè)備。數(shù)據(jù)的傳輸完全由主機(jī)Au1550通過片選信號控制完成。

  SPI數(shù)據(jù)幀由幀頭和數(shù)據(jù)組成。幀頭為8位,第一位為讀寫標(biāo)志位,R/W=1表示讀操作(從到主),R/W=0表示寫操作(主到從)。低六位表示MC13192中寄存器的地址。

  MC13192設(shè)置成包傳輸模式,它就會將接收到的主機(jī)數(shù)據(jù)暫存到發(fā)送RAM中,當(dāng)接收完成后再以包的形式發(fā)送出去。同樣,收到IEEE802.15.4數(shù)據(jù)幀后,存儲到接收RAM中,確定數(shù)據(jù)幀的長度、進(jìn)行校驗(yàn)和和鏈路質(zhì)量的計算,數(shù)據(jù)校驗(yàn)正確后向主機(jī)發(fā)出中斷請求,請求主機(jī)將數(shù)據(jù)讀走。

  二、實(shí)時任務(wù)與非實(shí)時應(yīng)用間的數(shù)據(jù)傳輸

  實(shí)時任務(wù)與非實(shí)時應(yīng)用間采用FIFO進(jìn)行數(shù)據(jù)傳遞。每一個FIFO都是在一個方向上傳送數(shù)據(jù)。要實(shí)現(xiàn)實(shí)時任務(wù)與非實(shí)時應(yīng)用間的雙向傳輸,需要建立兩個FIFO。一個FIFO用于實(shí)時任務(wù)向非實(shí)時應(yīng)用發(fā)送原始監(jiān)控數(shù)據(jù),一個FIFO用于接收非實(shí)時應(yīng)用的控制命令。

  在實(shí)時任務(wù)一側(cè),不管FIFO狀態(tài)是什么,任何讀寫入操作都是非阻塞的。因此,讀寫后都立即返回。在內(nèi)核模塊中FIFO通過rtf_create()來創(chuàng)建,rtf_put()向FIFO寫數(shù)據(jù), rtf_get()從FIFO讀數(shù)據(jù)。FIFO的讀過程由一個周期性的實(shí)時線程完成。

  從應(yīng)用程序一側(cè)來看,F(xiàn)IFO就像一個常規(guī)文件。因此,調(diào)用文件打開函數(shù)來獲得相關(guān)FIFO的指針,獲得指針后通過讀寫函數(shù)實(shí)現(xiàn)對FIFO的讀寫操作。數(shù)據(jù)的讀操作也由專門的線程用輪詢方式完成,數(shù)據(jù)的發(fā)送操作則直接用函數(shù)調(diào)用方式。

  5. 結(jié)束語

  本文給出基于中間件技術(shù)的分層體系結(jié)構(gòu),實(shí)現(xiàn)對多個監(jiān)測網(wǎng)絡(luò)的集中管理的方法,并給出了數(shù)據(jù)傳遞、網(wǎng)關(guān)節(jié)點(diǎn)等關(guān)鍵技術(shù)的具體實(shí)現(xiàn)。這種方式有效地解決了星型拓?fù)浣Y(jié)構(gòu)Zigbee監(jiān)測網(wǎng)絡(luò)監(jiān)測范圍受限的問題。通過增加監(jiān)測網(wǎng)絡(luò)的個數(shù)來擴(kuò)大監(jiān)測范圍或多點(diǎn)分布式監(jiān)測,而且還不會影響到管理應(yīng)用。

  本文的創(chuàng)新點(diǎn):利用基于中間件技術(shù)的分層體系結(jié)構(gòu),實(shí)現(xiàn)了對多個Zigbee監(jiān)測網(wǎng)絡(luò)的集中管理,有效地解決了星型拓?fù)浣Y(jié)構(gòu)Zigbee監(jiān)測網(wǎng)絡(luò)監(jiān)測范圍受限的問題。星形拓?fù)浣Y(jié)構(gòu)具有結(jié)構(gòu)簡單、易于部署的特點(diǎn),而且節(jié)點(diǎn)間不需要路由,可以有效節(jié)省節(jié)點(diǎn)的能耗。增加監(jiān)測網(wǎng)絡(luò)的個數(shù)可以擴(kuò)大監(jiān)測范圍,但存在對多個監(jiān)測網(wǎng)絡(luò)集中管理的問題?!?/p>

  參考文獻(xiàn)

  [1] Motorola.MC13192/MC13193 Reference Manual

  [2] LAN-MAN Standards Committee of the IEEE Computer Society. Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs), IEEE, 2003

  [3] IBM. Using Java,2004.


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉