牟宗磊,宋 萍
(北京理工大學 仿生機器人與系統教育部重點實驗室,北京 100081)
分布式測試系統時間同步技術的研究
牟宗磊,宋 萍
(北京理工大學 仿生機器人與系統教育部重點實驗室,北京 100081)
分布式測試系統是集計算機控制技術、網絡通信技術與多傳感器信息融合技術于一體的復雜測控系統;與獨立測試系統不同,在網絡化分布式測試系統中,各測試裝置需按通信協議與網關節點通信以完成相應的測試;不同測試裝置在接收網關節點發出的信號時,由于傳輸距離不同會引起時延差;如果系統中的各個測試裝置不具備統一的時間基準,那么得到的測試數據因為時鐘差異將無法反映出信息的真實情況;因此,整個網絡中所有測試裝置需要保持時間同步;針對分布式測試系統時間同步的需求,對信號傳輸過程中的時延問題進行了研究,提出了一種基于FPGA的時延測量方法,對這種軟硬件結合時延測量方法的實現原理進行了詳細闡述,并進行了功能仿真及試驗驗證。
分布式測試系統;時延差;時間同步;時延測量;功能仿真
分布式測試系統通常由分布在測試區域內的大量測試節點構成,節點之間按相關協議共同協作完成復雜的測試任務[1]。分布式測試系統的一個核心要求是各數據采集裝置可以實現高精度同步采集。在分布式測試系統中,為保證各個測試裝置具有統一的時間基準,一般只采用一個主節點時鐘,其它從節點時鐘通過直接或者間接的方式同步于主節點時鐘。當前,基于硬件時間戳實現的高精度時間同步主要有兩種方式,一種是基于GPS的時間同步,另一種是基于高精度時間測量芯片TDC-GP2的時間同步[2]。這兩種時間同步方式具有精度高的優點,但應用成本高,需要在每個測試設備安裝昂貴的芯片組件。另外,GPS模塊對周圍環境依賴性強,不適用于復雜的測試環境。
基于上述原因,本文對分布式測試系統的拓撲結構進行了研究,在考慮線性拓撲結構網絡中中間節點對時間同步精度影響的情況下提出了一種適用于分布式測試系統的時間同步方法。本方法實現簡單、通用性強,在提供與GPS相同時間同步精度的情況下,無需在測試裝置上安裝專用時鐘芯片,只需對主從節點間的信號傳輸進行時延測量,就可以統一各個數據采集裝置的時間基準,進而實現時間同步。
在分布式測試系統中,測控終端主要通過網關節點來實現對分布在測試區域內能獨立完成測試任務的各個數據采集裝置的集中控制,從而保證各個數據采集裝置能夠協調統一地完成測試任務。待測試結束后,數據采集裝置在測控終端和網關節點的控制下通過無線或者有線傳輸的方式把采樣數據回傳給上位機,進而對數據進行實時處理或者后續處理[3]。本文所提及的基于光纖傳輸的分布式測試系統組織體系主要包括測控終端、網關節點和數據采集裝置三部分,如圖1。

圖1 分布式測試系統組織體系簡圖
1.1 測控終端
測控終端主要通過網絡接收遠程客戶端的測試命令,同時以有線傳輸的方式向網關節點發送測試命令和相關的配置參數,并且還能響應客戶端處理與分析數據的請求,對網關節點回傳的數據做后續處理分析。
1.2 網關節點
網關節點收到測控終端的測試命令之后,首先按通信協議對命令完成譯碼,然后執行后續的相應工作程序。網關節點不僅是整個系統的事件響應與調度中心,也是數據匯聚與交換中心。在這樣的組織體系中,網關節點不僅擁有同時管理與掛接若干條測試鏈路的功能,而且能夠合理且高效地將測控終端的請求分配給對應鏈路上的數據采集裝置,進而更高效地實現多用戶并發性測試請求和測試任務的協調性。
1.3 數據采集裝置
每個布設在測試區域內的數據采集裝置都可作為一個微型的測試系統。數據采集裝置通常包含有傳感器、信號調理放大電路、電源模塊、數據采集與存儲模塊、數據傳輸模塊、核心控制器等部件。應用于測試現場的數據采集裝置采用時間同步技術使得所有的測試節點在某些關鍵時刻能夠協調完成采集數據的任務,在短時間內完成用戶的各種測試需求,并且快速釋放系統資源,以便再次進行測試響應。
現有的分布式測試系統按通信媒介不同主要分為基于無線的分布式測試系統和基于有線的分布式測試系統,網絡拓撲結構主要分為星型、樹形、環形、總線型等拓撲結構。基于有線傳輸方式的傳輸媒介主要有電纜和光纖兩種,而基于光纖傳輸的分布式測試系統因具有數據傳輸速度快、抗干擾強力強、安全性能高、可靠度高等優點而廣泛應用于各種復雜的測試環境。本文所提及的分布式測試系統采用光纖傳輸模式。
在基于有線傳輸的分布式測試系統中,為提高時間同步精度,一般只選用一個主節點時鐘,其余從節點時鐘通過直接或者間接的方式同步于主節點時鐘,協同完成分布式測試任務。由于線性拓撲結構組網方式簡單、易控制,被廣泛應用于各種有線分布式測試系統中。在線性拓撲結構中,部分從節點時鐘無法直接和主節點通信來實現時間同步,需要經過多個中間節點的消息包轉發才能逐級實現時間同步,如圖2。在消息包經過多個中間節點轉發的過程中,傳輸時間受主、從節點時鐘精度的共同影響誤差較大,而且這種拓撲結構累積的時間誤差將會隨著中間節點數量的增加而增大,導致時間同步精度顯著降低。在很多分布式測試系統中,我們不關注各個數據采集裝置開始采集的絕對時間,而只需準確獲知各個采集裝置相對于主時鐘的相對時間就可以統一時間基準,完成數據的后續處理工作。因此,在組建好主從式線性網絡拓撲網絡結構后,采用相關算法選擇時間精度最高的主時鐘設備,同時準確測得信號傳輸過程中各個數據采集裝置相對于主時鐘的時延值,為網絡中的各個測試節點統一時間基準、實現時間同步,協作完成測試任務提供了保障[4]。

圖2 線性拓撲網絡主從時鐘結構
2.1 時延測量原理
基于對系統時延測量速度、功耗、體積及抗干擾能力等方面的考慮,系統在具體實現上采用了FPGA作為主控芯片,在每個測試裝置上采用成對的光纖收發一體模塊進行通信,各個數據采集裝置之間采用光纖進行串聯通信,組成線性拓撲網絡結構?;贔PGA的時延測量原理圖如圖3所示,即將譯碼控制模塊、時鐘控制模塊、數據鎖存模塊以及數據傳輸模塊全部集中在FPGA芯片上,使各部分性能達到最佳狀態[5]。

圖3 基于FPGA的時延測量原理圖
FPGA是整個時延測量系統的控制核心,選用Altera公司的Cyclone II型系列FPGA。具體測試時,啟動信號和停止信號首先要經過信號調理電路進行預處理,然后輸送到FPGA數據鎖存模塊中進行測量。FPGA內部具有基準時間邏輯電路,這樣就能捕獲計數器當前的計數值,此值會被FPGA內部的RAM存儲器進行存儲,然后經過數據傳輸模塊把測量結果傳輸給網關節點,網關節點匯聚各個測試裝置的時延值后通過光纖上傳給測控終端。
2.1.1 譯碼控制模塊
經過調理電路調理后的啟動信號和停止信號分別作為待測信號傳輸時延值的開始計數信號和停止計數信號,譯碼控制模塊的功能是將測控終端的命令最終轉化為各種使能信號及讀寫信號,從而完成對各相應寄存器的讀寫控制,進而實現對測試系統中各個數據采集裝置功能的控制。該邏輯功能的完成需要底層的硬件驅動程序及相應的通信協議的密切配合,本系統根據自己定義的硬件通信協議實現測控終端對各個功能模塊的控制[6]。
2.1.2 時鐘控制模塊
時鐘控制模塊主要由外部溫補晶振和FPGA內部PLL(鎖相環)構成。測量過程中,充分利用FPGA內部豐富的時鐘資源和存儲資源,借助PLL把板級的時鐘進行倍頻處理,從而可以產生一個高頻率、低抖動、穩定度高的基準參考時鐘,從而實現減小量化誤差的目的?,F場應用時可以根據測試需求對基準時鐘進行倍頻或者移相,滿足不同測試精度的需求。
2.1.3 數據鎖存模塊
時延值的測量在FPGA內部轉化為啟動與停止兩個脈沖信號上升沿之間時間間隔的測量,被測時間間隔主要有以下三部分組成:①采用脈沖計數法得到的基準時鐘周期的整數倍NT;②啟動信號上升沿與毗鄰的基準時鐘上升沿之間的時鐘偏差ΔT1;③截止信號上升沿與毗鄰的基準時鐘上升沿之間的時鐘偏差ΔT2。設被測的時間間隔為ΔT,則有:
ΔT=NT+ΔT1-ΔT2
(1)
這種時延測量方法測量的是信號在網關節點和數據采集裝置之間傳輸一個回路的時延差,在不考慮光纖色散和時鐘偏移的情況下,單向傳輸的時延差應為:
(2)
N次測量的平均時延值為:
(3)
式中,T為所選擇主時鐘的固有時鐘周期。為了得到穩定的時延測量數據,計數值在輸出前需經過鎖存器鎖存緩沖,利用狀態機不同狀態的跳轉把高精度計數器中的數據賦值到數據鎖存寄存器中進行鎖存。
2.1.4 數據傳輸模塊
數據傳輸模塊的作用主要是把所測時延值上傳到網關節點,具體實現過程為:把寄存器中的時延值寫入FIFO(先進先出)中進行緩存,當接收到測控終端的數據上傳指令時,通過Niosii(軟核處理器)中的UART(通用異步收發傳輸器)把FIFO中的時延測量值發送到網關節點,供上位機讀取。
為驗證基于FPGA的時延測量算法各功能模塊的正確性,借助Modelsim軟件對FPGA內部的狀態機及各個模塊進行了功能仿真驗證[7]。圖4所示為時延測量算法的狀態機結構圖,仿真的目的主要是驗證時延測量算法所涉及的各個狀態機能否按相應條件正常跳轉,以及能否實現高精度計數及數據鎖存等功能。為減小仿真時的計算運算量,縮短仿真程序執行時間,對仿真程序進行了優化,只進行最必要部分的功能仿真,仿真時所采用時鐘頻率f=100MHz。

圖4 時延測量算法狀態機跳轉圖
圖5~6所示為Modelsim中截取的各個狀態機跳轉的時序圖。系統上電后狀態機進入初始化狀態(Idle),復位(Rst_n)完畢后進入開始狀態(Start),等待時延測量指令的到來。網關節點按照硬件通信協議對測試系統中的各個測試裝置依次進行時延測量,測試裝置收到網關節點的指令后按照通信協議對命令進行解析,只有當地址和命令分別與測試裝置的節點號和時延測量功能完全匹配時,測試裝置才會響應時延測量。在此,為簡化仿真程序,采用地址(addr)匹配來進行時延測量功能的仿真,如圖5所示,當addr為該節點地址(e1)時,地址匹配成功,在下一個時鐘上升沿,系統接收到時延測量啟動信號,狀態機進入開始計數狀態(Wait),等待時延結束信號(ack1)的到來。為模擬信號在傳輸鏈路上的時間延遲,在仿真程序中采用了1490ns的延時,即1490ns后計數模塊接收到結束信號,計數器停止計數,狀態機跳轉到數據鎖存狀態(Waitt),把16位count寄存器中的數據鎖存到16位count_out寄存器中等待輸出。數據鎖存完畢后,在下一個時鐘周期,狀態機進入停止狀態(Stop),本次時延測試結束,延時1ms后狀態機自動進入開始狀態,等待下次觸發信號的到來進行下一次時延測量。

圖5 狀態機跳轉時序圖

圖6 結束信號對齊時鐘上升沿
從以上的功能仿真結果中可以看出,本模塊的各部分功能設計邏輯正確,狀態機跳轉正常,可以完成時延測量的功能。在圖5~6中的功能仿真中,啟動、停止信號的上升沿與時鐘上升沿嚴格同步,沒有相位偏移。但是在真實工作狀態下,晶振受溫度、老化、振動等因素的影響可能會發生頻率的微變,導致狀態機跳轉信號可能與時鐘上升沿存在相位偏差。為了更加真實地模仿實際工作情況,在Modelsim中我們對啟動信號延遲5ns于時鐘上升沿、停止信號正常到達和啟動信號正常到達、停止信號延遲5ns于時鐘上升沿這兩種情況進行了仿真。
從圖7~9中的功能仿真中可以看出,當啟動信號、停止信號的上升沿與時鐘的上升沿存在時鐘相位偏差時,可能會導致計數器中的數值存在±1個計數誤差,導致所測時延值存在一定誤差。

圖7 開始信號滯后于時鐘上升沿

圖8 結束信號正常到達

圖9 停止信號滯后于時鐘上升沿
為了驗證整個時延測量電路精確度和系統穩定性,在線性網絡拓撲結構上的數據采集裝置和網關節點之間進行了時延測量,隨機選擇一條鏈路上的三個數據采集裝置作為測試節點。時延測量示意圖如圖10所示,其中網關節點作為1號節點,離網關最近的測試裝置作為2號節點,后面依次為3號節點和4號節點,節點之間采用光纖進行連接,四個節點等間距布設。

圖10 時延測量示意圖
時延測量啟動信號由1號節點上的FPGA提供,啟動信號沿光纖傳輸鏈路到達各測試節點,節點響應完畢后經過光纖收發一體模塊和光纖將停止信號送回1號節點上的FPGA中進行測量。測得時延值鎖存后通過串口發送到上位機中,在上位機中借助MATLAB軟件對測得的時延值進行分析[8]。在115200波特率下分別以100MHz、200MHz時鐘頻率測量1~2號節點100組時延值,1~3號節點100組時延值,1~4號節點100組時延值。借助MATLAB軟件分別對測得的100組隨機時延值數據進行分析,畫出不同時鐘頻率下所測時延值的動態分布圖,如圖11~12。
由圖11~12可以看出,線性拓撲結構中1~2節點時延值的總體均值為65ns、1~3節點時延值的總體均值為130ns,1~4節點時延值的總體均值為195ns,兩節點間的時延測量誤差集中分布在某些值附近,誤差波動隨著測量晶振頻率的提高逐漸縮小,200MHz時誤差波動范圍最小誤差約為5ns;時延測量值隨節點之間距離的增加呈線性增長趨勢,沒有隨節點之間的距離和測量次數的增加而呈發散趨勢,證明這種時延測量方式穩定可靠,可以滿足分布式測試系統時間同步的要求。

圖11 100 MHz時延值分布圖

圖12 200 MHz時延值分布圖
由仿真和試驗實測數據看以看出,利用本測試方法實現時間同步存在一定的測量誤差,為進一步提高測試精度,降低誤差對時間同步帶來的影響,主要從以下兩個方面采取了措施以提高時間同步精度。
5.1 多次測量求平均時延值法減小時延測量誤差
單次時延測量存在一定的隨機誤差,多次測量求平均值的方法是常用的提高測量精度的方法[9]。設測量次數為N,第i次所測時延值結果為ti,時延測量是正態分布的平穩隨機過程,可用下式計算時延偏差的標準方差:
(4)
其中,平均時延值:
(5)

5.2 選用高精度晶振提高時延測量精度
在時延測量系統中,高精度的時鐘頻率是影響測量精度的重要因素之一。FPGA內部高精度計數器的基準信號源是由系統板載石英晶振提供的,因此,進行高精度的時延測量,選擇一個頻率性能穩定的晶振是至關重要的。衡量晶振性能的主要參數有標稱頻率、頻率溫度穩定度、短穩、老化率等[10]。頻率溫度穩定度是指晶振在正常工作的溫度范圍內,晶體輸出頻率相對于基準溫度的時頻率變化值,是關于溫度K的一個函數,該值越小表明晶振受溫度影響越小,性能越穩定。短穩即短期頻率穩定度,表現為短時間內(一般為毫秒級)晶體頻率值隨機平均漂移情況,是關于時間t的一個函數。頻率短期穩定度一般通過阿倫方差來表示,即:
(6)

本文所提及的分布式測試系統主要由測控終端、網關節點和分布在測試區域內的數據采集裝置組成,所提的時延測量技術適用于分布式測控系統中實現網關節點和數據采集裝置之間的時間同步。本文從實現原理上對這種采用時延測量技術來實現時間同步的方法給予了詳細的闡述,并進行了功能仿真驗證以及試驗驗證。仿真及試驗結論表明:該測量方法簡單、實用,可以實現信號傳輸鏈路的高精度時延測量,是一種行之有效的時延測量方法,可以準確獲得信號傳輸到各個測試裝置的時延差,進而實現各測試裝置的時間同步。該時間同步技術適用于需要時間同步精度比較高的瞬態類信號分布式測試系統,尤其適用于一些不能接受高成本時鐘同步芯片或者不能接收到GPS信號的復雜測試環境。
[1] 王 爽, 胡冬旭. 基于FPGA的分布式測控裝置設計與應用[J].國外電子測量技術, 2015(10):11-13.
[2] 趙德平, 韓建平. 基于TDC_GP2的高精度時間差測量的關鍵技術研究[J]. 材料與冶金學報, 2014,4:016.
[3] 支超有, 姜豐收. 混合總線分布式測試技術研究及應用[J]. 計算機測量與控制, 2012, 20(12): 3139-3140.
[4] 沈 艷. 分布式測試系統協作理論及其通信平臺實時性研究[J].電子科技大學, 2004, 6.
[5] 逄錦昊, 蘇 濤, 楊 濤,等. 基于FPGA的多路高速數據傳輸同步時延測量系統[J].電子器件,2015(02):447-451.
[6] 王首浩, 仲 悅, 張 巍, 等.一種用于分布式控制的光纖通信協議設計與仿真[J]. 計算機測量與控制, 2014, 9: 101.
[7] 徐盛晨. 基于FPGA的實時數據采集與傳輸系統的設計[D].北京:北京郵電大學, 2014.
[8] 馬文起, 耿虎軍, 郭肅麗,等. 一種基于FPGA和Matlab的時延測量方法[J].無線電工程,2014,44(11):38-40.
[9] 莊曉燕. 分布式測試系統時鐘網絡結構與同步算法研究[D]. 成都:電子科技大學,2013.
[10] 洪 鋒, 張玉亮, 楊博真,等. 水下傳感器網絡時間同步技術綜述[J].電子學報,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-),男,山東日照人,博士研究生,主要從事傳感與機電控制方向的研究。
1671-4598(2017)05-0021-05DOI:10.16526/j.cnki.11-4762/tp
TN
A