多總線控制的無線傳感器網(wǎng)絡(luò)
摘要:為了實(shí)現(xiàn)傳感器節(jié)點(diǎn)之間無線通信并組網(wǎng),開發(fā)了一種將各多總線器件集成到一起進(jìn)行無線溫、濕度測(cè)量的網(wǎng)絡(luò)系統(tǒng)。系統(tǒng)各節(jié)點(diǎn)主要包括由SPI總線控制的無線射頻器件QRF-0400,I2C總線控制的硬時(shí)鐘器件PCF8563,以及單總線控制的溫、濕度傳感器等。節(jié)點(diǎn)通過無線射頻器件將傳感器采集的溫、濕度實(shí)時(shí)傳遞到監(jiān)控主機(jī),工作結(jié)束自動(dòng)進(jìn)入睡眠模式以降低節(jié)點(diǎn)功率,延長工作壽命。實(shí)驗(yàn)表明,節(jié)點(diǎn)在80m范圍內(nèi)自動(dòng)組網(wǎng)并采集周邊環(huán)境的溫、濕度,誤差低于0.01°。
關(guān)鍵詞:SPI總線;I2C總線;單總線;ZigBee技術(shù)
自20世紀(jì)90年代開始,無線傳感器網(wǎng)絡(luò)技術(shù)逐漸發(fā)展,從GSM到Bluetooth,從無線ATM到無線局域網(wǎng),以不同的方式、不同的數(shù)據(jù)速率、在不同的距離上實(shí)現(xiàn)網(wǎng)絡(luò)連接和信息的及時(shí)傳遞,擺脫了電線的束縛,從而能夠在移動(dòng)中自由地實(shí)現(xiàn)信息的交換。盡管如此,仍然要為工業(yè)現(xiàn)場(chǎng)安裝傳感器或開關(guān)的布信號(hào)線而困惑。在實(shí)際應(yīng)用中依然存在著一些現(xiàn)有的網(wǎng)絡(luò)技術(shù)無法或者不能很好的工作的場(chǎng)合,需要一種短距離、低數(shù)據(jù)傳輸速率、低成本、低功耗的無線網(wǎng)絡(luò)技術(shù)。ZigBee技術(shù)這種以低成本、低功耗、低數(shù)據(jù)傳輸速率、低復(fù)雜度為顯著優(yōu)點(diǎn)的短距離無線通信協(xié)議,滿足了小型、低成本的固定、便攜或移動(dòng)設(shè)備無線聯(lián)網(wǎng)的要求。文章從系統(tǒng)各總線設(shè)計(jì)的角度開始了對(duì)基于ZigBee技術(shù)的無線射頻器件、時(shí)鐘器件、溫濕度傳感器以及RS232總線接口電路展開研究,實(shí)現(xiàn)了多總線控制節(jié)點(diǎn)無線傳輸。
1 通信原理
無線傳感器網(wǎng)絡(luò)由一定數(shù)目的傳感器節(jié)點(diǎn)組成,以無線自組的方式構(gòu)成網(wǎng)絡(luò)。通常包括處理器模塊、傳感器模塊、無線通信模塊和電源管理模塊。傳感器節(jié)點(diǎn)的異構(gòu)性體現(xiàn)在節(jié)點(diǎn)的數(shù)據(jù)處理能力、傳感數(shù)據(jù)種類、通信能力以及能源狀況等方面。傳感器節(jié)點(diǎn)之間必須采用相同的無線通信網(wǎng)絡(luò)協(xié)議才能實(shí)現(xiàn)互聯(lián)。在ZigBee網(wǎng)絡(luò)協(xié)議棧中物理層負(fù)責(zé)數(shù)據(jù)的調(diào)制、發(fā)送與接收,解決編碼調(diào)制技術(shù)、通信速率和通信頻段等問題。物理層之上為支持物理信道共享和廣播與多播的數(shù)據(jù)鏈路層協(xié)議和負(fù)責(zé)路由轉(zhuǎn)發(fā)和設(shè)備尋址的網(wǎng)絡(luò)層協(xié)議,在此之上為與具體應(yīng)用緊密相關(guān)的應(yīng)用層協(xié)議。在ZigBee協(xié)議棧中,每一層通過使用下層提供的服務(wù)完成自己的功能,同時(shí)對(duì)上層提供服務(wù),網(wǎng)絡(luò)里的通信在對(duì)等的層次上進(jìn)行。
2 硬件架構(gòu)
多點(diǎn)的無線傳輸系統(tǒng)對(duì)傳輸提出了雙向通信的要求,即主機(jī)和從機(jī)都可以進(jìn)行發(fā)射與接收,并且相互之間協(xié)調(diào)有序,不會(huì)產(chǎn)生沖突和干擾。因此系統(tǒng)分為發(fā)射子節(jié)點(diǎn)和接受主節(jié)點(diǎn)兩部分,均采用單片機(jī)AT89C52做主控器件。發(fā)射子節(jié)點(diǎn)通過單總線對(duì)溫度傳感器DSl8820和濕度傳感器DS2438進(jìn)行控制,采集溫、濕度;通過4個(gè)I/O口模擬SPI總線控制無線射頻器件QRF0400進(jìn)行數(shù)據(jù)的無線傳輸;通過2個(gè)I/O口模擬I2C總線對(duì)時(shí)鐘器件PCF8563進(jìn)行選時(shí)操作。接受主節(jié)點(diǎn)通過無線射頻器件就行數(shù)據(jù)接收,然后經(jīng)過MAX232電平轉(zhuǎn)換接入串口,按照RS232標(biāo)準(zhǔn)與上位機(jī)進(jìn)行信息交換。
2.1 發(fā)射子節(jié)點(diǎn)
每一個(gè)發(fā)射子節(jié)點(diǎn)的主控器件經(jīng)過單總線接口控制溫、濕度傳感器,都必須嚴(yán)格的按照單總線命令序列進(jìn)行操作。首先進(jìn)行初始化,以溫度傳感器DSl8820為例,初始化過程由主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機(jī)知道總線上有從機(jī)設(shè)備且準(zhǔn)備就緒。當(dāng)主機(jī)檢測(cè)到應(yīng)答脈沖后,就可以發(fā)出ROM命令。這些命令與各個(gè)從機(jī)設(shè)備的唯一64位ROM序列碼相關(guān),當(dāng)單總線上連接多個(gè)從機(jī)設(shè)備時(shí),允許主機(jī)指定操作某個(gè)從機(jī)設(shè)備。這些命令還使得主機(jī)可以檢測(cè)到總線上有多少個(gè)從機(jī)設(shè)備及其設(shè)備類型,或者有沒有設(shè)備處于報(bào)警狀態(tài)。最后發(fā)送操作命令,通過ROM操作命令使得總線主機(jī)與總線上某些或某一從機(jī)設(shè)備確定了通信關(guān)系之后,主機(jī)發(fā)出的功能命令便可以驅(qū)動(dòng)從機(jī)設(shè)備進(jìn)行相應(yīng)的動(dòng)作,當(dāng)需要進(jìn)行數(shù)據(jù)的傳輸時(shí),從機(jī)設(shè)備會(huì)把主機(jī)要求的信息以串行傳輸?shù)姆绞剿偷絾慰偩€上,如圖l所示。
評(píng)論