牟宗磊,宋 萍
(北京理工大學(xué) 仿生機(jī)器人與系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100081)
分布式測(cè)試系統(tǒng)時(shí)間同步技術(shù)的研究
牟宗磊,宋 萍
(北京理工大學(xué) 仿生機(jī)器人與系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100081)
分布式測(cè)試系統(tǒng)是集計(jì)算機(jī)控制技術(shù)、網(wǎng)絡(luò)通信技術(shù)與多傳感器信息融合技術(shù)于一體的復(fù)雜測(cè)控系統(tǒng);與獨(dú)立測(cè)試系統(tǒng)不同,在網(wǎng)絡(luò)化分布式測(cè)試系統(tǒng)中,各測(cè)試裝置需按通信協(xié)議與網(wǎng)關(guān)節(jié)點(diǎn)通信以完成相應(yīng)的測(cè)試;不同測(cè)試裝置在接收網(wǎng)關(guān)節(jié)點(diǎn)發(fā)出的信號(hào)時(shí),由于傳輸距離不同會(huì)引起時(shí)延差;如果系統(tǒng)中的各個(gè)測(cè)試裝置不具備統(tǒng)一的時(shí)間基準(zhǔn),那么得到的測(cè)試數(shù)據(jù)因?yàn)闀r(shí)鐘差異將無法反映出信息的真實(shí)情況;因此,整個(gè)網(wǎng)絡(luò)中所有測(cè)試裝置需要保持時(shí)間同步;針對(duì)分布式測(cè)試系統(tǒng)時(shí)間同步的需求,對(duì)信號(hào)傳輸過程中的時(shí)延問題進(jìn)行了研究,提出了一種基于FPGA的時(shí)延測(cè)量方法,對(duì)這種軟硬件結(jié)合時(shí)延測(cè)量方法的實(shí)現(xiàn)原理進(jìn)行了詳細(xì)闡述,并進(jìn)行了功能仿真及試驗(yàn)驗(yàn)證。
分布式測(cè)試系統(tǒng);時(shí)延差;時(shí)間同步;時(shí)延測(cè)量;功能仿真
分布式測(cè)試系統(tǒng)通常由分布在測(cè)試區(qū)域內(nèi)的大量測(cè)試節(jié)點(diǎn)構(gòu)成,節(jié)點(diǎn)之間按相關(guān)協(xié)議共同協(xié)作完成復(fù)雜的測(cè)試任務(wù)[1]。分布式測(cè)試系統(tǒng)的一個(gè)核心要求是各數(shù)據(jù)采集裝置可以實(shí)現(xiàn)高精度同步采集。在分布式測(cè)試系統(tǒng)中,為保證各個(gè)測(cè)試裝置具有統(tǒng)一的時(shí)間基準(zhǔn),一般只采用一個(gè)主節(jié)點(diǎn)時(shí)鐘,其它從節(jié)點(diǎn)時(shí)鐘通過直接或者間接的方式同步于主節(jié)點(diǎn)時(shí)鐘。當(dāng)前,基于硬件時(shí)間戳實(shí)現(xiàn)的高精度時(shí)間同步主要有兩種方式,一種是基于GPS的時(shí)間同步,另一種是基于高精度時(shí)間測(cè)量芯片TDC-GP2的時(shí)間同步[2]。這兩種時(shí)間同步方式具有精度高的優(yōu)點(diǎn),但應(yīng)用成本高,需要在每個(gè)測(cè)試設(shè)備安裝昂貴的芯片組件。另外,GPS模塊對(duì)周圍環(huán)境依賴性強(qiáng),不適用于復(fù)雜的測(cè)試環(huán)境。
基于上述原因,本文對(duì)分布式測(cè)試系統(tǒng)的拓?fù)浣Y(jié)構(gòu)進(jìn)行了研究,在考慮線性拓?fù)浣Y(jié)構(gòu)網(wǎng)絡(luò)中中間節(jié)點(diǎn)對(duì)時(shí)間同步精度影響的情況下提出了一種適用于分布式測(cè)試系統(tǒng)的時(shí)間同步方法。本方法實(shí)現(xiàn)簡(jiǎn)單、通用性強(qiáng),在提供與GPS相同時(shí)間同步精度的情況下,無需在測(cè)試裝置上安裝專用時(shí)鐘芯片,只需對(duì)主從節(jié)點(diǎn)間的信號(hào)傳輸進(jìn)行時(shí)延測(cè)量,就可以統(tǒng)一各個(gè)數(shù)據(jù)采集裝置的時(shí)間基準(zhǔn),進(jìn)而實(shí)現(xiàn)時(shí)間同步。
在分布式測(cè)試系統(tǒng)中,測(cè)控終端主要通過網(wǎng)關(guān)節(jié)點(diǎn)來實(shí)現(xiàn)對(duì)分布在測(cè)試區(qū)域內(nèi)能獨(dú)立完成測(cè)試任務(wù)的各個(gè)數(shù)據(jù)采集裝置的集中控制,從而保證各個(gè)數(shù)據(jù)采集裝置能夠協(xié)調(diào)統(tǒng)一地完成測(cè)試任務(wù)。待測(cè)試結(jié)束后,數(shù)據(jù)采集裝置在測(cè)控終端和網(wǎng)關(guān)節(jié)點(diǎn)的控制下通過無線或者有線傳輸?shù)姆绞桨巡蓸訑?shù)據(jù)回傳給上位機(jī),進(jìn)而對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理或者后續(xù)處理[3]。本文所提及的基于光纖傳輸?shù)姆植际綔y(cè)試系統(tǒng)組織體系主要包括測(cè)控終端、網(wǎng)關(guān)節(jié)點(diǎn)和數(shù)據(jù)采集裝置三部分,如圖1。
圖1 分布式測(cè)試系統(tǒng)組織體系簡(jiǎn)圖
1.1 測(cè)控終端
測(cè)控終端主要通過網(wǎng)絡(luò)接收遠(yuǎn)程客戶端的測(cè)試命令,同時(shí)以有線傳輸?shù)姆绞较蚓W(wǎng)關(guān)節(jié)點(diǎn)發(fā)送測(cè)試命令和相關(guān)的配置參數(shù),并且還能響應(yīng)客戶端處理與分析數(shù)據(jù)的請(qǐng)求,對(duì)網(wǎng)關(guān)節(jié)點(diǎn)回傳的數(shù)據(jù)做后續(xù)處理分析。
1.2 網(wǎng)關(guān)節(jié)點(diǎn)
網(wǎng)關(guān)節(jié)點(diǎn)收到測(cè)控終端的測(cè)試命令之后,首先按通信協(xié)議對(duì)命令完成譯碼,然后執(zhí)行后續(xù)的相應(yīng)工作程序。網(wǎng)關(guān)節(jié)點(diǎn)不僅是整個(gè)系統(tǒng)的事件響應(yīng)與調(diào)度中心,也是數(shù)據(jù)匯聚與交換中心。在這樣的組織體系中,網(wǎng)關(guān)節(jié)點(diǎn)不僅擁有同時(shí)管理與掛接若干條測(cè)試鏈路的功能,而且能夠合理且高效地將測(cè)控終端的請(qǐng)求分配給對(duì)應(yīng)鏈路上的數(shù)據(jù)采集裝置,進(jìn)而更高效地實(shí)現(xiàn)多用戶并發(fā)性測(cè)試請(qǐng)求和測(cè)試任務(wù)的協(xié)調(diào)性。
1.3 數(shù)據(jù)采集裝置
每個(gè)布設(shè)在測(cè)試區(qū)域內(nèi)的數(shù)據(jù)采集裝置都可作為一個(gè)微型的測(cè)試系統(tǒng)。數(shù)據(jù)采集裝置通常包含有傳感器、信號(hào)調(diào)理放大電路、電源模塊、數(shù)據(jù)采集與存儲(chǔ)模塊、數(shù)據(jù)傳輸模塊、核心控制器等部件。應(yīng)用于測(cè)試現(xiàn)場(chǎng)的數(shù)據(jù)采集裝置采用時(shí)間同步技術(shù)使得所有的測(cè)試節(jié)點(diǎn)在某些關(guān)鍵時(shí)刻能夠協(xié)調(diào)完成采集數(shù)據(jù)的任務(wù),在短時(shí)間內(nèi)完成用戶的各種測(cè)試需求,并且快速釋放系統(tǒng)資源,以便再次進(jìn)行測(cè)試響應(yīng)。
現(xiàn)有的分布式測(cè)試系統(tǒng)按通信媒介不同主要分為基于無線的分布式測(cè)試系統(tǒng)和基于有線的分布式測(cè)試系統(tǒng),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要分為星型、樹形、環(huán)形、總線型等拓?fù)浣Y(jié)構(gòu)?;谟芯€傳輸方式的傳輸媒介主要有電纜和光纖兩種,而基于光纖傳輸?shù)姆植际綔y(cè)試系統(tǒng)因具有數(shù)據(jù)傳輸速度快、抗干擾強(qiáng)力強(qiáng)、安全性能高、可靠度高等優(yōu)點(diǎn)而廣泛應(yīng)用于各種復(fù)雜的測(cè)試環(huán)境。本文所提及的分布式測(cè)試系統(tǒng)采用光纖傳輸模式。
在基于有線傳輸?shù)姆植际綔y(cè)試系統(tǒng)中,為提高時(shí)間同步精度,一般只選用一個(gè)主節(jié)點(diǎn)時(shí)鐘,其余從節(jié)點(diǎn)時(shí)鐘通過直接或者間接的方式同步于主節(jié)點(diǎn)時(shí)鐘,協(xié)同完成分布式測(cè)試任務(wù)。由于線性拓?fù)浣Y(jié)構(gòu)組網(wǎng)方式簡(jiǎn)單、易控制,被廣泛應(yīng)用于各種有線分布式測(cè)試系統(tǒng)中。在線性拓?fù)浣Y(jié)構(gòu)中,部分從節(jié)點(diǎn)時(shí)鐘無法直接和主節(jié)點(diǎn)通信來實(shí)現(xiàn)時(shí)間同步,需要經(jīng)過多個(gè)中間節(jié)點(diǎn)的消息包轉(zhuǎn)發(fā)才能逐級(jí)實(shí)現(xiàn)時(shí)間同步,如圖2。在消息包經(jīng)過多個(gè)中間節(jié)點(diǎn)轉(zhuǎn)發(fā)的過程中,傳輸時(shí)間受主、從節(jié)點(diǎn)時(shí)鐘精度的共同影響誤差較大,而且這種拓?fù)浣Y(jié)構(gòu)累積的時(shí)間誤差將會(huì)隨著中間節(jié)點(diǎn)數(shù)量的增加而增大,導(dǎo)致時(shí)間同步精度顯著降低。在很多分布式測(cè)試系統(tǒng)中,我們不關(guān)注各個(gè)數(shù)據(jù)采集裝置開始采集的絕對(duì)時(shí)間,而只需準(zhǔn)確獲知各個(gè)采集裝置相對(duì)于主時(shí)鐘的相對(duì)時(shí)間就可以統(tǒng)一時(shí)間基準(zhǔn),完成數(shù)據(jù)的后續(xù)處理工作。因此,在組建好主從式線性網(wǎng)絡(luò)拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)后,采用相關(guān)算法選擇時(shí)間精度最高的主時(shí)鐘設(shè)備,同時(shí)準(zhǔn)確測(cè)得信號(hào)傳輸過程中各個(gè)數(shù)據(jù)采集裝置相對(duì)于主時(shí)鐘的時(shí)延值,為網(wǎng)絡(luò)中的各個(gè)測(cè)試節(jié)點(diǎn)統(tǒng)一時(shí)間基準(zhǔn)、實(shí)現(xiàn)時(shí)間同步,協(xié)作完成測(cè)試任務(wù)提供了保障[4]。
圖2 線性拓?fù)渚W(wǎng)絡(luò)主從時(shí)鐘結(jié)構(gòu)
2.1 時(shí)延測(cè)量原理
基于對(duì)系統(tǒng)時(shí)延測(cè)量速度、功耗、體積及抗干擾能力等方面的考慮,系統(tǒng)在具體實(shí)現(xiàn)上采用了FPGA作為主控芯片,在每個(gè)測(cè)試裝置上采用成對(duì)的光纖收發(fā)一體模塊進(jìn)行通信,各個(gè)數(shù)據(jù)采集裝置之間采用光纖進(jìn)行串聯(lián)通信,組成線性拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)。基于FPGA的時(shí)延測(cè)量原理圖如圖3所示,即將譯碼控制模塊、時(shí)鐘控制模塊、數(shù)據(jù)鎖存模塊以及數(shù)據(jù)傳輸模塊全部集中在FPGA芯片上,使各部分性能達(dá)到最佳狀態(tài)[5]。
圖3 基于FPGA的時(shí)延測(cè)量原理圖
FPGA是整個(gè)時(shí)延測(cè)量系統(tǒng)的控制核心,選用Altera公司的Cyclone II型系列FPGA。具體測(cè)試時(shí),啟動(dòng)信號(hào)和停止信號(hào)首先要經(jīng)過信號(hào)調(diào)理電路進(jìn)行預(yù)處理,然后輸送到FPGA數(shù)據(jù)鎖存模塊中進(jìn)行測(cè)量。FPGA內(nèi)部具有基準(zhǔn)時(shí)間邏輯電路,這樣就能捕獲計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,此值會(huì)被FPGA內(nèi)部的RAM存儲(chǔ)器進(jìn)行存儲(chǔ),然后經(jīng)過數(shù)據(jù)傳輸模塊把測(cè)量結(jié)果傳輸給網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)匯聚各個(gè)測(cè)試裝置的時(shí)延值后通過光纖上傳給測(cè)控終端。
2.1.1 譯碼控制模塊
經(jīng)過調(diào)理電路調(diào)理后的啟動(dòng)信號(hào)和停止信號(hào)分別作為待測(cè)信號(hào)傳輸時(shí)延值的開始計(jì)數(shù)信號(hào)和停止計(jì)數(shù)信號(hào),譯碼控制模塊的功能是將測(cè)控終端的命令最終轉(zhuǎn)化為各種使能信號(hào)及讀寫信號(hào),從而完成對(duì)各相應(yīng)寄存器的讀寫控制,進(jìn)而實(shí)現(xiàn)對(duì)測(cè)試系統(tǒng)中各個(gè)數(shù)據(jù)采集裝置功能的控制。該邏輯功能的完成需要底層的硬件驅(qū)動(dòng)程序及相應(yīng)的通信協(xié)議的密切配合,本系統(tǒng)根據(jù)自己定義的硬件通信協(xié)議實(shí)現(xiàn)測(cè)控終端對(duì)各個(gè)功能模塊的控制[6]。
2.1.2 時(shí)鐘控制模塊
時(shí)鐘控制模塊主要由外部溫補(bǔ)晶振和FPGA內(nèi)部PLL(鎖相環(huán))構(gòu)成。測(cè)量過程中,充分利用FPGA內(nèi)部豐富的時(shí)鐘資源和存儲(chǔ)資源,借助PLL把板級(jí)的時(shí)鐘進(jìn)行倍頻處理,從而可以產(chǎn)生一個(gè)高頻率、低抖動(dòng)、穩(wěn)定度高的基準(zhǔn)參考時(shí)鐘,從而實(shí)現(xiàn)減小量化誤差的目的?,F(xiàn)場(chǎng)應(yīng)用時(shí)可以根據(jù)測(cè)試需求對(duì)基準(zhǔn)時(shí)鐘進(jìn)行倍頻或者移相,滿足不同測(cè)試精度的需求。
2.1.3 數(shù)據(jù)鎖存模塊
時(shí)延值的測(cè)量在FPGA內(nèi)部轉(zhuǎn)化為啟動(dòng)與停止兩個(gè)脈沖信號(hào)上升沿之間時(shí)間間隔的測(cè)量,被測(cè)時(shí)間間隔主要有以下三部分組成:①采用脈沖計(jì)數(shù)法得到的基準(zhǔn)時(shí)鐘周期的整數(shù)倍NT;②啟動(dòng)信號(hào)上升沿與毗鄰的基準(zhǔn)時(shí)鐘上升沿之間的時(shí)鐘偏差ΔT1;③截止信號(hào)上升沿與毗鄰的基準(zhǔn)時(shí)鐘上升沿之間的時(shí)鐘偏差ΔT2。設(shè)被測(cè)的時(shí)間間隔為ΔT,則有:
ΔT=NT+ΔT1-ΔT2
(1)
這種時(shí)延測(cè)量方法測(cè)量的是信號(hào)在網(wǎng)關(guān)節(jié)點(diǎn)和數(shù)據(jù)采集裝置之間傳輸一個(gè)回路的時(shí)延差,在不考慮光纖色散和時(shí)鐘偏移的情況下,單向傳輸?shù)臅r(shí)延差應(yīng)為:
(2)
N次測(cè)量的平均時(shí)延值為:
(3)
式中,T為所選擇主時(shí)鐘的固有時(shí)鐘周期。為了得到穩(wěn)定的時(shí)延測(cè)量數(shù)據(jù),計(jì)數(shù)值在輸出前需經(jīng)過鎖存器鎖存緩沖,利用狀態(tài)機(jī)不同狀態(tài)的跳轉(zhuǎn)把高精度計(jì)數(shù)器中的數(shù)據(jù)賦值到數(shù)據(jù)鎖存寄存器中進(jìn)行鎖存。
2.1.4 數(shù)據(jù)傳輸模塊
數(shù)據(jù)傳輸模塊的作用主要是把所測(cè)時(shí)延值上傳到網(wǎng)關(guān)節(jié)點(diǎn),具體實(shí)現(xiàn)過程為:把寄存器中的時(shí)延值寫入FIFO(先進(jìn)先出)中進(jìn)行緩存,當(dāng)接收到測(cè)控終端的數(shù)據(jù)上傳指令時(shí),通過Niosii(軟核處理器)中的UART(通用異步收發(fā)傳輸器)把FIFO中的時(shí)延測(cè)量值發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn),供上位機(jī)讀取。
為驗(yàn)證基于FPGA的時(shí)延測(cè)量算法各功能模塊的正確性,借助Modelsim軟件對(duì)FPGA內(nèi)部的狀態(tài)機(jī)及各個(gè)模塊進(jìn)行了功能仿真驗(yàn)證[7]。圖4所示為時(shí)延測(cè)量算法的狀態(tài)機(jī)結(jié)構(gòu)圖,仿真的目的主要是驗(yàn)證時(shí)延測(cè)量算法所涉及的各個(gè)狀態(tài)機(jī)能否按相應(yīng)條件正常跳轉(zhuǎn),以及能否實(shí)現(xiàn)高精度計(jì)數(shù)及數(shù)據(jù)鎖存等功能。為減小仿真時(shí)的計(jì)算運(yùn)算量,縮短仿真程序執(zhí)行時(shí)間,對(duì)仿真程序進(jìn)行了優(yōu)化,只進(jìn)行最必要部分的功能仿真,仿真時(shí)所采用時(shí)鐘頻率f=100MHz。
圖4 時(shí)延測(cè)量算法狀態(tài)機(jī)跳轉(zhuǎn)圖
圖5~6所示為Modelsim中截取的各個(gè)狀態(tài)機(jī)跳轉(zhuǎn)的時(shí)序圖。系統(tǒng)上電后狀態(tài)機(jī)進(jìn)入初始化狀態(tài)(Idle),復(fù)位(Rst_n)完畢后進(jìn)入開始狀態(tài)(Start),等待時(shí)延測(cè)量指令的到來。網(wǎng)關(guān)節(jié)點(diǎn)按照硬件通信協(xié)議對(duì)測(cè)試系統(tǒng)中的各個(gè)測(cè)試裝置依次進(jìn)行時(shí)延測(cè)量,測(cè)試裝置收到網(wǎng)關(guān)節(jié)點(diǎn)的指令后按照通信協(xié)議對(duì)命令進(jìn)行解析,只有當(dāng)?shù)刂泛兔罘謩e與測(cè)試裝置的節(jié)點(diǎn)號(hào)和時(shí)延測(cè)量功能完全匹配時(shí),測(cè)試裝置才會(huì)響應(yīng)時(shí)延測(cè)量。在此,為簡(jiǎn)化仿真程序,采用地址(addr)匹配來進(jìn)行時(shí)延測(cè)量功能的仿真,如圖5所示,當(dāng)addr為該節(jié)點(diǎn)地址(e1)時(shí),地址匹配成功,在下一個(gè)時(shí)鐘上升沿,系統(tǒng)接收到時(shí)延測(cè)量啟動(dòng)信號(hào),狀態(tài)機(jī)進(jìn)入開始計(jì)數(shù)狀態(tài)(Wait),等待時(shí)延結(jié)束信號(hào)(ack1)的到來。為模擬信號(hào)在傳輸鏈路上的時(shí)間延遲,在仿真程序中采用了1490ns的延時(shí),即1490ns后計(jì)數(shù)模塊接收到結(jié)束信號(hào),計(jì)數(shù)器停止計(jì)數(shù),狀態(tài)機(jī)跳轉(zhuǎn)到數(shù)據(jù)鎖存狀態(tài)(Waitt),把16位count寄存器中的數(shù)據(jù)鎖存到16位count_out寄存器中等待輸出。數(shù)據(jù)鎖存完畢后,在下一個(gè)時(shí)鐘周期,狀態(tài)機(jī)進(jìn)入停止?fàn)顟B(tài)(Stop),本次時(shí)延測(cè)試結(jié)束,延時(shí)1ms后狀態(tài)機(jī)自動(dòng)進(jìn)入開始狀態(tài),等待下次觸發(fā)信號(hào)的到來進(jìn)行下一次時(shí)延測(cè)量。
圖5 狀態(tài)機(jī)跳轉(zhuǎn)時(shí)序圖
圖6 結(jié)束信號(hào)對(duì)齊時(shí)鐘上升沿
從以上的功能仿真結(jié)果中可以看出,本模塊的各部分功能設(shè)計(jì)邏輯正確,狀態(tài)機(jī)跳轉(zhuǎn)正常,可以完成時(shí)延測(cè)量的功能。在圖5~6中的功能仿真中,啟動(dòng)、停止信號(hào)的上升沿與時(shí)鐘上升沿嚴(yán)格同步,沒有相位偏移。但是在真實(shí)工作狀態(tài)下,晶振受溫度、老化、振動(dòng)等因素的影響可能會(huì)發(fā)生頻率的微變,導(dǎo)致狀態(tài)機(jī)跳轉(zhuǎn)信號(hào)可能與時(shí)鐘上升沿存在相位偏差。為了更加真實(shí)地模仿實(shí)際工作情況,在Modelsim中我們對(duì)啟動(dòng)信號(hào)延遲5ns于時(shí)鐘上升沿、停止信號(hào)正常到達(dá)和啟動(dòng)信號(hào)正常到達(dá)、停止信號(hào)延遲5ns于時(shí)鐘上升沿這兩種情況進(jìn)行了仿真。
從圖7~9中的功能仿真中可以看出,當(dāng)啟動(dòng)信號(hào)、停止信號(hào)的上升沿與時(shí)鐘的上升沿存在時(shí)鐘相位偏差時(shí),可能會(huì)導(dǎo)致計(jì)數(shù)器中的數(shù)值存在±1個(gè)計(jì)數(shù)誤差,導(dǎo)致所測(cè)時(shí)延值存在一定誤差。
圖7 開始信號(hào)滯后于時(shí)鐘上升沿
圖8 結(jié)束信號(hào)正常到達(dá)
圖9 停止信號(hào)滯后于時(shí)鐘上升沿
為了驗(yàn)證整個(gè)時(shí)延測(cè)量電路精確度和系統(tǒng)穩(wěn)定性,在線性網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)上的數(shù)據(jù)采集裝置和網(wǎng)關(guān)節(jié)點(diǎn)之間進(jìn)行了時(shí)延測(cè)量,隨機(jī)選擇一條鏈路上的三個(gè)數(shù)據(jù)采集裝置作為測(cè)試節(jié)點(diǎn)。時(shí)延測(cè)量示意圖如圖10所示,其中網(wǎng)關(guān)節(jié)點(diǎn)作為1號(hào)節(jié)點(diǎn),離網(wǎng)關(guān)最近的測(cè)試裝置作為2號(hào)節(jié)點(diǎn),后面依次為3號(hào)節(jié)點(diǎn)和4號(hào)節(jié)點(diǎn),節(jié)點(diǎn)之間采用光纖進(jìn)行連接,四個(gè)節(jié)點(diǎn)等間距布設(shè)。
圖10 時(shí)延測(cè)量示意圖
時(shí)延測(cè)量啟動(dòng)信號(hào)由1號(hào)節(jié)點(diǎn)上的FPGA提供,啟動(dòng)信號(hào)沿光纖傳輸鏈路到達(dá)各測(cè)試節(jié)點(diǎn),節(jié)點(diǎn)響應(yīng)完畢后經(jīng)過光纖收發(fā)一體模塊和光纖將停止信號(hào)送回1號(hào)節(jié)點(diǎn)上的FPGA中進(jìn)行測(cè)量。測(cè)得時(shí)延值鎖存后通過串口發(fā)送到上位機(jī)中,在上位機(jī)中借助MATLAB軟件對(duì)測(cè)得的時(shí)延值進(jìn)行分析[8]。在115200波特率下分別以100MHz、200MHz時(shí)鐘頻率測(cè)量1~2號(hào)節(jié)點(diǎn)100組時(shí)延值,1~3號(hào)節(jié)點(diǎn)100組時(shí)延值,1~4號(hào)節(jié)點(diǎn)100組時(shí)延值。借助MATLAB軟件分別對(duì)測(cè)得的100組隨機(jī)時(shí)延值數(shù)據(jù)進(jìn)行分析,畫出不同時(shí)鐘頻率下所測(cè)時(shí)延值的動(dòng)態(tài)分布圖,如圖11~12。
由圖11~12可以看出,線性拓?fù)浣Y(jié)構(gòu)中1~2節(jié)點(diǎn)時(shí)延值的總體均值為65ns、1~3節(jié)點(diǎn)時(shí)延值的總體均值為130ns,1~4節(jié)點(diǎn)時(shí)延值的總體均值為195ns,兩節(jié)點(diǎn)間的時(shí)延測(cè)量誤差集中分布在某些值附近,誤差波動(dòng)隨著測(cè)量晶振頻率的提高逐漸縮小,200MHz時(shí)誤差波動(dòng)范圍最小誤差約為5ns;時(shí)延測(cè)量值隨節(jié)點(diǎn)之間距離的增加呈線性增長(zhǎng)趨勢(shì),沒有隨節(jié)點(diǎn)之間的距離和測(cè)量次數(shù)的增加而呈發(fā)散趨勢(shì),證明這種時(shí)延測(cè)量方式穩(wěn)定可靠,可以滿足分布式測(cè)試系統(tǒng)時(shí)間同步的要求。
圖11 100 MHz時(shí)延值分布圖
圖12 200 MHz時(shí)延值分布圖
由仿真和試驗(yàn)實(shí)測(cè)數(shù)據(jù)看以看出,利用本測(cè)試方法實(shí)現(xiàn)時(shí)間同步存在一定的測(cè)量誤差,為進(jìn)一步提高測(cè)試精度,降低誤差對(duì)時(shí)間同步帶來的影響,主要從以下兩個(gè)方面采取了措施以提高時(shí)間同步精度。
5.1 多次測(cè)量求平均時(shí)延值法減小時(shí)延測(cè)量誤差
單次時(shí)延測(cè)量存在一定的隨機(jī)誤差,多次測(cè)量求平均值的方法是常用的提高測(cè)量精度的方法[9]。設(shè)測(cè)量次數(shù)為N,第i次所測(cè)時(shí)延值結(jié)果為ti,時(shí)延測(cè)量是正態(tài)分布的平穩(wěn)隨機(jī)過程,可用下式計(jì)算時(shí)延偏差的標(biāo)準(zhǔn)方差:
(4)
其中,平均時(shí)延值:
(5)
5.2 選用高精度晶振提高時(shí)延測(cè)量精度
在時(shí)延測(cè)量系統(tǒng)中,高精度的時(shí)鐘頻率是影響測(cè)量精度的重要因素之一。FPGA內(nèi)部高精度計(jì)數(shù)器的基準(zhǔn)信號(hào)源是由系統(tǒng)板載石英晶振提供的,因此,進(jìn)行高精度的時(shí)延測(cè)量,選擇一個(gè)頻率性能穩(wěn)定的晶振是至關(guān)重要的。衡量晶振性能的主要參數(shù)有標(biāo)稱頻率、頻率溫度穩(wěn)定度、短穩(wěn)、老化率等[10]。頻率溫度穩(wěn)定度是指晶振在正常工作的溫度范圍內(nèi),晶體輸出頻率相對(duì)于基準(zhǔn)溫度的時(shí)頻率變化值,是關(guān)于溫度K的一個(gè)函數(shù),該值越小表明晶振受溫度影響越小,性能越穩(wěn)定。短穩(wěn)即短期頻率穩(wěn)定度,表現(xiàn)為短時(shí)間內(nèi)(一般為毫秒級(jí))晶體頻率值隨機(jī)平均漂移情況,是關(guān)于時(shí)間t的一個(gè)函數(shù)。頻率短期穩(wěn)定度一般通過阿倫方差來表示,即:
(6)
本文所提及的分布式測(cè)試系統(tǒng)主要由測(cè)控終端、網(wǎng)關(guān)節(jié)點(diǎn)和分布在測(cè)試區(qū)域內(nèi)的數(shù)據(jù)采集裝置組成,所提的時(shí)延測(cè)量技術(shù)適用于分布式測(cè)控系統(tǒng)中實(shí)現(xiàn)網(wǎng)關(guān)節(jié)點(diǎn)和數(shù)據(jù)采集裝置之間的時(shí)間同步。本文從實(shí)現(xiàn)原理上對(duì)這種采用時(shí)延測(cè)量技術(shù)來實(shí)現(xiàn)時(shí)間同步的方法給予了詳細(xì)的闡述,并進(jìn)行了功能仿真驗(yàn)證以及試驗(yàn)驗(yàn)證。仿真及試驗(yàn)結(jié)論表明:該測(cè)量方法簡(jiǎn)單、實(shí)用,可以實(shí)現(xiàn)信號(hào)傳輸鏈路的高精度時(shí)延測(cè)量,是一種行之有效的時(shí)延測(cè)量方法,可以準(zhǔn)確獲得信號(hào)傳輸?shù)礁鱾€(gè)測(cè)試裝置的時(shí)延差,進(jìn)而實(shí)現(xiàn)各測(cè)試裝置的時(shí)間同步。該時(shí)間同步技術(shù)適用于需要時(shí)間同步精度比較高的瞬態(tài)類信號(hào)分布式測(cè)試系統(tǒng),尤其適用于一些不能接受高成本時(shí)鐘同步芯片或者不能接收到GPS信號(hào)的復(fù)雜測(cè)試環(huán)境。
[1] 王 爽, 胡冬旭. 基于FPGA的分布式測(cè)控裝置設(shè)計(jì)與應(yīng)用[J].國(guó)外電子測(cè)量技術(shù), 2015(10):11-13.
[2] 趙德平, 韓建平. 基于TDC_GP2的高精度時(shí)間差測(cè)量的關(guān)鍵技術(shù)研究[J]. 材料與冶金學(xué)報(bào), 2014,4:016.
[3] 支超有, 姜豐收. 混合總線分布式測(cè)試技術(shù)研究及應(yīng)用[J]. 計(jì)算機(jī)測(cè)量與控制, 2012, 20(12): 3139-3140.
[4] 沈 艷. 分布式測(cè)試系統(tǒng)協(xié)作理論及其通信平臺(tái)實(shí)時(shí)性研究[J].電子科技大學(xué), 2004, 6.
[5] 逄錦昊, 蘇 濤, 楊 濤,等. 基于FPGA的多路高速數(shù)據(jù)傳輸同步時(shí)延測(cè)量系統(tǒng)[J].電子器件,2015(02):447-451.
[6] 王首浩, 仲 悅, 張 巍, 等.一種用于分布式控制的光纖通信協(xié)議設(shè)計(jì)與仿真[J]. 計(jì)算機(jī)測(cè)量與控制, 2014, 9: 101.
[7] 徐盛晨. 基于FPGA的實(shí)時(shí)數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)[D].北京:北京郵電大學(xué), 2014.
[8] 馬文起, 耿虎軍, 郭肅麗,等. 一種基于FPGA和Matlab的時(shí)延測(cè)量方法[J].無線電工程,2014,44(11):38-40.
[9] 莊曉燕. 分布式測(cè)試系統(tǒng)時(shí)鐘網(wǎng)絡(luò)結(jié)構(gòu)與同步算法研究[D]. 成都:電子科技大學(xué),2013.
[10] 洪 鋒, 張玉亮, 楊博真,等. 水下傳感器網(wǎng)絡(luò)時(shí)間同步技術(shù)綜述[J].電子學(xué)報(bào),2012,41(5): 960-965.
Research on Time Synchronization Technology in Distributed Test System
Mou Zonglei,Song Ping
(Ministerial Key Laboratory of Biomimetic Robots and System, Beijing Institute of Technology, Beijing 100081, China)
The distributed test system is a complicated measuring and controlling system based on computer controlling technology, network communicating technology and sensor technology. Different from the independent test system, in the network distributed test system, every test device need to communicate with the gateway node according to the communicating treaty to fulfill corresponding test. Different transmission distances will lead to delay difference when the gateway node has sent signals to different test devices. The test data can not reflect the true information for the reason of clock difference unless the test devices of the system own a unified time base. So all the devices in the whole test network should keep time synchronization. In the view of the requirement of time synchronization, the delay of signal transmission in the test system is studied, and also, a time delay measuring method based on FPGA is presented. The realization principle of delay measuring method from software and hardware is expounded in detail, and the function simulation and experiment verification are carried out.
distributed test system; delay difference; time synchronization; delay measurement; function simulation
2016-11-29;
2016-12-19。
牟宗磊(1985-),男,山東日照人,博士研究生,主要從事傳感與機(jī)電控制方向的研究。
1671-4598(2017)05-0021-05DOI:10.16526/j.cnki.11-4762/tp
TN
A