本發明屬于時間觸發網絡領域,具體涉及一種面向時間觸發網絡的交換機時鐘同步控制器及控制方法。
背景技術:
::作為高可靠、確定性的時間觸發網絡,交換機向網絡中的各個節點發送同步信息,各個節點該同步信息調整本地時鐘,達到與交換機同步,從而實現全網同步。因此,交換機時鐘同步控制器及控制方法直接影響整個時間觸發網絡的同步效果。集群耦合器單元和使時間觸發網絡中多個集群同步的方法(中國專利cn101512984)從理論上講述了時間觸發網絡中集群同步的方法,未涉及具體實現;網絡和時間觸發網絡中集群時鐘同步的方法(中國專利cn101512944a)主要通過時鐘對齊邏輯中更加精確的耦合單元時鐘源增大或減小集群內時序的循環長度進行時鐘同步;一種時間觸發網絡中任務分區與通信調度的同步方法(專利申請號cn105577310a)從軟件層面的任務分區和調度實現時間觸發網絡的同步。相關專利成果暫時沒有面向時間觸發網絡的交換機時鐘同步控制器及其控制方法。技術實現要素:本發明的目的在于克服上述不足,提供一種面向時間觸發網絡的交換機時鐘同步控制器及控制方法,能夠應對時間觸發網絡的高可靠、實時性、確定性的應用需求。為了達到上述目的,一種面向時間觸發網絡的交換機時鐘同步控制器,包括接收pcf幀的固化模塊,固化模塊連接接收sm編號的壓縮模塊,壓縮模塊連接團檢測模塊、最優壓縮點選擇模塊、狀態機控制模塊和本地時鐘模塊,狀態機控制模塊連接最優壓縮點選擇模塊,本地時鐘模塊連接最優壓縮點選擇模塊。所述固化模塊用于對接收到的pcf幀進行解析,抽取攜帶的發送時刻,計算透明時鐘;再根據接收時刻和最大傳輸延遲,得到該pcf幀的固化點,并輸出固化點和固化算法完成有效標識給壓縮模塊。所述壓縮模塊用于當本地時鐘達到任意一個固化點時刻時,產生有效標識,并根據sm編號進行固化點編碼,并存儲編碼信息;在第一個固化點到達時刻,啟動第一級壓縮函數,開啟觀察窗口,在觀察窗口內,不斷讀出固化點編碼信息,進行固化點收集,直到窗口關閉,計算sm偏差平均值,得到壓縮點;固化點到達之前,如果窗口關閉,在啟動第二級壓縮函數,得到第二個壓縮點;同樣的方法啟動第三個壓縮函數,得到第三個壓縮點,并把三個壓縮點時刻輸出給最優壓縮點選擇模塊。所述最優壓縮點選擇模塊用于根據寄存器配置的最大傳輸延遲、最大觀察窗口、壓縮計算時間,計算理想壓縮點時刻,并以理想壓縮點為中心,開啟接收窗口,接收窗口的大小為一個時間精度;壓縮模塊輸入的三個壓縮點中,成員數據最多且最靠近接收窗口的壓縮點為最優壓縮點,最優壓縮點與理想壓縮點之間的差值為本地時鐘校正值,并輸出校正值、校正標識,最優壓縮點成員值、整合周期號給本地時鐘模塊和團檢測模塊。所述地時鐘模塊用于當狀態機在同步/穩定同步狀態,校正標識有效時對本地時鐘進行校正,并根據本地時鐘的計數值產生整合周期號和集群計數值,輸出給壓縮模塊、最優壓縮點選擇模塊和狀態機控制模塊;根據網絡規劃信息,產生tt幀每一條虛鏈路對應的接收窗口和發送窗口,輸出有效標識;同時,根據最優壓縮點成員值、整合周期號、最優壓縮點,以及配置的新pcf幀發送延遲,生成新的pcf幀,并將有效數據和控制信息寫入pcf幀發送隊列。所述團檢測模塊用于以理想壓縮點為中心開啟的接收窗口結束時刻,以及狀態機在在同步/穩定同步狀態進行同步團檢測和異步團檢測,并輸出團檢測成功標識、檢測成功次數給壓縮模塊和狀態機控制模塊。所述狀態機控制模塊用于根據本地時鐘計數值、預先設定的等待超時值、團檢測結果及其他控制信號,控制狀態機的跳轉,進行同步過程的啟動和穩定同步,并輸出狀態信息給其他模塊,協調各模塊之間正常工作。一種面向時間觸發網絡的交換機時鐘同步控制方法,包括以下步驟:步驟一,交換機接收到pcf幀后,通過固化模塊進行固化,得到固化點,還原發送順序,得到發送這些pcf幀的sm之間的時鐘偏差,并將固化點傳遞給壓縮模塊;步驟二,壓縮模塊根據sm編號對固化點進行編碼并存儲,并根據狀態機控制模塊的狀態值,在第一個固化點到達時刻按照三級流水方式,啟動不同的壓縮函數,執行壓縮算法,計算sm時鐘偏差平均值,得到三個壓縮點,并將壓縮點信息傳遞給最優壓縮點選擇模塊;步驟三,最優壓縮點選擇模塊根據預設值計算理想壓縮點,開啟接收窗口,對最優壓縮點選擇模塊傳遞過來的壓縮點信息在狀態機控制模塊的狀態配合下進行最優選擇,并計算出時鐘校正值給本地時鐘模塊;步驟四,當狀態機控制模塊處于同步/穩定同步狀態時,本地時鐘模塊根據最優壓縮點選擇模塊傳遞的時鐘校正信息進行時鐘校正,并根據本地時鐘計數值產生整合周期號給團檢測模塊和最優壓縮點選擇模塊,并生成新的pcf,將有效數據和控制信息寫入外部pcf幀發送隊列;步驟五,團檢測模塊在狀態機控制模塊處于同步/穩定同步狀態時,以壓縮模塊傳遞過來的理想壓縮點為中心開啟接收窗口,在接收窗口結束時進行同步/異步團檢測,并將檢測結果傳遞給狀態機控制模塊;步驟六,狀態機控制模塊根據本地時鐘模塊、團檢測模塊和最優壓縮點選擇模塊傳遞的整合周期號,檢測結果等信息控制狀態機的跳轉,啟動同步與穩定同步,并將同步結果傳遞給外部模塊。所述狀態機控制模塊的控制流程如下:第一步,上電后,狀態機處于整合狀態,在整合狀態接收到in類型的pcf幀且同步成員個數達到同步閾值,則跳轉到同步狀態,否則,跳轉到非同步狀態;第二步,在非同步狀態,接收到in類型的pcf幀且同步成員個數達到非同步到同步閾值,則跳轉到同步狀態,否則接收到cs幀或接收到ca幀且同步成員個數大于同步閾值,跳轉到ca幀中繼狀態;第三步,在ca幀中繼狀態等待ca幀中繼時間超時,跳轉到in幀等待狀態;第四步,在in幀等待狀態時,in幀等待時間超時,跳轉到非同步狀態,如果收到in幀且同步成員個數大于同步閾值,跳轉到同步狀態;第五步,在同步狀態時,在同步到穩定同步使能情況下,連續num_unstable_cycles次沒有檢測到異步團,跳轉到穩定狀態,否則檢測到異步團,跳轉到整合狀態;第六步,在穩定狀態時,連續檢測到異步團的次數大于num_unstable_cycles時,跳轉到整合狀態。所述num_unstable_cycles為預先設定值。與現有技術相比,本發明具有以下有益效果:(1)本發明中的固化模塊,引入標識傳輸延遲的透明時鐘和最大傳輸延遲還原各個pcf幀的發送順序,能夠真實還原各pcf幀的發送時刻,并解決時鐘同步的滯后問題;(2)本發明中的壓縮模塊采用硬件方式實現三級流水動態壓縮算法,提高了時鐘同步的計算精度與效率;(3)采用成員數最多且最靠近接收窗口結束時刻的壓縮點作為最優壓縮點,保證網絡中處于同步狀態的節點都能被檢測;(4)同步團檢測和異步團檢測相結合的故障檢測方式,提高網絡的同步質量,便于故障隔離與恢復;(5)使用最優壓縮點對交換機的本地時鐘進行修正,并生成攜帶時間信息和同步信息的新pcf幀廣播給端系統,保證全網同步;(6)使用狀態機控制同步過程的啟動與穩定同步,保證網絡的同步可靠性與可恢復性。附圖說明圖1為本發明中控制器的控制框圖;圖2為本發明中狀態機控制模塊的控制框圖;其中,1、固化模塊;2、壓縮模塊;3、最優壓縮點選擇模塊;4、本地時鐘模塊;5、團檢測模塊;6、狀態機控制模塊;7、整合狀態;8、非同步狀態;9、ca幀中繼狀態;10、in幀等待狀態;11、同步狀態;12、穩定狀態。具體實施方式下面結合附圖對本發明做進一步說明。參見圖1,一種面向時間觸發網絡的交換機時鐘同步控制器,包括接收pcf幀的固化模塊1,固化模塊1連接接收sm編號的壓縮模塊2,壓縮模塊2連接團檢測模塊5、最優壓縮點選擇模塊3、狀態機控制模塊6和本地時鐘模塊4,狀態機控制模塊6連接最優壓縮點選擇模塊3,本地時鐘模塊4連接最優壓縮點選擇模塊3。固化模塊1用于對接收到的pcf幀進行解析,抽取攜帶的發送時刻,計算透明時鐘;再根據接收時刻和最大傳輸延遲,得到該pcf幀的固化點,并輸出固化點和固化算法完成有效標識給壓縮模塊2。壓縮模塊2用于當本地時鐘達到任意一個固化點時刻時,產生有效標識,并根據sm編號進行固化點編碼,并存儲編碼信息;在第一個固化點到達時刻,啟動第一級壓縮函數,開啟觀察窗口,在觀察窗口內,不斷讀出固化點編碼信息,進行固化點收集,直到窗口關閉,計算sm偏差平均值,得到壓縮點;固化點到達之前,如果窗口關閉,在啟動第二級壓縮函數,得到第二個壓縮點;同樣的方法啟動第三個壓縮函數,得到第三個壓縮點,并把三個壓縮點時刻輸出給最優壓縮點選擇模塊3。最優壓縮點選擇模塊3用于根據寄存器配置的最大傳輸延遲、最大觀察窗口、壓縮計算時間,計算理想壓縮點時刻,并以理想壓縮點為中心,開啟接收窗口,接收窗口的大小為一個時間精度;壓縮模塊2輸入的三個壓縮點中,成員數據最多且最靠近接收窗口的壓縮點為最優壓縮點,最優壓縮點與理想壓縮點之間的差值為本地時鐘校正值,并輸出校正值、校正標識,最優壓縮點成員值、整合周期號給本地時鐘模塊4和團檢測模塊5。地時鐘模塊4用于當狀態機在同步/穩定同步狀態,校正標識有效時對本地時鐘進行校正,并根據本地時鐘的計數值產生整合周期號和集群計數值,輸出給壓縮模塊2、最優壓縮點選擇模塊3和狀態機控制模塊6;根據網絡規劃信息,產生tt幀每一條虛鏈路對應的接收窗口和發送窗口,輸出有效標識;同時,根據最優壓縮點成員值、整合周期號、最優壓縮點,以及配置的新pcf幀發送延遲,生成新的pcf幀,并將有效數據和控制信息寫入pcf幀發送隊列。團檢測模塊5用于以理想壓縮點為中心開啟的接收窗口結束時刻,以及狀態機在在同步/穩定同步狀態進行同步團檢測和異步團檢測,并輸出團檢測成功標識、檢測成功次數給壓縮模塊2和狀態機控制模塊6。狀態機控制模塊6用于根據本地時鐘計數值、預先設定的等待超時值、團檢測結果及其他控制信號,控制狀態機的跳轉,進行同步過程的啟動和穩定同步,并輸出狀態信息給其他模塊,協調各模塊之間正常工作。參見圖1,一種面向時間觸發網絡的交換機時鐘同步控制方法,包括以下步驟:步驟一,交換機接收到pcf幀后,通過固化模塊1進行固化,得到固化點,還原發送順序,得到發送這些pcf幀的sm之間的時鐘偏差,并將固化點傳遞給壓縮模塊2;步驟二,壓縮模塊2根據sm編號對固化點進行編碼并存儲,并根據狀態機控制模塊6的狀態值,在第一個固化點到達時刻按照三級流水方式,啟動不同的壓縮函數,執行壓縮算法,計算sm時鐘偏差平均值,得到三個壓縮點,并將壓縮點信息傳遞給最優壓縮點選擇模塊3;步驟三,最優壓縮點選擇模塊3根據預設值計算理想壓縮點,開啟接收窗口,對最優壓縮點選擇模塊3傳遞過來的壓縮點信息在狀態機控制模塊6的狀態配合下進行最優選擇,并計算出時鐘校正值給本地時鐘模塊4;步驟四,當狀態機控制模塊6處于同步/穩定同步狀態時,本地時鐘模塊4根據最優壓縮點選擇模塊3傳遞的時鐘校正信息進行時鐘校正,并根據本地時鐘計數值產生整合周期號給團檢測模塊5和最優壓縮點選擇模塊3,并生成新的pcf,將有效數據和控制信息寫入外部pcf幀發送隊列;步驟五,團檢測模塊5在狀態機控制模塊6處于同步/穩定同步狀態時,以壓縮模塊2傳遞過來的理想壓縮點為中心開啟接收窗口,在接收窗口結束時進行同步/異步團檢測,并將檢測結果傳遞給狀態機控制模塊6;步驟六,狀態機控制模塊6根據本地時鐘模塊4、團檢測模塊5和最優壓縮點選擇模塊3傳遞的整合周期號,檢測結果等信息控制狀態機的跳轉,啟動同步與穩定同步,并將同步結果傳遞給外部模塊。參見圖2,狀態機控制模塊6的控制流程如下:第一步,上電后,狀態機處于整合狀態7,在整合狀態7接收到in類型的pcf幀且同步成員個數達到同步閾值,則跳轉到同步狀態11,否則,跳轉到非同步狀態8;第二步,在非同步狀態8,接收到in類型的pcf幀且同步成員個數達到非同步到同步閾值,則跳轉到同步狀態11,否則接收到cs幀或接收到ca幀且同步成員個數大于同步閾值,跳轉到ca幀中繼狀態9;第三步,在ca幀中繼狀態9等待ca幀中繼時間超時,跳轉到in幀等待狀態10;第四步,在in幀等待狀態10時,in幀等待時間超時,跳轉到非同步狀態8,如果收到in幀且同步成員個數大于同步閾值,跳轉到同步狀態11;第五步,在同步狀態11時,在同步到穩定同步使能情況下,連續num_unstable_cycles次沒有檢測到異步團,跳轉到穩定狀態12,否則檢測到異步團,跳轉到整合狀態7;第六步,在穩定狀態12時,連續檢測到異步團的次數大于num_unstable_cycles時,跳轉到整合狀態7。num_unstable_cycles為預先設定值。本發明用veriloghdl語言對該控制器進行描述,仿真驗證后,在xilinx公司的fpga器件上進行了原型驗證和測試。測試結果表明本發明能夠實現時間觸發網絡各個網絡要素的同步,具有很好的可實施性。當前第1頁12當前第1頁12