ZigBee技術(shù)在溫控系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引 言
目前短距離無(wú)線通信技術(shù)已成為無(wú)線通信技術(shù)的一個(gè)重要分支,現(xiàn)實(shí)中很多系統(tǒng)傳輸?shù)臄?shù)據(jù)通常為少量的突發(fā)信號(hào),這里采用的ZigBee技術(shù)就是具有統(tǒng)一標(biāo)準(zhǔn)的短距離無(wú)線通信技術(shù),專門用于這類信息的傳輸,工作在2.4 GHz的免付費(fèi)、免申請(qǐng)頻段上,傳輸速率為250 Kb/s。這種無(wú)線通信技術(shù)具有如下特點(diǎn):傳輸距離遠(yuǎn)、室內(nèi)大概有30 m,功耗低,工作模式情況下,ZigBee技術(shù)傳輸速率低,傳輸數(shù)據(jù)量很小,因此信號(hào)的收發(fā)時(shí)間很短,其次在非工作模式時(shí),ZigBee節(jié)點(diǎn)處于休眠模式。
這里把ZigBee技術(shù)應(yīng)用到溫控系統(tǒng)中,現(xiàn)有的溫控系統(tǒng),很多都是采用有線方式。通過(guò)有線方式傳輸信號(hào),布線費(fèi)用昂貴,維修困難,難于擴(kuò)展,在某些情況下甚至無(wú)法布線成功,這是其遇到的一個(gè)極大困難,且系統(tǒng)的抗毀性也比較差,一旦主控制芯片出現(xiàn)了問(wèn)題,整個(gè)系統(tǒng)就會(huì)崩潰。應(yīng)用ZigBee技術(shù)以后,溫控系統(tǒng)可以從有線方式變?yōu)闊o(wú)線方式。
1 ZigBee技術(shù)的特點(diǎn)
ZigBee低速率、低功耗和短距離傳輸?shù)奶攸c(diǎn)使它非常適宜支持簡(jiǎn)單器件。ZigBee定義了兩種器件:全功能器件(FFD)和簡(jiǎn)化功能器件(RFD)。對(duì)全功能器件,要求它支持所有的49個(gè)基本參數(shù)。而對(duì)簡(jiǎn)化功能器件,在最小配置時(shí)只要求它支持38個(gè)基本參數(shù)。一個(gè)全功能器件可以與簡(jiǎn)化功能器件和其他全功能器件通話,可以按三種方式工作,分別為:個(gè)域網(wǎng)協(xié)調(diào)器、協(xié)調(diào)器或器件。而簡(jiǎn)化功能器件只能與全功能器件通話,僅適于非常簡(jiǎn)單的應(yīng)用。
2 對(duì)等網(wǎng)中的Mesh網(wǎng)絡(luò)的特點(diǎn)
對(duì)等網(wǎng)是全部由完整功能器件(FFD)連接而成的,這種網(wǎng)絡(luò)能提供更高的可靠性,如圖1所示。
綜上所述,這里采用ZigBee技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)的傳輸,并選用ZigBee支持的Mesh網(wǎng)絡(luò)實(shí)現(xiàn)此功能。對(duì)等網(wǎng)是全部由完整功能器件(FFD)連接而成的,這種網(wǎng)絡(luò)能提供更高的可靠性。
該網(wǎng)絡(luò)有一個(gè)主控制節(jié)點(diǎn),用來(lái)啟動(dòng)整個(gè)網(wǎng)絡(luò),這個(gè)主控制節(jié)點(diǎn)由專門的電源供電,另外還有專門負(fù)責(zé)路由信息的控制節(jié)點(diǎn),給信息傳輸提供必要的路由,本身也可以參與溫度的測(cè)量,還有就是一些終端的節(jié)點(diǎn),它們可以專門用來(lái)測(cè)量端點(diǎn)的溫度,另外在必要的時(shí)候,如網(wǎng)絡(luò)出現(xiàn)故障,它們啟動(dòng)相應(yīng)的命令,就又可以充當(dāng)路由的功能。
這種無(wú)線網(wǎng)絡(luò)具有較強(qiáng)的抗毀性,某個(gè)節(jié)點(diǎn)出現(xiàn)故障,路由節(jié)點(diǎn)可以選擇另外一條路由去完成此次傳輸。
3 Mesh網(wǎng)絡(luò)的建立過(guò)程
這里所有的站點(diǎn)都是FFD(全功能器件),可以用下面的方法組建一個(gè)網(wǎng)絡(luò)。
每個(gè)大型的ZigBee的Mesh網(wǎng)絡(luò)都可以由一個(gè)中心協(xié)調(diào)器(PAN)和路由器(Router)組成。這里以采用以下原語(yǔ)實(shí)現(xiàn):
該原語(yǔ)由具有ZigBee協(xié)調(diào)器能力設(shè)備的應(yīng)用層生成,發(fā)送給它的網(wǎng)絡(luò)層管理實(shí)體,請(qǐng)求初始化設(shè)備,使之成為一個(gè)新網(wǎng)絡(luò)的協(xié)調(diào)器。
該原語(yǔ)返回在網(wǎng)絡(luò)中初始化一個(gè)ZigBee協(xié)調(diào)器請(qǐng)求的執(zhí)行結(jié)果。如果成功執(zhí)行了原語(yǔ),則狀態(tài)參數(shù)設(shè)置為SUCCESS。
設(shè)置ZigBee協(xié)調(diào)器以后,再采用NLME-PER-MIT-JOINING.request原語(yǔ)允許其他設(shè)備同其網(wǎng)絡(luò)連接。
PermitDuration中參數(shù)的有效值從0x00~0xFF,0x00和0xFF分別表示連接是否有效,沒(méi)有確定的時(shí)間限制,這里選擇0xFF。
返回:
NLME-PERMIT-JOINING.confirm(
Status 與請(qǐng)求狀態(tài)相對(duì)應(yīng)
)
當(dāng)收到該原語(yǔ)后,初始化的設(shè)備上層即得知允許其他設(shè)備連接網(wǎng)絡(luò)請(qǐng)求原語(yǔ)的執(zhí)行結(jié)果,這里收到的結(jié)果應(yīng)該為0xFF。
在ZigBee網(wǎng)絡(luò)中,還要配置路由器,該原語(yǔ)如下:
因?yàn)槭遣捎玫腗esh網(wǎng)絡(luò),所以這里的Join-AsRouter的參數(shù)設(shè)置為TURE。
一個(gè)新設(shè)備連接網(wǎng)絡(luò)成功后,就發(fā)送NLME-JOIN.indication原語(yǔ),其語(yǔ)法如下:
至此,一個(gè)完整的Zigbee網(wǎng)絡(luò)就建立成功。
這個(gè)網(wǎng)絡(luò)具有很好的抗毀性,在Mesh網(wǎng)絡(luò)中,當(dāng)一個(gè)鏈路或者一個(gè)設(shè)備失效時(shí),上層的管理設(shè)備將要重新組織路由的信息。如果上層設(shè)備由于缺乏路由容量或者其他原因,該路由器設(shè)備將會(huì)給主協(xié)調(diào)器發(fā)送一個(gè)路由錯(cuò)誤的指令幀,里面包含了失敗的原因。在必要的情況下,甚至可以從某一個(gè)節(jié)點(diǎn)開(kāi)始,重新組織一個(gè)新的Mesh網(wǎng)絡(luò)。
這里的ZigBee無(wú)線自組織網(wǎng)絡(luò)和Ad Hoc(無(wú)線自組織多跳網(wǎng)絡(luò))還有一點(diǎn)區(qū)別,后者是在過(guò)一定的時(shí)間,重新選擇新的路由,而ZigBee的無(wú)線自組織是在路徑丟失的情況下,才會(huì)選擇新的路由。
在某一個(gè)芯片出現(xiàn)故障時(shí),會(huì)自動(dòng)搜尋下一個(gè)路由,使得信息的傳輸不會(huì)受到影響;必要的時(shí)候,甚至可以選擇某一個(gè)芯片重新啟動(dòng)整個(gè)網(wǎng)絡(luò)系統(tǒng);而且采用這種方式,芯片之間接力傳遞,可以最大限度地提高網(wǎng)絡(luò)的覆蓋范圍。如果采用星型網(wǎng)絡(luò),由于在終端節(jié)點(diǎn)不是FFD,而是RFD,如果FFD出現(xiàn)故障,整個(gè)系統(tǒng)就無(wú)法工作,另外其作用范圍也會(huì)受到限制。
4 DS18820芯片介紹
美國(guó)Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1 820是世界上第一片支持“一線-總線”接口的溫度傳感器,在整個(gè)過(guò)程中主要有三個(gè)關(guān)鍵的步驟:
(1)搜尋DS18820的序列號(hào)。
(2)如主機(jī)控制DS18820完成溫度轉(zhuǎn)換這一過(guò)程。
(3)設(shè)定DS18820開(kāi)始溫度轉(zhuǎn)換,讀取溫度的數(shù)值。
根據(jù)DS18820的通訊協(xié)議:每一次讀寫(xiě)之前都要對(duì)DS18820進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18820進(jìn)行預(yù)定的操作。
DS18820分為讀程序和寫(xiě)程序兩部分,其中讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。對(duì)于DS18820的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15 s之內(nèi)就得釋放單總線,以讓DS18820把數(shù)據(jù)傳輸?shù)絾慰偩€上,DS18820在完成一個(gè)讀時(shí)序過(guò)程,至少需要60μs才能完成。DS18820的寫(xiě)時(shí)序仍然分為寫(xiě)0時(shí)序和寫(xiě)1時(shí)序兩個(gè)過(guò)程。DS18820寫(xiě)0時(shí)序和寫(xiě)1時(shí)序的要求不同,當(dāng)要寫(xiě)0時(shí)序時(shí),單總線要被拉低至少60μs,保證DS18820能夠在15~45μs之間能夠正確地采樣I/O總線上的“0”電平;當(dāng)要寫(xiě)1時(shí)序時(shí),單總線被拉低之后,在15μs之內(nèi)就得釋放單總線。
5 系統(tǒng)連接圖
系統(tǒng)連接圖如圖2所示。
DS18820與單片機(jī)的連接在硬件上有兩種方法,一種是Vcc接外部電源,GND接地,I/O引腳與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)Vcc,GND接地,I/O接單片機(jī)I/O引腳。無(wú)論是內(nèi)部寄生電源還是外部供電,當(dāng)傳感器DS18820處于寫(xiě)存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有較強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10μs,這樣處理可以有效地降低功耗。
6 結(jié) 語(yǔ)
綜上,在現(xiàn)代溫控系統(tǒng)中,采用無(wú)線通信的ZigBee技術(shù),可以很方便地建立網(wǎng)絡(luò),選用ZigBee支持的Mesh網(wǎng)絡(luò),可以最大程度地增加網(wǎng)絡(luò)的抗毀性,而采用芯片接力傳遞的方式,可以最大程度地?cái)U(kuò)展網(wǎng)絡(luò)的覆蓋范圍。采用DS18820芯片也可以很好地采集溫度數(shù)據(jù),完成采集和傳輸任務(wù)。對(duì)ZigBee芯片寫(xiě)入不同的控制程序可以控制加熱器的時(shí)間和持續(xù)長(zhǎng)度。