付 豪, 湯寶平, 黃 藝, 鄧 蕾, 何 灝
(重慶大學(xué) 機(jī)械傳動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 400030)
同步觸發(fā)采集是無(wú)線傳感器網(wǎng)絡(luò)在機(jī)械振動(dòng)監(jiān)測(cè)中的關(guān)鍵問(wèn)題。在進(jìn)行機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)信號(hào)采集時(shí),為保證信號(hào)分析結(jié)果的準(zhǔn)確性需多節(jié)點(diǎn)同步觸發(fā)采集,但由于節(jié)點(diǎn)分散,難以保證各個(gè)節(jié)點(diǎn)同步測(cè)量[1-3]。目前同步采集主要采用信標(biāo)同步[4]、時(shí)鐘同步[5]或采集節(jié)點(diǎn)間通信[6]等方法。信標(biāo)同步或時(shí)鐘同步需頻繁獲取并發(fā)送信標(biāo)、時(shí)間戳等,易增加節(jié)點(diǎn)功耗,采集節(jié)點(diǎn)間通信難以在距離較遠(yuǎn)時(shí)實(shí)現(xiàn)同步信息傳輸[7]。此外,目前大多數(shù)節(jié)點(diǎn)均采用單控制器與單傳輸器的設(shè)計(jì)模式,其功能簡(jiǎn)單,難以平衡傳輸速度、傳輸距離、節(jié)點(diǎn)組網(wǎng)、同步采集等需求。
目前,信標(biāo)或時(shí)鐘同步采集方法主要有參考廣播同步算法[8]、傳感器網(wǎng)絡(luò)時(shí)間同步協(xié)議 (timing-sync protocol for sensor networks, TPSN)[9]、延遲測(cè)量時(shí)間同步協(xié)議[10]、動(dòng)態(tài)傳感器網(wǎng)絡(luò)時(shí)間同步協(xié)議 (flooding time synchronization protocol,FTSP)及其改進(jìn)算法。目前上述方法已在一些領(lǐng)域得到了廣泛的應(yīng)用,但在機(jī)械振動(dòng)測(cè)試方面同步觸發(fā)精度相對(duì)較低,如FTSP和TPSN最小同步精度分別為67 μs[11]和50 μs[12]。
本文在設(shè)計(jì)雙模復(fù)用基礎(chǔ)上,構(gòu)建伴隨組網(wǎng)方法,提出路徑感知觸發(fā)方法,為機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)提供了一種不依賴時(shí)鐘、信標(biāo)與節(jié)點(diǎn)間通信同步的路徑感知同步觸發(fā)方法。
本文采用以ARM(advanced RISC machine)架構(gòu)為核心輔以恒流源驅(qū)動(dòng)、信號(hào)選擇、濾波、信號(hào)差分、信號(hào)采集、數(shù)據(jù)存儲(chǔ)等電路的前端采集節(jié)點(diǎn)設(shè)計(jì)。在傳輸方面,采用以高效傳輸為特點(diǎn)的無(wú)線傳輸IEEE802.11協(xié)議模塊一與以自組網(wǎng)為特點(diǎn)的無(wú)線傳輸IEEE802.15.4協(xié)議模塊二[13],兩種通信模式復(fù)用采集前端,以平衡傳輸、組網(wǎng)與同步等需求。模塊一主要負(fù)責(zé)伴隨網(wǎng)絡(luò)的組建與同步觸發(fā),模塊二主要負(fù)責(zé)主網(wǎng)絡(luò)的組建。
在采集節(jié)點(diǎn)內(nèi)部,數(shù)據(jù)主要通過(guò)USART(universal synchronous and asynchronous receiver/transmitter)、SPI(serial peripheral interface)與SDIO(secure digital input and output)等協(xié)議進(jìn)行有線傳輸。在無(wú)線傳輸方面,數(shù)據(jù)收發(fā)分為兩種:一種是通過(guò)IEEE802.15.4協(xié)議處理器;另一種是通過(guò)IEEE802.11協(xié)議。采集命令從終端發(fā)出,經(jīng)輔助器、網(wǎng)關(guān)、單個(gè)或多個(gè)路由或直接到達(dá)采集節(jié)點(diǎn),采集節(jié)點(diǎn)收到命令后通過(guò)USART協(xié)議將數(shù)據(jù)轉(zhuǎn)發(fā)至中央處理器,然后開始觸發(fā)采集。雙模復(fù)用系統(tǒng)整體架構(gòu)如圖1(a)所示,本文設(shè)計(jì)的節(jié)點(diǎn)如圖1(b)所示。

圖1 雙模復(fù)用系統(tǒng)整體架構(gòu)和雙模復(fù)用節(jié)點(diǎn)實(shí)物圖
實(shí)際機(jī)械振動(dòng)測(cè)試中存在大單一模式傳輸效率低與組網(wǎng)困難等問(wèn)題。為解決組網(wǎng)與傳輸?shù)葐?wèn)題,提出雙模伴隨組網(wǎng)方法。雙模伴隨組網(wǎng)節(jié)點(diǎn)包括采集節(jié)點(diǎn)、路由節(jié)點(diǎn)與網(wǎng)關(guān)節(jié)點(diǎn),其分別由IEEE802.15.4協(xié)議模1與IEEE802.11協(xié)議模2組成,兩者可通過(guò)有線方式進(jìn)行拓?fù)浣Y(jié)構(gòu)信息傳遞。雙模伴隨組網(wǎng)示意圖,如圖2所示。

圖2 雙模伴隨組網(wǎng)
雙模伴隨組網(wǎng)分為兩個(gè)步驟:主網(wǎng)絡(luò)組建與伴隨網(wǎng)絡(luò)組建。主網(wǎng)絡(luò)組建時(shí)只有模1處理器參與,主組網(wǎng)按照其正常方式組網(wǎng),主網(wǎng)絡(luò)組建完成后在終端分析主網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并生成包含模2的SSID(service set identifier)與WPA(Wi-Fi protected access)的伴隨網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息。獲得主網(wǎng)絡(luò)的地址關(guān)系就能獲得主網(wǎng)絡(luò)的拓?fù)湫畔14]。當(dāng)父設(shè)備可擁有子設(shè)備數(shù)量的最大值為Cm,父設(shè)備下將路由器作為它的子設(shè)備的最大數(shù)為Rm,網(wǎng)絡(luò)最大深度Lm,在給定網(wǎng)絡(luò)深度為d的條件下,父設(shè)備可分配給路由器子設(shè)備的地址數(shù)Cd計(jì)算方法如式(1)所示,第n個(gè)節(jié)點(diǎn)設(shè)備的網(wǎng)絡(luò)地址如式2所示。
(1)
An=Ap+Cd×Rm+n
(2)
構(gòu)建Rm= 3,Cm= 8,Lm= 3的簇狀網(wǎng)絡(luò),根據(jù)式(1)計(jì)算Cd如下所示
C0=1+Cm(Lm-d-1)=1+8×(3-0-1)=17
(3)
C1=1+Cm(Lm-d-1)=1+8×(3-1-1)=9
(4)
C2=1+Cm(Lm-d-1)=1+8×(3-2-1)=1
(5)
C3=1+Cm(Lm-d-1)=1+8×(3-3-1)=-7
(6)
當(dāng)d為3時(shí),代表該節(jié)點(diǎn)為采集節(jié)點(diǎn),不能再進(jìn)行地址分配,此時(shí),C3=0。接著根據(jù)式(2)計(jì)算各個(gè)節(jié)點(diǎn)的短地址如下所示
Addr_0=0
(7)
Addr_1=Addr_0+C0·0+1=0+17×0+1=1
(8)
Addr_2=Addr_1+C1·0+1=1+17×0+1=2
(9)
Addr_01=Addr_0+C0·Rm+n=0+17×2+1=35
(10)
Addr_11=Addr_1+C1·Rm+n=1+9×3+1=29
(11)
Addr_21=Addr_2+C2·Rm+n=2+1×3+1=6
(12)
Addr_22=Addr_2+C2·Rm+n=2+1×3+2=7
(13)
伴隨組網(wǎng)在主網(wǎng)絡(luò)組建完成的條件下進(jìn)行。伴隨組網(wǎng)主要分為兩個(gè)步驟:首先,獲取主網(wǎng)絡(luò)生成的拓?fù)浣Y(jié)構(gòu),將在主網(wǎng)絡(luò)組建的拓?fù)湫畔l(fā)送至主網(wǎng)絡(luò)的各個(gè)模1上并分析保存,然后將與模1對(duì)應(yīng)的SSID與WPA拓?fù)湫畔⒔?jīng)有線方式發(fā)送至模2。接著,模2分析并設(shè)置自身的SSID與WPA。模2自身SSID設(shè)置完成后,各級(jí)節(jié)點(diǎn)開始進(jìn)行無(wú)線連接各自的父節(jié)點(diǎn)SSID,其中網(wǎng)關(guān)節(jié)點(diǎn)無(wú)需連接父節(jié)點(diǎn)、采集節(jié)點(diǎn)無(wú)需設(shè)置自身SSID。
簇狀網(wǎng)絡(luò)是機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)中常用的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以此分析命令到達(dá)采集節(jié)點(diǎn)同步的誤差具有典型代表性。同步采集誤差主要發(fā)生在采集開始時(shí),由于節(jié)點(diǎn)處于異構(gòu)空間網(wǎng)絡(luò)結(jié)構(gòu)中,采集命令到達(dá)采集節(jié)點(diǎn)時(shí)刻不同;此外,在采集過(guò)程中溫濕度等環(huán)境變化及電磁干擾也會(huì)帶來(lái)時(shí)間與空間抖動(dòng),但由于在實(shí)際采集中,采集時(shí)間一般較短且節(jié)點(diǎn)所處的環(huán)境相對(duì)固定,因此在采集過(guò)程中影響較小。
典型簇狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu), 如圖3所示。在數(shù)據(jù)采集時(shí),命令到達(dá)各個(gè)采集節(jié)點(diǎn)時(shí)刻不同的主要原因是傳輸路徑時(shí)間、數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)間與程序指令執(zhí)行時(shí)間存在差異。傳輸路徑時(shí)間是指命令從終端到采集節(jié)點(diǎn)在無(wú)線傳輸過(guò)程中消耗的時(shí)間,數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)間是指數(shù)據(jù)在網(wǎng)關(guān)、路由及采集節(jié)點(diǎn)間命令轉(zhuǎn)發(fā)的時(shí)間,程序指令執(zhí)行時(shí)間是指所有程序指令參與執(zhí)行的時(shí)間。

圖3 典型簇狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
簇狀網(wǎng)絡(luò)同步觸發(fā)采集時(shí)序,如圖4所示。命令從網(wǎng)關(guān)節(jié)點(diǎn)發(fā)出,理論上路徑越短、中間經(jīng)過(guò)路由數(shù)量越少的采集節(jié)點(diǎn)越先收到命令。采集節(jié)點(diǎn)1先于采集節(jié)點(diǎn)2在T1時(shí)刻收到觸發(fā)命令,采集節(jié)點(diǎn)2先于采集節(jié)點(diǎn)3與采集節(jié)點(diǎn)4在T2時(shí)刻收到命令,采集節(jié)點(diǎn)3與采節(jié)點(diǎn)4理論上在T4時(shí)刻同時(shí)收到觸發(fā)命令,但實(shí)際應(yīng)用中,由于指令執(zhí)行的先后順序會(huì)存在細(xì)小的誤差。

圖4 簇狀網(wǎng)絡(luò)同步時(shí)序
路徑感知時(shí)間測(cè)量的作用在于獲得命令在不同路徑上傳輸所需要的時(shí)間,本文提出了基于采集節(jié)點(diǎn)計(jì)時(shí)、終端和輔助器計(jì)時(shí)的路徑感知時(shí)間測(cè)量方法。不含輔助器計(jì)時(shí)測(cè)量,如圖5(a)所示;含輔助器測(cè)量,如圖5(b)所示。

圖5 采集節(jié)點(diǎn)計(jì)時(shí)測(cè)量
當(dāng)不含輔助器測(cè)量時(shí),首先由終端發(fā)送第一次測(cè)量命令;當(dāng)采集節(jié)點(diǎn)收到第一次測(cè)量命令后采集節(jié)點(diǎn)開始計(jì)時(shí),計(jì)時(shí)指令執(zhí)行完成后向終端設(shè)備發(fā)送第二次測(cè)量命令;終端設(shè)備收到第二次測(cè)量命令后立刻向采集節(jié)點(diǎn)發(fā)送第三次測(cè)量命令;采集節(jié)點(diǎn)收到第三次測(cè)量命令后立即停止計(jì)時(shí),并計(jì)算第二次與第三次測(cè)量之間的時(shí)間差;然后將時(shí)間差發(fā)送至終端設(shè)備,終端收到時(shí)間差數(shù)據(jù)后進(jìn)行統(tǒng)一處理。其中,第二、第三次為有效測(cè)量,在第二、第三次中間需經(jīng)帶有操作系統(tǒng)的計(jì)算機(jī)處理多條程序指令,指令數(shù)量與節(jié)點(diǎn)數(shù)量成正比。當(dāng)執(zhí)行多條指令時(shí),終端操作系統(tǒng)輪詢會(huì)導(dǎo)致指令毫秒級(jí)中斷,從而導(dǎo)致發(fā)送給各個(gè)節(jié)點(diǎn)的測(cè)量命令時(shí)間不連續(xù),降低同步精度。
含輔助器測(cè)量時(shí),除需由終端發(fā)起一次預(yù)測(cè)量命令,其余步驟與上述一致。發(fā)送正式命令過(guò)程不存在操作系統(tǒng),因此可解決輪詢中斷指令的問(wèn)題。但該方法以采集節(jié)點(diǎn)的處理器為計(jì)時(shí)基準(zhǔn),一般頻率較低,導(dǎo)致最小時(shí)間增量大,難以滿足高精度同步需求。
終端測(cè)量過(guò)程中,計(jì)時(shí)與測(cè)量命令均由終端設(shè)備控制,測(cè)量步驟同上述第二、第三次。由于測(cè)量命令仍存在多條程序指令,同樣存在操作系統(tǒng)輪詢導(dǎo)致指令毫秒級(jí)中斷的問(wèn)題。輔助器測(cè)量只需由終端設(shè)備發(fā)送一次預(yù)測(cè)量命令后,測(cè)量命令由輔助器控制,其余步驟一致。輔助器在測(cè)量中無(wú)需任何操作系統(tǒng)干預(yù),不存在指令中斷問(wèn)題;輔助器還可選擇超高主頻的處理器以降低最小時(shí)間增量;且單次測(cè)量均為有效測(cè)量,可節(jié)省測(cè)量時(shí)間;因此本文采用輔助器測(cè)量,終端與輔助器計(jì)時(shí)測(cè)量,如圖6所示。

圖6 終端與輔助器計(jì)時(shí)測(cè)量
在進(jìn)行輔助器測(cè)量時(shí),每條線路需要進(jìn)行一次路徑感知。由于輔助器不能確定何時(shí)發(fā)起測(cè)量,因此正式測(cè)量前需由終端向輔助器發(fā)出預(yù)測(cè)量命令,然后將控制權(quán)交給輔助器。測(cè)量前,首先為每個(gè)采集節(jié)點(diǎn)分配一個(gè)軟件計(jì)時(shí)輔助器,然后向各個(gè)節(jié)點(diǎn)依次發(fā)出正式測(cè)量命令,并立即開始計(jì)時(shí);當(dāng)各個(gè)采集節(jié)點(diǎn)收到測(cè)量命令后立刻發(fā)出反饋命令;輔助器收到各個(gè)節(jié)點(diǎn)的反饋命令后停止計(jì)時(shí),并計(jì)算時(shí)間差。最后將時(shí)間差發(fā)送至終端設(shè)備進(jìn)行數(shù)據(jù)處理。
輔助器測(cè)量精度主要取決于時(shí)鐘頻率,其最小時(shí)間增量Δti計(jì)算如式(14)所示,其中Fi為輔助器基準(zhǔn)頻率。時(shí)鐘頻率較小時(shí)路徑感知測(cè)量出的時(shí)間精度較低,同步觸發(fā)精度較低,反之亦然。
(14)
輔助器計(jì)時(shí)測(cè)量可彌補(bǔ)上述方法的不足,且具有超高的同步精度,本文以輔助器計(jì)時(shí)測(cè)量分析測(cè)量方法。開始測(cè)量前分別將每個(gè)節(jié)點(diǎn)編號(hào)為i;然后終端設(shè)備向節(jié)點(diǎn)號(hào)為i的節(jié)點(diǎn)發(fā)送測(cè)量命令,并立刻計(jì)時(shí),記錄初始時(shí)間為tsij;采集節(jié)點(diǎn)i收到測(cè)量命令后立即向終端設(shè)備返回測(cè)量命令;終端設(shè)備收到測(cè)量命令,并立即停止計(jì)時(shí),并記錄收到測(cè)量命令時(shí)間為trij。以上步驟為單個(gè)節(jié)點(diǎn)測(cè)量一次的路徑時(shí)間,經(jīng)大量重復(fù)測(cè)試試驗(yàn)表明,受時(shí)間抖動(dòng)與空間抖動(dòng)等影響,每次測(cè)量的時(shí)間差有較小誤差,為降低誤差,采用多次測(cè)量取平均值的方法,每個(gè)節(jié)點(diǎn)測(cè)量的次數(shù)均為m。為避免信道競(jìng)爭(zhēng),當(dāng)一個(gè)節(jié)點(diǎn)m次測(cè)量完成后才進(jìn)行下一個(gè)節(jié)點(diǎn)的測(cè)量。下標(biāo):s為發(fā)送正式測(cè)量命令;r為接收反饋;i為第i個(gè)節(jié)點(diǎn);j為第j次測(cè)量。
當(dāng)所有節(jié)點(diǎn)的m次測(cè)試完成后,通過(guò)記錄的數(shù)據(jù)進(jìn)行時(shí)間補(bǔ)償計(jì)算。首先第i個(gè)采集節(jié)點(diǎn)的第j次路徑感知測(cè)量的單程時(shí)間Twij,如式(15)所示。然后計(jì)算第i個(gè)采集節(jié)點(diǎn)從第一次到m次測(cè)量的平均時(shí)間/Twij,如式(16)所示。
(15)
(16)
式中:tcij為采集節(jié)點(diǎn)、終端與輔助器的指令執(zhí)行時(shí)間;ttij為數(shù)據(jù)在路由節(jié)點(diǎn)上的中轉(zhuǎn)時(shí)間。
路徑時(shí)間最大值求法為:首先設(shè)定一個(gè)存儲(chǔ)器,存儲(chǔ)器初始值為第一個(gè)采集節(jié)點(diǎn)的平均值,然后將每個(gè)節(jié)點(diǎn)的平均時(shí)間與存儲(chǔ)器值比較,若大于存儲(chǔ)器的值則交換其值,若小于存儲(chǔ)器值則不交換;重復(fù)上述步驟,比較的次數(shù)為節(jié)點(diǎn)數(shù)量,最后一次比較后存儲(chǔ)器的值則為路徑時(shí)間最大值Max(Twij)。最大值與每個(gè)節(jié)點(diǎn)的平均時(shí)間相減,即可得到每個(gè)節(jié)點(diǎn)的單程平均路徑時(shí)間補(bǔ)償值Δi,如式(17)所示。
(17)
將式(15)與式(16)代入式(17)可得每個(gè)節(jié)點(diǎn)的平均路徑時(shí)間,如式(18)所示。
(18)
將式(15)~式(18)整理可得式(19),由于每次測(cè)量時(shí)指令執(zhí)行時(shí)間tcij與中轉(zhuǎn)ttij相同,因此可以看出,各節(jié)點(diǎn)的補(bǔ)償時(shí)間只與每個(gè)節(jié)點(diǎn)測(cè)試的次數(shù)和路徑時(shí)間差有關(guān),如式(20)所示。
(19)
(20)
通過(guò)式(19)可計(jì)算出每個(gè)采集節(jié)點(diǎn)應(yīng)當(dāng)補(bǔ)償?shù)穆窂綍r(shí)間,根據(jù)補(bǔ)償時(shí)間值可針對(duì)對(duì)應(yīng)的采集點(diǎn)依次延時(shí)相應(yīng)的補(bǔ)償時(shí)間后發(fā)送采集命令。由于目前輔助器一般采用定時(shí)器計(jì)時(shí),定時(shí)器頻率是由輔助器經(jīng)過(guò)多次分頻得到,直接使用定時(shí)器頻率計(jì)時(shí)將導(dǎo)致最小時(shí)間增量較大,難以滿足精度要求。針對(duì)上述問(wèn)題,以輔助器主頻為最小計(jì)時(shí)時(shí)間增量,通過(guò)運(yùn)行單指令的方式來(lái)進(jìn)行延時(shí)。單指令時(shí)間Tc計(jì)算如式(21)所示。單指令周期由一個(gè)機(jī)器周期或n個(gè)狀態(tài)周期或q個(gè)時(shí)鐘周期組成,n與q與輔助器的類型有關(guān),當(dāng)輔助器固定時(shí),n與q為固定值。
(21)
由式(21)可看出,當(dāng)輔助器主頻率越大時(shí),單指令執(zhí)行時(shí)間越短,延時(shí)時(shí)間增量越小,同步觸發(fā)精度越高。輔助器長(zhǎng)時(shí)間運(yùn)行單指令時(shí)將導(dǎo)致輔助器異常,因此還需解決長(zhǎng)時(shí)間延時(shí)的問(wèn)題。
在開始測(cè)量前,首先獲取輔助器基準(zhǔn)頻率,每條指令執(zhí)行的時(shí)間計(jì)算公式如式(21),該指令時(shí)間一般可為到達(dá)微納秒級(jí)。因此可采用補(bǔ)償時(shí)間除以單指令時(shí)間的方式,獲得需要執(zhí)行單指令時(shí)間的次數(shù)N,其計(jì)算如式(22)所示。
(22)
當(dāng)N值較大時(shí),單指令程序長(zhǎng)期占用處理器操作系統(tǒng)時(shí)間片較長(zhǎng)會(huì)觸發(fā)“看門狗”,且占用運(yùn)行內(nèi)存較大引起系統(tǒng)棧內(nèi)存溢出,從而引發(fā)系統(tǒng)故障,無(wú)法獲得精確延時(shí)。因此在單指令時(shí)間基礎(chǔ)上進(jìn)行封裝處理,即將單指令執(zhí)行次數(shù)N拆分成執(zhí)行M個(gè)時(shí)間段,執(zhí)行K次。每執(zhí)行K次單指令后清理一次棧內(nèi)存,可解決輔助器棧內(nèi)存問(wèn)題。
Ni=Mi·Ki
(23)
將式(22)代入式(23)得
Δi=Mi·Ki·Tci
(24)
將式(21)代入式(24)得
(25)
將式(20)代入式(25)得
(26)
由式(26)可以看出,當(dāng)每個(gè)節(jié)點(diǎn)路徑感知時(shí)間測(cè)量結(jié)束后,時(shí)間補(bǔ)償為固定值,即各個(gè)節(jié)點(diǎn)用于延時(shí)的單指令執(zhí)行次數(shù)MK固定。當(dāng)封裝的時(shí)間段M較大、K較小時(shí),容易導(dǎo)致輔助器棧資源占用較多;當(dāng)封裝的時(shí)間段M較小、K較大時(shí),將頻繁清除棧內(nèi)存,占用處理器時(shí)間。因此在實(shí)際應(yīng)用中,需根據(jù)不同的輔助器基準(zhǔn)頻率平衡M與K的取值。通過(guò)上述延時(shí)時(shí)間封裝方法,可有效解決普通定時(shí)器精度較低的問(wèn)題。
進(jìn)行開始采集時(shí),首先每個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)組建完成的基礎(chǔ)上進(jìn)行m次路徑感知,獲得各個(gè)節(jié)點(diǎn)的路徑時(shí)間。當(dāng)全部節(jié)點(diǎn)測(cè)量完成后,經(jīng)輔助器分析處理得到各個(gè)節(jié)點(diǎn)的補(bǔ)償時(shí)間。然后根據(jù)各個(gè)節(jié)點(diǎn)的延時(shí)補(bǔ)償值進(jìn)行延時(shí)后,依次發(fā)送同步采集觸發(fā)命令。由于各個(gè)節(jié)點(diǎn)的路徑時(shí)間不同,經(jīng)過(guò)補(bǔ)償延時(shí)后,采集命令最終到達(dá)各個(gè)采集節(jié)點(diǎn)的時(shí)間在同一時(shí)刻,最終可同步觸發(fā)采集。
為降低測(cè)量誤差,采用多次測(cè)量路徑感知時(shí)間取平均值的方法。為確定先行測(cè)量次數(shù)m的具體值,對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行了多次測(cè)量。每個(gè)節(jié)點(diǎn)的平均路徑時(shí)間與補(bǔ)償時(shí)間,如圖7所示。

圖7 路徑感知測(cè)量
可以看出,隨著基礎(chǔ)測(cè)試次數(shù)的增加,同步觸發(fā)平均路徑時(shí)間與補(bǔ)償時(shí)間均先大致趨于平穩(wěn),后在1 000次時(shí)有所增加。在基礎(chǔ)測(cè)試次數(shù)為500次左右時(shí),所有節(jié)點(diǎn)的平均路徑時(shí)間與補(bǔ)償時(shí)間綜合來(lái)看處于較低值。因此,路徑時(shí)間測(cè)量次數(shù)在500次左右較為適合。
為比較實(shí)際工況下路徑感知同步觸發(fā)精度,在無(wú)同步方法和有本文提出的路徑感知同步方法下進(jìn)行一組隨機(jī)測(cè)試,測(cè)試位置分別齒輪箱的X、Y方向,測(cè)試環(huán)境如圖8所示。輔助器向各個(gè)節(jié)點(diǎn)發(fā)送正式采集命令后,用邏輯分析儀捕捉各個(gè)采集節(jié)點(diǎn)數(shù)模轉(zhuǎn)換器上引腳的時(shí)序,分別測(cè)試有無(wú)同步方法下的誤差。

圖8 同步觸發(fā)精度應(yīng)用平臺(tái)
無(wú)同步方法下采集的誤差,如圖9(a)所示。4個(gè)采集節(jié)點(diǎn)間命令觸發(fā)的最大時(shí)間誤差約為節(jié)點(diǎn)1與節(jié)點(diǎn)3的49.632 649 ms,最小誤差為節(jié)點(diǎn)3與節(jié)點(diǎn)4的10.001 258 ms。路徑感知同步觸發(fā)采集方法下的同步誤差,如圖9(b)所示。4個(gè)采集節(jié)點(diǎn)間命令觸發(fā)的最大時(shí)間誤差約為節(jié)點(diǎn)1與節(jié)點(diǎn)3的56.139 μs,最小誤差為節(jié)點(diǎn)3與節(jié)點(diǎn)4的11.300 μs。

圖9 無(wú)同步方法和含同步方法
為避免隨機(jī)測(cè)量帶來(lái)的偶然性,使用上述方法重復(fù)測(cè)量50次,并統(tǒng)計(jì)最大與最小誤差,統(tǒng)計(jì)結(jié)果繪制如圖10所示。可以看出,最大同步誤差在50~60 μs,最小同步誤差在10~16 μs,滿足機(jī)械振動(dòng)高精度同步觸發(fā)要求。

圖10 多節(jié)點(diǎn)同步誤差測(cè)試統(tǒng)計(jì)
為解決無(wú)線傳感器機(jī)械振動(dòng)信號(hào)采集時(shí)依賴信標(biāo)時(shí)鐘同步觸發(fā)及精度問(wèn)題,提出了簇狀網(wǎng)絡(luò)下的路徑感知時(shí)間補(bǔ)償同步觸發(fā)方法。通過(guò)試驗(yàn)表明在:路徑感知同步觸發(fā)方法下的多跳同步精度最大同步誤差在50~60 μs,最小同步誤差在10~16 μs。相對(duì)于無(wú)同步方法提高了800多倍,相對(duì)于信標(biāo)時(shí)鐘同步觸發(fā)300 μs提高了約6倍~10倍,最小同步誤差相對(duì)于FTSP和TPSN的精度提高了約6倍,結(jié)果表明路徑感知時(shí)間同步觸發(fā)方法具有良好的效果。