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