裴 勇,湯寶平,鄧 蕾,肖 鑫
(重慶大學(xué)機(jī)械傳動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 400030)
基于信標(biāo)時(shí)序補(bǔ)償?shù)臋C(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)同步觸發(fā)方法
裴 勇,湯寶平,鄧 蕾,肖 鑫
(重慶大學(xué)機(jī)械傳動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 400030)
針對(duì)無(wú)線傳感器網(wǎng)絡(luò)(WSN)在實(shí)現(xiàn)機(jī)械振動(dòng)同步采集過(guò)程中,采集節(jié)點(diǎn)應(yīng)該同時(shí)觸發(fā)采集命令,同步觸發(fā)誤差應(yīng)在一個(gè)采樣周期內(nèi)的要求,設(shè)計(jì)了一種基于信標(biāo)時(shí)序補(bǔ)償思想的WSN同步觸發(fā)協(xié)議STBTC_P(the Synchronization Trigger protocol based on Beacon Timing Compensation)。協(xié)議基于IEEE 802.15.4協(xié)議標(biāo)準(zhǔn)開發(fā)多跳樹狀網(wǎng)絡(luò),以信標(biāo)負(fù)載方式傳輸采集命令,在利用集中關(guān)聯(lián)信標(biāo)分配法避免信標(biāo)沖突并實(shí)現(xiàn)全網(wǎng)時(shí)鐘同步后,采用基于信標(biāo)時(shí)序補(bǔ)償思想的同步觸發(fā)方法實(shí)現(xiàn)機(jī)械振動(dòng)采集命令的多跳同步觸發(fā),為最終提高機(jī)械振動(dòng)同步采集精度創(chuàng)造使能條件。最后,在自研采集節(jié)點(diǎn)WSN-G2上運(yùn)行STBTC_P協(xié)議,并驗(yàn)證了其有效性。
無(wú)線傳感器網(wǎng)絡(luò);機(jī)械振動(dòng);同步采集;IEEE 802.15.4
在使用無(wú)線傳感器網(wǎng)絡(luò)(WSN)進(jìn)行機(jī)械振動(dòng)監(jiān)測(cè)時(shí),為保證信號(hào)分析結(jié)果的準(zhǔn)確性,需要對(duì)多測(cè)點(diǎn)振動(dòng)信號(hào)進(jìn)行同步采集[1-3]。然而,作為分布式采集系統(tǒng),無(wú)線傳感器網(wǎng)絡(luò)對(duì)機(jī)械振動(dòng)信號(hào)進(jìn)行同步采集面臨諸多難題[3-4],其中一個(gè)重要問(wèn)題就是要實(shí)現(xiàn)采集命令同步觸發(fā)。如果Sink節(jié)點(diǎn)發(fā)出采集命令后,各個(gè)采集節(jié)點(diǎn)觸發(fā)采集命令的時(shí)間差過(guò)大,將直接影響同步采集精度;往往同步觸發(fā)誤差控制在一個(gè)采樣周期內(nèi),可以為進(jìn)一步采用重采樣法、同步截取等方法實(shí)現(xiàn)同步采集建立良好的基礎(chǔ)[4]。那么對(duì)于機(jī)械振動(dòng)采集一般要求數(shù)kHz采樣頻率的情況,要使觸發(fā)誤差控制在一個(gè)采樣周期內(nèi)就相當(dāng)困難。另外,受節(jié)點(diǎn)發(fā)送功率和能耗等限制,節(jié)點(diǎn)單跳發(fā)送距離只有數(shù)十米,往往組成多跳網(wǎng)絡(luò)進(jìn)行機(jī)械振動(dòng)監(jiān)測(cè)[5],那么在多跳網(wǎng)絡(luò)中實(shí)現(xiàn)采集命令同步觸發(fā)就更加艱難,并需要以各個(gè)采集節(jié)點(diǎn)實(shí)現(xiàn)時(shí)鐘同步為基礎(chǔ)[6]。
目前針對(duì)WSN全網(wǎng)時(shí)鐘同步方法的研究較多,且取得了一些成果[7-8],但是針對(duì)機(jī)械振動(dòng)采集命令同步觸發(fā)方法的研究較少。針對(duì)這個(gè)問(wèn)題,本文以IEEE 802.15.4協(xié)議[9]為底層基礎(chǔ),提出了一種信標(biāo)時(shí)序補(bǔ)償思想,并基于此思想設(shè)計(jì)實(shí)現(xiàn)了一種WSN同步觸發(fā)協(xié)議STBTC_P(the Synchronization Trigger protocol based on Beacon Timing Compensation)。協(xié)議采用集中關(guān)聯(lián)信標(biāo)分配法解決多跳網(wǎng)絡(luò)信標(biāo)沖突問(wèn)題,實(shí)現(xiàn)全網(wǎng)時(shí)鐘同步,并提出基于信標(biāo)時(shí)序補(bǔ)償思想的同步觸發(fā)方法,實(shí)現(xiàn)命令的多跳同步觸發(fā),為最終提高機(jī)械振動(dòng)同步采集精度創(chuàng)造使能條件。
STBTC_P協(xié)議采用TIMAC協(xié)議棧[10]作為底層基礎(chǔ),負(fù)責(zé)物理層和MAC層功能;另外還包括網(wǎng)絡(luò)層模塊、應(yīng)用層模塊、采集模塊和上位機(jī)模塊幾個(gè)上層部分,協(xié)議總體架構(gòu)如圖1所示。
圖1 STBTC_P協(xié)議??傮w架構(gòu)圖Fig.1 Overall architecture of STBTC_P
TIMAC協(xié)議棧是TI公司制定的IEEE802.15.4介質(zhì)訪問(wèn)控制層(MAC層)協(xié)議棧,它基于CC2430芯片[11]實(shí)現(xiàn)了IEEE802.15.4協(xié)議的物理層和MAC層功能。IEEE802.15.4協(xié)議標(biāo)準(zhǔn)[9]不僅具有低功耗,低成本等優(yōu)點(diǎn),而且在它的信標(biāo)使能模式下,父節(jié)點(diǎn)能夠通過(guò)周期性發(fā)送信標(biāo)實(shí)現(xiàn)與子節(jié)點(diǎn)之間的時(shí)鐘同步,為實(shí)現(xiàn)全網(wǎng)時(shí)鐘同步以及進(jìn)一步實(shí)現(xiàn)各個(gè)采集命令同步觸發(fā)提供了基礎(chǔ)條件。
網(wǎng)絡(luò)層和應(yīng)用層模塊作為STBTC_P協(xié)議的核心,對(duì)采集命令同步觸發(fā)功能的實(shí)現(xiàn)起到關(guān)鍵作用。首先,在組網(wǎng)過(guò)程中,為了避免多跳網(wǎng)絡(luò)中發(fā)生信標(biāo)沖突并導(dǎo)致節(jié)點(diǎn)時(shí)鐘同步失敗,網(wǎng)絡(luò)層模塊采用集中關(guān)聯(lián)信標(biāo)分配法,由Sink節(jié)點(diǎn)統(tǒng)一為各個(gè)路由器安排信標(biāo)發(fā)送時(shí)序,解決信標(biāo)沖突問(wèn)題,并實(shí)現(xiàn)全網(wǎng)時(shí)鐘同步。然后,在應(yīng)用層模塊中,STBTC_P協(xié)議在全網(wǎng)時(shí)鐘同步的基礎(chǔ)上,根據(jù)各個(gè)父節(jié)點(diǎn)信標(biāo)發(fā)送時(shí)序,采用信標(biāo)時(shí)序補(bǔ)償同步法達(dá)到機(jī)械振動(dòng)采集命令多跳同步觸發(fā)的目的。
采集模塊作為采集命令的最終執(zhí)行機(jī)構(gòu),采集命令在應(yīng)用層模塊中經(jīng)過(guò)相應(yīng)的時(shí)序補(bǔ)償后下發(fā)到采集模塊,并由采集模塊同時(shí)觸發(fā)AD轉(zhuǎn)換器啟動(dòng)振動(dòng)數(shù)據(jù)采集。
下面將對(duì)STBTC_P協(xié)議的功能進(jìn)行詳細(xì)描述。
開始進(jìn)行信號(hào)采集前,STBTC_P協(xié)議以簇樹網(wǎng)絡(luò)作為基本拓?fù)浣Y(jié)構(gòu)組建網(wǎng)絡(luò)。除Sink節(jié)點(diǎn)外,網(wǎng)絡(luò)中每個(gè)子節(jié)點(diǎn)有且僅有一個(gè)父節(jié)點(diǎn),采集命令由Sink節(jié)點(diǎn)依次通過(guò)父子鏈路傳送到各個(gè)采集節(jié)點(diǎn),直至采集模塊觸發(fā)采集。要實(shí)現(xiàn)采集命令同步觸發(fā),各個(gè)采集節(jié)點(diǎn)的采集模塊同時(shí)接收到命令是關(guān)鍵。
根據(jù)IEEE 802.15.4標(biāo)準(zhǔn)可知,在信標(biāo)使能模式下,各個(gè)父節(jié)點(diǎn)不采用競(jìng)爭(zhēng)機(jī)制發(fā)送信標(biāo),而是以廣播的形式發(fā)送。因此,在單跳命令傳輸過(guò)程中,采用信標(biāo)負(fù)載的方式,把采集命令包含在信標(biāo)中發(fā)送給子節(jié)點(diǎn),可使每個(gè)子節(jié)點(diǎn)同時(shí)接收到命令,如果立即下發(fā)給采集模塊可達(dá)到同步觸發(fā)的目的,如圖2所示。
圖2 信標(biāo)負(fù)載命令發(fā)送方式示意圖Fig.2 Beacons load mode of sending command
然而,在多跳簇樹網(wǎng)絡(luò)中,各個(gè)采集節(jié)點(diǎn)屬于不同的父節(jié)點(diǎn),它們分別發(fā)送各自的信標(biāo),如果采用信標(biāo)負(fù)載的方式發(fā)送采集命令,當(dāng)網(wǎng)絡(luò)中多個(gè)設(shè)備同時(shí)發(fā)送信標(biāo)時(shí)就有可能發(fā)生信標(biāo)沖突,使得子節(jié)點(diǎn)無(wú)法正常接收到信標(biāo),導(dǎo)致采集命令丟失,系統(tǒng)同步采集失敗。如圖3所示的兩種情況,節(jié)點(diǎn)N1因信標(biāo)沖突而無(wú)法接收信標(biāo)[12]。
圖3 信標(biāo)幀沖突示意圖Fig.3 Schematic diagram of beacon frame conflict
所以,在實(shí)現(xiàn)全網(wǎng)采集命令同步觸發(fā)之前,必須先解決網(wǎng)絡(luò)中信標(biāo)沖突的問(wèn)題。
2.1 避免信標(biāo)沖突
IEEE 802.15.4標(biāo)準(zhǔn)引入了超幀結(jié)構(gòu),通過(guò)信標(biāo)幀標(biāo)定,把信道訪問(wèn)的時(shí)間分為活動(dòng)區(qū)間和非活動(dòng)區(qū)間,設(shè)備在活動(dòng)區(qū)間訪問(wèn)信道,在其它時(shí)間處于低功耗休眠狀態(tài),并分別通過(guò)兩個(gè)屬性BO和SO描述信標(biāo)發(fā)送間隔BI以及活動(dòng)區(qū)間長(zhǎng)度SD[9]。
根據(jù)這一特點(diǎn),STBTC_P協(xié)議采用時(shí)分復(fù)用的思想,安排所有父節(jié)點(diǎn)分別在不同的時(shí)間段發(fā)送信標(biāo),把它們?cè)L問(wèn)信道的活動(dòng)區(qū)間區(qū)分開來(lái),避免各個(gè)父節(jié)點(diǎn)的信標(biāo)發(fā)生沖突。具體信標(biāo)發(fā)送時(shí)序的安排方案如下所述:
首先,根據(jù)監(jiān)測(cè)網(wǎng)絡(luò)規(guī)模和網(wǎng)絡(luò)中路由器的位置,在保證超幀結(jié)構(gòu)的非活動(dòng)區(qū)間能夠滿足所有其它鄰居設(shè)備安排各自活動(dòng)區(qū)間的同時(shí),以信道利用率最大化為原則,設(shè)置合適的屬性值SO和BO。然后,利用IEEE 802.15.4協(xié)議標(biāo)準(zhǔn)中超幀配置原語(yǔ)提供的參數(shù)“開始發(fā)送信標(biāo)的時(shí)間”StartTime,由Sink節(jié)點(diǎn)采用集中關(guān)聯(lián)時(shí)序分配法統(tǒng)一給網(wǎng)絡(luò)中每個(gè)路由器分配合適的信標(biāo)開始發(fā)送時(shí)間。StartTime是子路由器相對(duì)于其父節(jié)點(diǎn)信標(biāo)發(fā)送時(shí)間的時(shí)間偏移。Sink節(jié)點(diǎn)采用集中關(guān)聯(lián)時(shí)序分配法為每個(gè)路由器分配的StartTime為:StartTime=(1+offset×numRouter)×(SD+GT)
公式中numRouter為同一深度中已入網(wǎng)的兄弟路由器個(gè)數(shù);GT是為了保證父節(jié)點(diǎn)和子節(jié)點(diǎn)的超幀不沖突而添加的一段基本保護(hù)時(shí)間,取GT=SD/16;offset為每個(gè)兄弟路由器和它所有子孫路由器的信標(biāo)發(fā)送時(shí)間偏移總量:其中:Rm為每個(gè)父設(shè)備最多允許關(guān)聯(lián)的路由器個(gè)數(shù),Lm為網(wǎng)絡(luò)最大深度,參數(shù)d為申請(qǐng)路由器的深度。
最后,路由器獲得參數(shù)StartTime后,在其父節(jié)點(diǎn)發(fā)送完信標(biāo)后,等待StartTime時(shí)間再開始發(fā)送信標(biāo),使得它的信標(biāo)不和其它任何信標(biāo)發(fā)生沖突,保證信標(biāo)接收正常。信標(biāo)發(fā)送具體過(guò)程如圖4所示。
圖4 路由器發(fā)送信標(biāo)流程圖Fig.4 Schematic diagram of routers transmit beacon process
2.2 采集命令同步觸發(fā)
解決了信標(biāo)沖突問(wèn)題后,由Sink節(jié)點(diǎn)采用信標(biāo)負(fù)載的方式發(fā)出采集命令,但是這樣只能保證網(wǎng)絡(luò)中同一父節(jié)點(diǎn)的幾個(gè)采集子節(jié)點(diǎn)同時(shí)接收到命令信標(biāo),而無(wú)法實(shí)現(xiàn)全網(wǎng)采集命令的同步觸發(fā)。因?yàn)樵诙嗵W(wǎng)絡(luò)中,子節(jié)點(diǎn)只有在活動(dòng)區(qū)間才能接收父節(jié)點(diǎn)的信標(biāo),采集命令信標(biāo)必須經(jīng)過(guò)父節(jié)點(diǎn)轉(zhuǎn)發(fā)才能到達(dá)采集子節(jié)點(diǎn),而每個(gè)父節(jié)點(diǎn)都有自己獨(dú)立的信標(biāo)發(fā)送時(shí)序,這就導(dǎo)致網(wǎng)絡(luò)中各個(gè)父節(jié)點(diǎn)的采集子節(jié)點(diǎn)接收到命令信標(biāo)的時(shí)間各不相同,如果采集節(jié)點(diǎn)立即把命令下發(fā)到采集模塊,就無(wú)法達(dá)到各節(jié)點(diǎn)采集命令同步觸發(fā)的要求。如圖5(a)所示,三個(gè)采集節(jié)點(diǎn)分別在TA1、TA2和TA3開始采集。
圖5 信標(biāo)時(shí)序補(bǔ)償同步觸發(fā)Fig.5 Beacon timing compensation synchronous trigger
考慮到采集子節(jié)點(diǎn)接收到命令信標(biāo)的時(shí)間取決于其父節(jié)點(diǎn)發(fā)送信標(biāo)的時(shí)序,STBTC_P協(xié)議根據(jù)信標(biāo)時(shí)序分配的特點(diǎn),采用信標(biāo)時(shí)序補(bǔ)償?shù)姆椒ń鉀Q多跳網(wǎng)絡(luò)中采集命令同步觸發(fā)問(wèn)題。其主要思想是各個(gè)采集子節(jié)點(diǎn)接收到命令信標(biāo)之后,并不立即把命令下發(fā)到采集模塊去執(zhí)行,而是分別根據(jù)各自父節(jié)點(diǎn)的信標(biāo)發(fā)送時(shí)序等待相應(yīng)的補(bǔ)償時(shí)間之后再發(fā)送,達(dá)到同步觸發(fā)的目的,因此此方法必須以全網(wǎng)節(jié)點(diǎn)時(shí)鐘同步為前提。
根據(jù)IEEE 802.15.4標(biāo)準(zhǔn)提供的子節(jié)點(diǎn)與父節(jié)點(diǎn)時(shí)鐘同步機(jī)制[9],在信標(biāo)使能模式下,父節(jié)點(diǎn)周期性的發(fā)送帶有時(shí)間戳的信標(biāo)。各個(gè)子節(jié)點(diǎn)成功加入網(wǎng)絡(luò)后,通過(guò)接收父節(jié)點(diǎn)信標(biāo)、解析信標(biāo)中的時(shí)間戳并記錄接收信標(biāo)的時(shí)間實(shí)現(xiàn)和父節(jié)點(diǎn)間的時(shí)鐘同步。然后在多跳簇樹網(wǎng)絡(luò)中,各個(gè)父節(jié)點(diǎn)分別通過(guò)發(fā)送信標(biāo)來(lái)同步子節(jié)點(diǎn)的時(shí)鐘,并依次和各自父節(jié)點(diǎn)的時(shí)鐘同步,最終實(shí)現(xiàn)全網(wǎng)節(jié)點(diǎn)時(shí)鐘同步。
全網(wǎng)時(shí)鐘實(shí)現(xiàn)同步后,可以使用信標(biāo)時(shí)序補(bǔ)償方法來(lái)實(shí)現(xiàn)采集命令的同步觸發(fā),為每個(gè)父節(jié)點(diǎn)的采集子節(jié)點(diǎn)安排合適的同步觸發(fā)補(bǔ)償時(shí)間。
根據(jù)監(jiān)測(cè)網(wǎng)絡(luò)規(guī)模獲得網(wǎng)絡(luò)中所有信標(biāo)發(fā)送設(shè)備的最大數(shù)目N=R0m+R1m+…+RLm-1m,那么節(jié)點(diǎn)N是最后一個(gè)發(fā)送信標(biāo)的父節(jié)點(diǎn),它的采集子節(jié)點(diǎn)接收到采集命令后立即下發(fā)到采集模塊,設(shè)置其補(bǔ)償時(shí)間backoff_N為0,而Sink節(jié)點(diǎn)作為第一個(gè)發(fā)送信標(biāo)的父節(jié)點(diǎn),它的采集子節(jié)點(diǎn)的補(bǔ)償時(shí)間backoff_0為:
backoff_0=(N-1)×(SD+GT)
網(wǎng)絡(luò)中第n個(gè)信標(biāo)發(fā)送設(shè)備的采集子節(jié)點(diǎn)的補(bǔ)償時(shí)間backoff_n應(yīng)為:
backoff_n=backoff_pn-StartTime_n
其中:backoff_pn為第n個(gè)信標(biāo)發(fā)送設(shè)備的父節(jié)點(diǎn)的補(bǔ)償時(shí)間;StartTime_n為第n個(gè)信標(biāo)發(fā)送設(shè)備相對(duì)于其父節(jié)點(diǎn)信標(biāo)發(fā)送時(shí)間的時(shí)間偏移。
同步觸發(fā)補(bǔ)償時(shí)間由各個(gè)父節(jié)點(diǎn)設(shè)置好,和采集命令一起添加到信標(biāo)負(fù)載中發(fā)送給采集子節(jié)點(diǎn),采集子節(jié)點(diǎn)接收到父節(jié)點(diǎn)帶有命令和補(bǔ)償時(shí)間的信標(biāo)后,解析信標(biāo)負(fù)載獲得補(bǔ)償時(shí)間,并等待相應(yīng)的補(bǔ)償時(shí)間之后把命令下發(fā)給采集模塊執(zhí)行,達(dá)到同步觸發(fā)的目的,如圖5(b)所示,三個(gè)采集節(jié)點(diǎn)同時(shí)在時(shí)間TA開始采集。
為了驗(yàn)證STBTC_P協(xié)議獲得的同步觸發(fā)精度,本文以WSN-G2節(jié)點(diǎn)搭建平臺(tái)進(jìn)行驗(yàn)證實(shí)驗(yàn)。WSNG2節(jié)點(diǎn)是針對(duì)機(jī)械振動(dòng)監(jiān)測(cè)應(yīng)用而設(shè)計(jì)的WSN采集/路由節(jié)點(diǎn),它采用雙核心架構(gòu),核心1采用先進(jìn)的STM32微控制器和獨(dú)立的高采樣率、高分辨率的A/D轉(zhuǎn)換器,負(fù)責(zé)振動(dòng)信號(hào)的采集;核心2采用TI公司開發(fā)的CC2430射頻芯片[11],是STBTC_P協(xié)議的主要運(yùn)行平臺(tái),兩個(gè)核心通過(guò)串口通信,節(jié)點(diǎn)實(shí)物如圖6所示。
3.1 節(jié)點(diǎn)時(shí)鐘同步精度
為了測(cè)試網(wǎng)絡(luò)中父節(jié)點(diǎn)信標(biāo)發(fā)送時(shí)序以及時(shí)鐘同步精度,組建一個(gè)三跳網(wǎng)絡(luò),包含1個(gè)Sink節(jié)點(diǎn)、5個(gè)路由父節(jié)點(diǎn)和7個(gè)采集子節(jié)點(diǎn),組網(wǎng)參數(shù)分別為:BO=7,SO=4,Cm=4,Rm=2,Lm=3。組成的三跳網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖7所示。
圖6 WSN-G2節(jié)點(diǎn)實(shí)物圖Fig.6 The prototype ofWSN-G2 node
圖7 三跳網(wǎng)絡(luò)拓?fù)鋱DFig.7 The topology map of three-hop network
利用協(xié)議抓包工具Packet_Sniffer抓取網(wǎng)絡(luò)信道中所有信號(hào)包,包括每個(gè)信標(biāo)發(fā)送設(shè)備加入網(wǎng)絡(luò)之后發(fā)送的所有周期的信標(biāo)幀,圖8顯示了在其中任意選取的一個(gè)信標(biāo)周期內(nèi)抓取的所有信標(biāo)幀。
圖8 信標(biāo)發(fā)送時(shí)序圖Fig.8 The diagram of beacon transm ission timing
圖中深色框圈住的列依次是接收信標(biāo)的時(shí)間間隔、發(fā)送節(jié)點(diǎn)地址以及信標(biāo)發(fā)送StartTime值,依圖可知,在這個(gè)任意選取的信標(biāo)周期中,各個(gè)設(shè)備都按照各自的發(fā)送時(shí)序發(fā)送信標(biāo),沒(méi)有發(fā)生信標(biāo)碰撞,說(shuō)明集中關(guān)聯(lián)時(shí)序分配法可以很好地避免多跳信標(biāo)碰撞問(wèn)題。
根據(jù)接收信標(biāo)的間隔還可以獲得節(jié)點(diǎn)間的時(shí)鐘同步精度。節(jié)點(diǎn)1和節(jié)點(diǎn)E同為Sink節(jié)點(diǎn)0的子節(jié)點(diǎn),它們的理論StartTime值分別為261 120μs和1 044 480 μs(0x3fc0和0xff00個(gè)符號(hào)周期,每個(gè)符號(hào)周期16μs[9]),而它們相對(duì)于父節(jié)點(diǎn)0的實(shí)際發(fā)送間隔分別為261 106μs和1 044 463μs,與理論值分別相差14和17μs;節(jié)點(diǎn)E與節(jié)點(diǎn)2間的信標(biāo)間隔522246μs與理論值522 240μs((0xff00-0x3fc0-0x3 fc0)個(gè)符號(hào)周期)只相差6μs。依此方式依次比較,可獲得這個(gè)信標(biāo)周期內(nèi)最大偏差為17μs,最大時(shí)鐘同步誤差也就是17μs。
分別對(duì)其中20個(gè)信標(biāo)周期中的最大偏差進(jìn)行統(tǒng)計(jì),計(jì)算它們的均值和方差,并重復(fù)組建十次相同的網(wǎng)絡(luò)進(jìn)行相同的統(tǒng)計(jì)實(shí)驗(yàn),統(tǒng)計(jì)結(jié)果如圖9所示。從圖中可以看出,各個(gè)節(jié)點(diǎn)間的時(shí)鐘同步誤差平均在20μs內(nèi),相對(duì)于無(wú)線傳感器網(wǎng)絡(luò)中兩種常用的時(shí)鐘同步算法FTSP和TPSN分別達(dá)到的67μs[13]和50μs[14]時(shí)鐘同步精度具有較大的優(yōu)勢(shì)。
圖9 多節(jié)點(diǎn)時(shí)鐘同步精度測(cè)試統(tǒng)計(jì)結(jié)果Fig.9 The synchronous accuracy of nodes’clock
3.2 命令同步觸發(fā)精度
測(cè)試同步觸發(fā)精度時(shí),由Sink節(jié)點(diǎn)發(fā)送采集命令,用邏輯分析儀捕獲每個(gè)采集節(jié)點(diǎn)觸發(fā)采集時(shí)AD轉(zhuǎn)換器上引腳的變化時(shí)序來(lái)獲得節(jié)點(diǎn)的同步觸發(fā)誤差。如圖10所示,7個(gè)采集節(jié)點(diǎn)間命令觸發(fā)的最大時(shí)間誤差約為175μs。
圖10 同步觸發(fā)誤差測(cè)試Fig.10 The error test of synchronous trigger
為了測(cè)試同步觸發(fā)效果以及網(wǎng)絡(luò)跳數(shù)對(duì)精度的影響,本文分別組成單跳、雙跳和三跳網(wǎng)絡(luò)重復(fù)進(jìn)行20次相同的實(shí)驗(yàn),統(tǒng)計(jì)各自的最大同步誤差,結(jié)果如圖11所示。
圖11 多節(jié)點(diǎn)命令同步觸發(fā)精度測(cè)試結(jié)果Fig.11 The synchronous accuracy of nodes triggering command
從圖中可以看出,單跳網(wǎng)絡(luò)中命令觸發(fā)最大誤差低于100μs,可以保證在10 kHz采樣速率下,各個(gè)采集節(jié)點(diǎn)采集第一個(gè)信號(hào)點(diǎn)的最大時(shí)間差低于一個(gè)采樣周期,可以為10 kHz同步采樣建立同步觸發(fā)基礎(chǔ);而雙跳和三跳網(wǎng)絡(luò)低于300μs的最大誤差也能達(dá)到3 kHz采樣速率的同步觸發(fā)要求,滿足一般機(jī)械振動(dòng)同步采集要求。
從圖11中還可以看出,多跳網(wǎng)絡(luò)的同步觸發(fā)誤差相對(duì)于單跳網(wǎng)絡(luò)增大明顯,但是三跳網(wǎng)絡(luò)相對(duì)于雙跳網(wǎng)絡(luò)并沒(méi)有明顯的增大。通過(guò)實(shí)驗(yàn)分析發(fā)現(xiàn)其中一個(gè)主要原因就是因?yàn)镾TBTC_P協(xié)議的底層基礎(chǔ)TIMAC采用了一種非搶占型多任務(wù)OS操作系統(tǒng),在單跳網(wǎng)絡(luò)中,采集節(jié)點(diǎn)接收到采集命令后立即開始采集,不需要時(shí)間補(bǔ)償;而在多跳網(wǎng)絡(luò)中,采集節(jié)點(diǎn)需要等待相應(yīng)的補(bǔ)償時(shí)間后才能開始采集,而每個(gè)節(jié)點(diǎn)的時(shí)間補(bǔ)償是通過(guò)OS操作系統(tǒng)來(lái)完成的,這在一定程度上增大了同步誤差。為了進(jìn)一步提高多跳同步觸發(fā)精度,下一步將嘗試直接采用芯片上的硬件定時(shí)器來(lái)提供補(bǔ)償時(shí)間,并引入實(shí)時(shí)操作系統(tǒng),改進(jìn)完善底層協(xié)議。
針對(duì)機(jī)械振動(dòng)信號(hào)同步采集應(yīng)用中需要各個(gè)采集節(jié)點(diǎn)采集命令同步觸發(fā)的要求,設(shè)計(jì)了一種無(wú)線傳感器網(wǎng)絡(luò)機(jī)械振動(dòng)采集命令多跳同步觸發(fā)協(xié)議,采用集中關(guān)聯(lián)信標(biāo)分配法解決了多跳網(wǎng)絡(luò)中信標(biāo)沖突問(wèn)題,并提出了信標(biāo)時(shí)序補(bǔ)償法實(shí)現(xiàn)采集命令的多跳同步觸發(fā)。
在本文基礎(chǔ)上,我們的后續(xù)工作將嘗試直接采用芯片上的硬件定時(shí)器來(lái)提供補(bǔ)償時(shí)間,并引入實(shí)時(shí)操作系統(tǒng),改進(jìn)完善底層協(xié)議,提高命令同步觸發(fā)精度,并進(jìn)一步研究重采樣法和同步截取法等同步采集方法,提高同步采集精度。
[1]Xiao H,Lu C,Ogai H.A multi-hop low cost time synchronization algorithm forwireless sensor network in bridge health diagnosis system[C]//Embedded and Real-Time Computing Systems and Applications(RTCSA),2012 IEEE 18 th International Conference on.IEEE,2012:392-395.
[2]Krishnamurthy V,F(xiàn)owler K,Sazonov E.The effect of time synchronization of wireless sensors on the modal analysis of structures[J].Smart Materials and Structures,2008,17(5):1-13.
[3]湯寶平,曹小佳,張國(guó)壘.機(jī)械振動(dòng)監(jiān)測(cè)中的無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步研究[J].中國(guó)機(jī)械工程,2010,21(10):1190-1194.
TANG Bao-ping,CAO Xiao-jia,ZHANG Guo-lei.Time synchronization of wireless sensor networks for mechanical vibration monitoring[J].Chinese Journal of Mechanical Engineering,2010,21(10):1190-1194.
[4]Rice J A,Billie F S J.Flexible smart sensor framework for autonomous full-scale structural health monitoring[R].Newmark Structural Engineering Laboratory Report Series 018,2009.
[5]湯寶平,賀 超,曹小佳.面向機(jī)械振動(dòng)監(jiān)測(cè)的無(wú)線傳感器網(wǎng)絡(luò)結(jié)構(gòu)[J].振動(dòng)、測(cè)試與診斷,2010,30(4):357-361.
TANG Bao-ping,HE Chao,CAO Xiao-jia.Topology of wireless sensor networks for mechanical vibration monitoring[J].Journal of Vibration,Measurement&Diagnosis,2010,30(4):357-361.
[6]Hu X Y,Wang BW,JiH.A wireless sensor network-based structural health monitoring system for highway bridges[J].Computer-Aided Civil and Infrastructure Engineering,2013, 28(3):193-209.
[7]Maróti M,Kusy B,Simon G,et al.The flooding time synchronization protocol[C]//Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems.ACM,2004:39-49.
[8]Elson J,Girod L,Estrin D.Fine-grained network time synchronization using reference broadcasts[J].ACMSIGOPS Operating Systems Review,2002,36(SI):147-163.
[9]IEEE 802.15.4.Wireless Medium Access Control(MAC)and Physical Layer(PHY)Specification for Low-Rate WireLess Personal Area Networks(LR-WPANs)[S].New York:IEEE Standard Committee,2006.
[10]Texas Instruments.802.15.4 MAC User’s Guide For CC2430.2009.
[11]Texas Instruments.CC2430 Datasheet[EB/OL].http://focus.ti.com/docs/prod/folders/print/cc2430.htm l.
[12]Koubaa A,Cunha A,Alves M.A time division beacon schedulingmechanism for IEEE 802.15.4/Zigbee cluster-tree wireless sensor networks[C]//19th Euromicro Conference on Date of Conference.Pisa:2007:125-135.
[13]Kim S,Pakzad S,Culler D,et al.Healthmonitoring of civil infrastructures using wireless sensor networks[C]//Information Processing in Sensor Networks,2007.IPSN 2007,6th International Symposium on.IEEE,2007:254-263.
[14]Ganeriwal S,Kumar R,Srivastava MB.Timing-sync protocol for sensor networks[C]//Proceedings of the 1st International Conference on Embedded Networked Sensor Systems.ACM,2003:138-149.
AWSN mechanical vibration synchronous acquisition trigger protocol based on beacon tim ing com pensation
PEIYong,TANG Bao-ping,DENG Lei,XIAO Xin
(The State Key Laboratory of Mechanical Transmission,Chongqing University,Chongqing 400030,China)
Aiming at the requirement that the sample commands of all the nodes should be triggered synchronously and the synchronization error should be less than one sampling period in the process ofmechanical vibration synchronous acquisition using a wireless sensor net(WSN),a WSN synchronization trigger protocol based on beacon timing compensation was designed.The protocol was developed based on IEEE 802.15.4 Standard,the acquisition commands were transmitted with beacon.A good foundation for synchronization acquisition by effectively avoiding beacon conflicts with the centralized associated beacons allocationmethod firstly and then achieving trigger synchronization with the beacon timing compensation method for a multi-hop network was established.Finally,the proposed protocalran on the selfdesigned acquisition nodeWSN-G2 and its effectivenesswas verified.
wireless sensor network(WSN);mechanical vibration;synchronous acquisition;IEEE 802.15.4
TP393.1;TH17
A
國(guó)家自然科學(xué)基金資助項(xiàng)目(51375514);高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金資助(20130191130001);機(jī)械傳動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室科研業(yè)務(wù)費(fèi)(SKLMT-ZZKT-2012 MS 09)資助
2012-12-17 修改稿收到日期:2013-03-11
裴 勇男,碩士生,1988年4月生
湯寶平男,博士,教授,博士生導(dǎo)師,1971年9月生