基于ZigBee技術(shù)的公共時(shí)鐘系統(tǒng)構(gòu)建
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:構(gòu)建了一種基于ZigBee技術(shù)的公共時(shí)鐘系統(tǒng),依據(jù)ZigBee的不同技術(shù),分別構(gòu)建了它的總體結(jié)構(gòu)、時(shí)鐘同步算法以及軟硬件結(jié)構(gòu)。該公共時(shí)鐘系統(tǒng)在某電站辦公綜合樓內(nèi)經(jīng)過(guò)一年的實(shí)驗(yàn)運(yùn)行,結(jié)果表明系統(tǒng)時(shí)鐘同步精度高,運(yùn)行可靠穩(wěn)定。
關(guān)鍵詞:公共時(shí)鐘;時(shí)鐘同步;ZigBee;分布式網(wǎng)絡(luò)
引言
在科學(xué)技術(shù)、社會(huì)生活和生產(chǎn)活動(dòng)中,時(shí)間是個(gè)基本參量。隨著科技的進(jìn)步,許多公眾場(chǎng)所聚集了大量的設(shè)備系統(tǒng),這些系統(tǒng)必須依照統(tǒng)一的時(shí)間運(yùn)行,才能保證整個(gè)公眾場(chǎng)所的活動(dòng)有序協(xié)調(diào)地進(jìn)行。公共時(shí)鐘系統(tǒng)功能就是為公眾場(chǎng)所提供統(tǒng)一的標(biāo)準(zhǔn)時(shí)鐘,它對(duì)公共場(chǎng)所活動(dòng)的正常工作起著非常重要的作用。因此,公共時(shí)鐘系統(tǒng)是一種重要的基礎(chǔ)設(shè)備,已有越來(lái)越多的公眾場(chǎng)所建立這樣的公共時(shí)鐘系統(tǒng)。
公共時(shí)鐘系統(tǒng)是個(gè)分布式網(wǎng)絡(luò)系統(tǒng),標(biāo)準(zhǔn)時(shí)鐘通過(guò)這個(gè)網(wǎng)絡(luò)傳遞到公眾場(chǎng)所各系統(tǒng)中。目前,人們已經(jīng)利用局域網(wǎng)、CAN網(wǎng)和RS485網(wǎng)實(shí)現(xiàn)了公共時(shí)鐘系統(tǒng)。這些公共時(shí)鐘都是基于有線網(wǎng)絡(luò)的,有其自身的缺陷,如需要事先規(guī)劃布線、成本高、系統(tǒng)構(gòu)建不靈活等。
隨著無(wú)線傳感器網(wǎng)絡(luò)的發(fā)展,其非布線、自組織等優(yōu)點(diǎn),為公共時(shí)鐘系統(tǒng)的實(shí)現(xiàn)提供了新的技術(shù)途徑。目前無(wú)線技術(shù)有多種,如藍(lán)牙、WiFi及WLAN等。相比它們,ZigBee技術(shù)具有傳輸距離遠(yuǎn)、成本低和組網(wǎng)性能好等優(yōu)勢(shì),已經(jīng)成為目前市場(chǎng)前景最廣闊的無(wú)線通信與網(wǎng)絡(luò)新技術(shù)之一。
本文以ZigBee技術(shù)為基礎(chǔ),構(gòu)建了一種公共時(shí)鐘系統(tǒng):首先依照Z(yǔ)igBee的簇狀拓?fù)浣Y(jié)構(gòu)及設(shè)備類型,構(gòu)建了公共時(shí)鐘系統(tǒng)總體結(jié)構(gòu);然后考慮到ZigBee傳輸?shù)牡退傩?,設(shè)計(jì)了一種精度高但簡(jiǎn)單的時(shí)鐘同步算法;最后選擇了一種ZigBee專用芯片,設(shè)計(jì)了系統(tǒng)的硬件結(jié)構(gòu),基于ZigBee協(xié)議棧,編制了系統(tǒng)軟件。所設(shè)計(jì)的公共時(shí)鐘系統(tǒng)在某電站辦公綜合樓經(jīng)過(guò)了一年的實(shí)驗(yàn)運(yùn)行,實(shí)驗(yàn)結(jié)果表明系統(tǒng)時(shí)鐘同步精度高,運(yùn)行穩(wěn)定可靠。
1 系統(tǒng)總體設(shè)計(jì)
ZigBee技術(shù)具有網(wǎng)絡(luò)自組織的特點(diǎn),它支持星型結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和簇狀結(jié)構(gòu)。星型結(jié)構(gòu)網(wǎng)絡(luò)覆蓋地域有限,而網(wǎng)狀結(jié)構(gòu)網(wǎng)絡(luò)復(fù)雜,實(shí)際中實(shí)現(xiàn)起來(lái)困難。因此,本文采用簇狀結(jié)構(gòu)結(jié)構(gòu)來(lái)構(gòu)建公共時(shí)鐘系統(tǒng),如圖1所示。
系統(tǒng)中主要包括時(shí)鐘源、中繼路由器、時(shí)鐘終端和監(jiān)控系統(tǒng)。
時(shí)鐘源:接收GPS標(biāo)準(zhǔn)時(shí)間;通過(guò)路由器向時(shí)鐘發(fā)送標(biāo)準(zhǔn)時(shí)間;作為協(xié)調(diào)器組織網(wǎng)絡(luò),指定路徑進(jìn)行通信。
中繼路由器:按同步算法接收標(biāo)準(zhǔn)時(shí)間,反饋本地時(shí)鐘給監(jiān)控系統(tǒng),做信息的轉(zhuǎn)發(fā)工作。
時(shí)鐘終端:按同步算法接收標(biāo)準(zhǔn)時(shí)間,反饋本地時(shí)鐘給監(jiān)控系統(tǒng),在LED顯示屏上顯示標(biāo)準(zhǔn)時(shí)間。
監(jiān)控系統(tǒng):負(fù)責(zé)接收、處理和管理接收來(lái)的同步系統(tǒng)狀態(tài)數(shù)據(jù),是臺(tái)PC機(jī)。
公共時(shí)鐘系統(tǒng)時(shí)間同步所有的任務(wù)都從協(xié)調(diào)器開(kāi)始,在組網(wǎng)時(shí)每一個(gè)節(jié)點(diǎn)都只有一個(gè)父節(jié)點(diǎn),協(xié)調(diào)器是最大的父節(jié)點(diǎn),協(xié)調(diào)器通過(guò)建立一個(gè)節(jié)點(diǎn)信息庫(kù)來(lái)管理整個(gè)網(wǎng)絡(luò)。同步系統(tǒng)通過(guò)中繼路由器將時(shí)間信息傳遞到時(shí)間源的廣播范圍之外,實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的時(shí)間同步。
可見(jiàn),公共時(shí)鐘系統(tǒng)遵循分層思想,所謂的一層,實(shí)際上是一個(gè)廣播通信域,在該層之內(nèi)的節(jié)點(diǎn)都在時(shí)間源或路由器的廣播通信域之內(nèi),中心節(jié)點(diǎn)的層次號(hào)設(shè)為0。時(shí)間同步過(guò)程中,首先對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行分層并賦給每個(gè)節(jié)點(diǎn)一個(gè)層次號(hào),然后在每一層中利用時(shí)間同步算法進(jìn)行時(shí)間同步,最后形成全網(wǎng)時(shí)間同步。
2 同步算法設(shè)計(jì)
ZigBee技術(shù)具有低速率和大容量特點(diǎn)。因此,在設(shè)計(jì)公共時(shí)鐘系統(tǒng)時(shí),必須首先建立一個(gè)精簡(jiǎn)準(zhǔn)確的時(shí)鐘同步算法。本文給出的時(shí)鐘同步算法如下:
①假設(shè)父節(jié)點(diǎn)與子節(jié)點(diǎn)的時(shí)間偏移量為△t;
②父節(jié)點(diǎn)記錄t1時(shí)間戳,發(fā)送t1和△t編碼給子節(jié)點(diǎn);
③子節(jié)點(diǎn)記錄接收到t1和△t編碼,并啟動(dòng)一精確延遲定時(shí)器,此定時(shí)器計(jì)數(shù)間隔為a;
④子節(jié)點(diǎn)對(duì)t1和△t編碼進(jìn)行處理和驗(yàn)證;
⑤若t1和△t編碼無(wú)誤,則在定時(shí)器計(jì)數(shù)完畢后,再次啟動(dòng)一精確延遲定時(shí)器,定時(shí)器計(jì)數(shù)間隔為a。同時(shí)子節(jié)點(diǎn)根據(jù)(t1+△t+a)調(diào)整自己的本地時(shí)間;
⑥定時(shí)器計(jì)數(shù)再次完畢后,子節(jié)點(diǎn)記錄當(dāng)前時(shí)刻t3時(shí)間戳,向父節(jié)點(diǎn)回復(fù)t3和a編碼;
⑦父節(jié)點(diǎn)記錄接收到t3和a編碼的時(shí)間戳t4;
⑧父節(jié)點(diǎn)按下式計(jì)算△t;
⑨在下一同步周期,返回②。
這種算法的優(yōu)點(diǎn)為:計(jì)算簡(jiǎn)單,同步精度高,同步效率高,同步精度可以實(shí)時(shí)反饋給監(jiān)控系統(tǒng)。因此,上述時(shí)鐘同步算法適合低速、大容量的ZigBee網(wǎng)絡(luò)應(yīng)用。
3 硬軟件設(shè)計(jì)
3.1 硬件設(shè)計(jì)
Chipcon公司的CC2420和CC2430是常見(jiàn)的ZigBee射頻芯片,它們實(shí)現(xiàn)ZigBee協(xié)議的物理層和媒體訪問(wèn)控制器層具備65000個(gè)節(jié)點(diǎn)通道并可隨時(shí)擴(kuò)充,芯片的傳輸速率為250 kbps,具備CSMA-CA通道狀態(tài)偵測(cè),而且具有耗電低、喚醒時(shí)間快速等特性。
CC2430具有集成度高、體積小以及成本低等特點(diǎn)。芯片上整合了ZigBee射頻(RF)前端、內(nèi)存和微控制器。它使用1個(gè)8位具有增強(qiáng)型8051核的微控制器,具有128KB可編程閃存和8 KB的RAM,還包含模擬數(shù)字轉(zhuǎn)換器、幾個(gè)定時(shí)器、AES128協(xié)同處理器、看門狗定時(shí)器、32kHz晶振的休眠模式定時(shí)器、上電復(fù)位電路、掉電檢測(cè)電路,以及21個(gè)可編程I/O引腳。
時(shí)間源節(jié)點(diǎn)兼顧協(xié)調(diào)器功能,需要較多的計(jì)算和存儲(chǔ)資源,因此時(shí)間源節(jié)點(diǎn)采用CC2420和ARM的組成方案。因?yàn)槁酚珊蜁r(shí)鐘節(jié)點(diǎn)只完成數(shù)據(jù)的轉(zhuǎn)發(fā),只實(shí)現(xiàn)簡(jiǎn)單功能的ZigBee協(xié)議棧,所以路由和時(shí)鐘節(jié)點(diǎn)采用CC2430的組成方案。時(shí)間源節(jié)點(diǎn)、路由和時(shí)鐘節(jié)點(diǎn)框圖如圖2所示。其中,時(shí)間源節(jié)點(diǎn)還包括GPS接收電路,用以接收GPS標(biāo)準(zhǔn)時(shí)間;時(shí)鐘節(jié)點(diǎn)還有LED電路,采用74HC365作為驅(qū)動(dòng)電路,用以驅(qū)動(dòng)LED指示時(shí)間。
3.2 軟件設(shè)計(jì)
系統(tǒng)設(shè)計(jì)的主要工作在于軟件設(shè)計(jì)。下面將軟件設(shè)計(jì)程序分為時(shí)間源節(jié)點(diǎn)程序、路由節(jié)點(diǎn)程序和時(shí)鐘節(jié)點(diǎn)程序3部分。
3.2.1 時(shí)間源節(jié)點(diǎn)程序
時(shí)間源節(jié)點(diǎn)程序主要包括組網(wǎng)、GPS接收和時(shí)間同步等功能,其流程如圖3所示。
ZigBee網(wǎng)絡(luò)由協(xié)調(diào)器發(fā)動(dòng)并且建立,它首先進(jìn)行信道掃描,采用一個(gè)其他網(wǎng)絡(luò)沒(méi)有使用的空閑信道,然后選擇一個(gè)隨機(jī)的PAN ID并開(kāi)始監(jiān)聽(tīng)此信道,同時(shí)規(guī)定網(wǎng)絡(luò)的拓?fù)鋮?shù),如最大的子節(jié)點(diǎn)數(shù)、最大層數(shù)、路由算法、路由表生存期等。
實(shí)際通信是通過(guò)MAC地址進(jìn)行數(shù)據(jù)傳輸?shù)?,所以每個(gè)節(jié)點(diǎn)在接收到信息包時(shí),都要維護(hù)鄰居表,鄰居表主要起地址解析的作用,即將鄰居節(jié)點(diǎn)的網(wǎng)絡(luò)地址轉(zhuǎn)換成MAC地址。同步采用定期同步方式。每一個(gè)設(shè)備儲(chǔ)存一個(gè)全局變量32位的有符號(hào)數(shù)用于記錄自身時(shí)間戳。
3.2.2 路由節(jié)點(diǎn)程序
路由節(jié)點(diǎn)程序主要包括加入網(wǎng)絡(luò)、子節(jié)點(diǎn)時(shí)間同步和父節(jié)點(diǎn)時(shí)間同步等功能,其流程如圖4所示。
協(xié)調(diào)器啟動(dòng)后,路由節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),將自己的信道設(shè)置成與現(xiàn)有的協(xié)調(diào)器使用的信道相同,并提供正確的認(rèn)證信息,即可請(qǐng)求加入網(wǎng)絡(luò),并獲取協(xié)調(diào)器的地址、自己的短MAC地址、ZigBee網(wǎng)絡(luò)地址以及協(xié)調(diào)器規(guī)定的拓?fù)鋮?shù)。
3.2.3 時(shí)鐘節(jié)點(diǎn)程序
時(shí)間節(jié)點(diǎn)程序主要包括加入網(wǎng)絡(luò)、時(shí)間同步模塊和驅(qū)動(dòng)顯示等功能,其流程如圖5所示。其中,時(shí)間節(jié)點(diǎn)加入網(wǎng)絡(luò)過(guò)程如同路由節(jié)點(diǎn)。
4 應(yīng)用
本文設(shè)計(jì)的公共時(shí)鐘系統(tǒng)在某電站辦公綜合樓內(nèi)得到應(yīng)用。系統(tǒng)由1臺(tái)監(jiān)控PC計(jì)算機(jī)、1臺(tái)美國(guó)MINI GPS接收機(jī)、1臺(tái)主時(shí)鐘、31個(gè)時(shí)鐘指示器和6個(gè)路由器組成。公共時(shí)鐘系統(tǒng)應(yīng)用示意圖如圖6所示。
主時(shí)鐘接收GPS導(dǎo)航衛(wèi)星標(biāo)準(zhǔn)時(shí)鐘,主時(shí)鐘通過(guò)RS232串口與監(jiān)控計(jì)算機(jī)相連。GPS接收機(jī)、主時(shí)鐘和監(jiān)控計(jì)算機(jī)布置于6樓。每層樓布置1臺(tái)路由器和若干時(shí)鐘指示器,路由器1至路由器6分別是6樓至1樓的路由器。樓板對(duì)傳輸ZigBee信號(hào)的屏蔽作用,經(jīng)過(guò)實(shí)測(cè),每隔兩層樓信號(hào)需要轉(zhuǎn)接。
經(jīng)過(guò)一年的運(yùn)行,結(jié)果表明:主時(shí)鐘能對(duì)所有節(jié)點(diǎn)進(jìn)行穩(wěn)定可靠的同步,同步精度較高,監(jiān)控顯示同步精度在20 ms內(nèi),人工沒(méi)有觀察到跳秒現(xiàn)象。
結(jié)語(yǔ)
公共時(shí)鐘系統(tǒng)主要為公眾場(chǎng)所提供統(tǒng)一的標(biāo)準(zhǔn)時(shí)間,使這些場(chǎng)所的設(shè)備和人員的活動(dòng)有序協(xié)調(diào),對(duì)公共場(chǎng)所活動(dòng)的正常運(yùn)行起著非常重要的作用。
本文以ZigBee技術(shù)為基礎(chǔ),構(gòu)建的一種公共時(shí)鐘系統(tǒng),具有非布線、自組織、低功耗等特點(diǎn),為公共時(shí)鐘系統(tǒng)的實(shí)現(xiàn)提供了新的技術(shù)途徑。其中的ZigBee技術(shù)更具有顯著的低成本、傳輸距離遠(yuǎn)以及組網(wǎng)性能好等優(yōu)勢(shì)。所構(gòu)建的公共時(shí)鐘系統(tǒng)經(jīng)過(guò)一年的運(yùn)行,其結(jié)果表明,系統(tǒng)時(shí)鐘同步精度高、運(yùn)行可靠穩(wěn)定。這說(shuō)明本文所構(gòu)建的公共時(shí)鐘系統(tǒng)是可行的,能夠克服目前普遍采用的基于互聯(lián)網(wǎng)、RS485網(wǎng)等時(shí)鐘同步系統(tǒng)的缺陷。