王晨博,孟 博,張 楠
(中航工業西安航空計算技術研究所,陜西 西安 710068)
基于TTP總線的網絡由TTP節點和雙通道的TTP總線組成。典型的TTP架構如圖1所示,稱作一個集群,集群的主體是TTP節點。取決于系統架構和系統需求,集群上各節點的通信可以基于單通道(通道0或者通道1)或者冗余通道(通道0和通道1)建立[1]。

圖1 典型TTP架構
TTP采用總線型架構,基于時分復用(TDMA)的通信調度策略,總線上各個節點按照預先定義的消息描述表(MEDL),基于全局時間基進行數據傳輸的調度。TTP控制器是時間觸發體系的核心,其提供全局時間基觸發TTP服務的執行、數據幀發送與接收操作等,并通過CNI實現主機與控制器之間的數據交換[2]。TTP協議定義了兩類服務:通信服務和安全性服務,這兩類服務確保了節點之間可靠的數據交換。
通信服務確保單節點的故障可以被發現并且容忍,TTP總線可以在不降低服務質量的情況下繼續執行。通信服務包括集群啟動、節點間重整合、確認服務、時鐘同步以及集群模式更改的處理。
節點控制器基于接收到的幀進行整合,若集群通信沒有進行,節點發起一個冷啟動操作[3]。
整合是一個節點達到與集群通信同步的過程。節點采用接收到的幀的控制器狀態(c-state),并初始化自身的c-state,從而達到同步。整合過程何時結束和節點何時可以獲得一個時隙取決于下述條件:
(1) 節點的發送時隙標記在配置字中;
(2) 主機生命標記正確的更新;
(3) 基于冷啟動幀進行整合時,當主機生命標記無效時,如果這是節點的第一個發送時隙并且當前集群模式是啟動模式時,節點也允許發送幀;
(4) 基于非冷啟動幀整合時,如果整合計數條件滿足,表示當最小數目的正確幀被接收時整合已經結束。
確認服務處理關于發送節點發送幀的正確性的信息收集過程。發送節點從最多兩個有效后繼節點發送的幀當中獲取確認信息。發送節點通過檢查接收到的幀的c-state中成員矢量是否與確認算法定義的情景一致判斷確認失敗還是成功。c-state是狀態變量的集合,狀態變量包括全局時間、集群位置和成員關系狀態,cstate長度為12個字節。每一個控制器在TDMA周期中的每個時隙中更新本地的c-state。
TTP總線提出了一種分布式的高精度時鐘同步算法。通過多個授時節點同時發出授時幀對網絡進行同步,避免了傳統的集中式時鐘同步技術中的授時端單節點故障問題;通過達到亞微秒的高精度同步過程,提高傳輸過程中幀到達的“準點率”,提高了系統通信的效率。TTP總線全局時間的基本參數包括:macrotick,microtick和precision。
TTP總線時鐘同步操作按照下述3個階段進行:
(1) 控制器計算每一個接收到的幀的實際到達時間,并根據預計的接收時間計算偏差;
(2) 控制器基于記錄的偏移值,根據分布式時鐘同步算法計算出一個修正期限;
(3) 控制器使用修正期限修正自身的時鐘。
安全性服務確保任一故障節點的故障靜默,防止分布式失效。安全性服務包含成員關系和派系檢測算法等服務。
節點成員關系服務確保所有活躍的節點在一個TDMA周期的延遲時間內調整其對每個節點操作狀態的視圖,節點控制器維護一個成員關系向量。成員關系向量共64位,每一位代表一個節點的狀態。
控制器基于接收到的幀時隙狀態信息對其他節點的操作狀態“表決”。時隙狀態值不是“correct”時,控制器在本地c-state中復位相應的發送節點的成員關系向量標記位?;诒頉Q結果,各節點控制器在分配的時隙的PRP階段更新時隙狀態統計信息。
派系被定義為基于一個一致的c-state整合的節點集。TTP控制器通過使用時隙狀態統計表和派系檢測算法解決派系問題,避免系統的非一致性錯誤,對于集群派系的問題在每個時隙的PSP階段進行。
每個控制器在一個TDMA周期中計算一次自身是否在占多數的派系中,通過檢查在TDMA周期中,當前控制器對于各時隙的判斷中agreed slot是否比failed slot多來進行判斷。如果不滿足,表示節點檢測到自身與大多數節點不一致??刂破魃蠄笈上靛e誤信息,并停止操作。
TTP節點基本硬件組成包括FPGA電路、存儲器電路、復位電路、時鐘電路和電源電路,其原理框圖如圖2所示。

圖2 TTP節點原理
TTP節點以FPGA電路為核心,采用兩個收發控制器作為冗余的TTP總線通信物理層接口,同時為了防止電氣損壞,使用隔離變壓器進行電源隔離。TTP節點采用5 V供電,通過電源管理電路將輸入電壓轉為模塊所需的其他電壓。
FPGA的PCI核使用PCI總線輸入的時鐘。節點上通過晶振產生10 MHz和16 MHz時鐘,分別提供給FPGA中的功能電路使用[4]。
TTP節點邏輯設計主要包括PCI核、控制器、監護等部分。其中PCI核實現PCI總線Agent功能,控制器實現TTP狀態機和協議。
結合TTP節點設計需求,對其功能進行測試驗證,搭建測試驗證平臺。測試驗證平臺包括TTP通信平臺、監控節點、故障注入節點、PC機和示波器組成。TTP通信平臺包含4塊TTP節點。測試項目主要包括TTP總線同步測試、TDMA測試、基本通信測試和故障注入測試[5]。
經測試驗證,TTP節點的功能性能均滿足技術指標要求。
本文從通過對時間觸發總線技術的理解和研究,設計實現了一種符合SAE AS6003規范要求的TTP節點,并給出了該模塊的試驗測試方法。試驗測試和工程應用結果表明,該模塊各項指標均滿足設計要求,符合協議標準。