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