董昆陽,王 康,武建鋒,3
(1.中國科學院國家授時中心,陜西 西安 710600;2.中國科學院大學,北京 100049;3.中國科學院大學電子電氣與通信工程學院,北京 100049)
隨著物聯網、工業互聯網等新興產業的不斷發展,迫切需要高精度、高穩定性的確定性網絡時間服務[1]。時間敏感網絡(Time Scalar Network,TSN)綜合了多領域對時間敏感通信的需求,建立了時鐘同步、數據調度和網絡配置等核心機制,旨在構建一套高穩定性、低抖動的確定性網絡時間服務系統。TSN核心協議之一精確時間同步協議(Precision Time Protocol,PTP),該協議通過硬件標記PTP 時間戳來降低系統不確定度[2],從而提供分組網絡納秒級別的同步精度。但目前國內基于TSN 的PTP 交換機系統的相關設計成果較少。因此,為進一步降低時間同步延遲和抖動,設計了基于TSN 的PTP 交換機的時間同步系統。
精確時間同步的核心原理是主從時鐘之間的報文傳輸分析與本地時鐘校正,主時鐘生成PTP 報文并傳遞至從時鐘,從時鐘提取報文時戳信息進而進行本地時鐘校正,主從時鐘同步交互模型如圖1所示。
主從時鐘之間的主要延時誤差來自于不確定的鏈路延遲和交換機、時鐘漂移等設備內部的不確定性所引起的延遲[3]。其中網絡棧內部延遲誤差可通過硬件輔助標記時間戳來減小。
主從時鐘之間通過報文傳遞來實現兩者時間同步,主從時鐘同步算法分析如下:
1)主端發送SYNC message,同時記錄T1時刻。
2)從端收到該報文并標記T2時刻。
3)主端延遲發送Follow_up 報文,該報文攜帶T1時戳信息。
4)從端接收Follow_up 報文并發送延遲信號報文Delay_req,同時記錄發送時間T3時刻。
5)主端接收Delay_req 報文并記錄到達時刻,同時向從端發送Pdelay_resp message 消息報文。
同步過程假設主端與從端的雙向鏈路延遲對等,因此可通過以下方法計算鏈路延遲的平均值:
式中,D為平均時延。
系統總體設計為時鐘同步信息分別通過基于TSN 的PTP 交換機和普通交換機,OK335xS 控制PTP交換機處于目標工作狀態,系統對比主從時鐘接入不同交換機模式下同步誤差。系統整體設計如圖2所示。

圖2 系統整體設計圖
該設計共分為三大模塊,分別為主動控制模塊、交換機處理模塊和GNSS 處理模塊。主動控制模塊使用OK335xS 開發板控制,控制交換機的工作狀態。GNSS 處理模塊負責以太網時間同步幀的收發,進行主從時鐘之間時鐘抖動和延遲分析處理。在工作模式下,從端根據與主端之間的時鐘差信息來進行本地時鐘修正。交換機處理模塊分別采用普通交換機和PTP 交換機。普通交換機為常見的網絡交換機,該交換機作為對照試驗組。PTP 交換機為MICROCHIP 公司生產的EVB-KSZ9477S 系列交換機,該交換機作為網絡通信PHY 芯片為系統提供硬件級時間戳標記服務。
由于EVB-KSZ9477S 開發板自身限制不利于工程的具體設計,因此該設計使用OK335xS 開發板來輔助控制KSZ9477 芯片,來提供更高的可拓展性。OK335xS 開發板通過SPI 總線進行控制和數據交換。OK335xS 主控模塊通過控制KSZ9477 芯片的寄存器讀寫,實現對整個時鐘同步系統設計模式的控制。
在網絡協議棧和PTP 初始化之后,系統根據BMI 算法判別最佳主時鐘。主時鐘定時發送時間同步報文到從時鐘進行本地時鐘修正。時鐘修正模型如圖3 所示。

圖3 時鐘修正模型圖
在接入普通交換機模式下,主時鐘在應用層產生PTP 報文,通過網絡協議棧逐層封裝后與從時鐘進行通信。該模式下PTP 報文時間戳在數據鏈路層由系統進行軟件級時間戳標記,從時鐘捕獲該報文并由報頭協議解析出該報文所攜帶的時間信息。此后,從時鐘根據時鐘校驗信息進行本地時鐘校正。該傳輸方式會受到網絡協議棧的影響,因而導致同步精度較低。
在主從時鐘之間接入PTP 交換機模式下,在物理層由KSZ9477 芯片將時戳信息標記于該報文之上,該模式下交換機在物理層自動進行硬件級報文打戳,由于無需考慮網絡棧內部的延遲與不確定性,故該模式下交換機具有極高的穩定性和較低的時間同步誤差。
系統硬件設計為系統三個主要模塊的硬件設計分析。分別為基于OK335xS 的主動控制模塊設計、基于KSZ9477 的PTP 交換機模塊設計、基于自研模塊的GNSS 處理器設計。
主動控制模塊采用OK335xS 開發板,該設計使用該開發板的SPI 串行數據總線。SPI 是同步數據總線,通過時鐘信號來保證數據收發雙方實現數據的同步。此外,還用到包括串口、LED、復位電路、時鐘晶振等外圍電路來進行輔助控制。SPI 接口電路如圖4 所示。

圖4 SPI接口電路圖
該設計SPI 傳輸采用SPI MODE0 模式,設置CPOL 和CPHA 均為0,該模式下時鐘空閑時為低電平,在時鐘第一個跳變沿進行數據采樣。設置波特率為115 200 bit/s,停止位為1,數據位為8 bit,無奇偶校驗位。
在該傳輸過程中,OK335xS 作為SPI 主機,EVBKSZ9477S 作為SPI 從機之一。首先,主機將連接從機對應SPI 接口片選信號CS 拉低,使得從機處于可接收狀態;從機檢測到時鐘邊緣信號時,讀取MOSI線上大小為1 bit 的數據;MOSI 線根據時鐘信號將數據分位發送至從機;主機傳送完畢之后,繼續發送時鐘信號,以便從機可以將數據通過MISO 線發送至主機。此后,主機拉高從機對應的片選信號CS,從機進入停止態。至此,主機與從機完成一次數據通信。
交換機芯片分別為PTP 交換機EVB-KSZ9477S和普通交換機HELL-TEK 交換機,支持自動時差修正,支持對本地時鐘粗調或細調。同時該處理芯片具有以下特性:
1)提供IEEE 1588v2 參考時間,支持寄存器讀寫操作。
2)自動硬件標記PTP 時間戳。
3)支持對時鐘進行相位和頻率同步。
實驗測試結果分為兩種,即主從時鐘之間接入普通交換機模式和接入PTP 交換機模式,兩種模式下控制變量時鐘源、溫度、濕度、線路接頭數量和線路長短等影響因子不變,觀察兩種模式下主從時鐘同步相對誤差大小。測試主機通過串口、網線等與交換機模塊和主從時鐘之間相連,并通過串口助手Mobaxterm 進行數據截留和通過WIRESHARK 進行數據抓包分析,之后采用MATLAB 進行數據處理分析。測試架構圖如圖5 所示。

圖5 實驗測試架構圖
在該模式下,時鐘同步周期設置為1 s,主時鐘定時(1 s/次)發送同步報文至從時鐘。測試結果如圖6 所示。

圖6 普通交換機抖動數據圖
如圖6 所示,在主從時鐘之間接入普通交換機時,同步抖動均值為-9.16 ns,標準差為139 ns,RMS為140 ns。
在該模式下,主從時鐘之間接入PTP 交換機,時間同步周期設置為1 s,實驗結果如圖7 所示。

圖7 基于TSN的PTP交換機抖動數據圖
如圖7 所示,在主從時鐘之間接入基于TSN 的PTP 交換機,主從時鐘同步偏差均值為-0.081 4 ns,標準差為3.33 ns,RMS 為3.33 ns。
實驗數據表明,在主從時鐘之間接入基于TSN的PTP 交換機相較于接入普通交換機,同步偏差大幅減小,抖動大幅降低。
該文設計了時間同步測試平臺,分為兩種模式測試,分別為主從時鐘之間接入普通交換機模式和接入基于TSN 的PTP 交換機模式。實驗結果表明,相對于接入普通交換機,在主從時鐘之間接入基于TSN 的PTP 交換機,在經過一定量級測試之后,時間同步抖動有較大提升,為提高系統時間同步精度提供了一種解決方案,為交換機主動控制提供了一種較為便捷的方案。