System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及網絡同步,尤其涉及一種基于fpga實現as6802協議中同步主機功能的方法。
技術介紹
1、隨著時間觸發以太網網絡的廣泛應用和其較高的實時性和確定性,在2011年頒布了開放性表準as6802時鐘同步協議,其具有確定性、高容錯和無擁塞通信的同步技術。as6802的同步主機的設計可應用于航空航天、汽車、醫療和工業上的時間觸發以太網系統上,提供了主動參與時間觸發以太網網絡同步的能力,同時也能實時檢測現有的參與網絡同步成員的同步狀態以及實時調整同步主機的同步精度便于維護整個網絡的統一。
2、as6802時鐘同步協議共有三種同步網絡角色,分別為同步主機-sm,同步客戶端-sc和壓縮主機-cm。如何實現同步主機-sm的高精度、高實時性和高可靠性的需求,以解決傳統以太網無法滿足時間上的需求的弊端,以便應用于高安全性和高可靠性的如航空航天、工業控制等領域的應用場景是現階段研究的重點,為此本文通過對as6802協議標準的理解和現有以太網時間同步的學習,使用fpga自主設計并實現了同步主機-sm角色的功能。
技術實現思路
1、鑒于現有技術中的上述缺陷或不足,期望提供一種基于fpga實現as6802協議中同步主機功能的方法,通過fpga實現以太網時間同步,具有低延遲、高精度、高容錯等特性,且便于移植和學習。
2、本專利技術提供的一種基于fpga實現as6802協議中同步主機功能的方法,同步主機的狀態包括非同步階段和同步階段,非同步階段包括初始狀態、非同步狀態、冷啟動
3、1)同步主機接收交換機發送的pcf幀,對其進行過濾并對有效幀的接收時間點進行固化形成本地時鐘固化時刻點和設備接收時間點,并保存到pcf幀中;計算pcf幀中成員向量的成員數量,若成員數量在同步主機的接收窗口內,則其為同步成員數量,否則為異步成員數量;根據同步成員數量和異步成員數量逐一判斷同步主機的各個狀態是否大于等于狀態跳轉閾值,將判斷結果保存到pcf幀中,通過本地時鐘固化時刻點計算時鐘修正值從而更新同步主機的本地時鐘;提取pcf幀中的所需信息進入同步主機的狀態機;
4、其中,pcf幀的幀類型包括cs幀、ca幀和in幀;
5、2)同步主機進入初始狀態,在預設的時長內,若收到交換機發送的一個ca幀,則進入步驟5);若收到交換機發送的一個in幀,則判斷其同步成員數量是否大于等于初始狀態進入同步狀態的狀態跳轉閾值,若是則進入步驟7)?,否則保持在當前狀態;若超過預設的時長,則主動發起一個cs幀至交換機,并進入步驟3)?;
6、3)同步主機進入非同步狀態,在預設的派發cs幀時間內,若收到交換機返回的cs幀,則進入步驟4);若收到交換機返回的ca幀,則進入步驟5);若收到交換機返回的in幀,則判斷其同步成員數量是否大于非同步狀態進入同步狀態的狀態跳轉閾值,若是則進入步驟7);否則判斷其同步成員數量是否大于等于非同步狀態進入暫同步狀態的狀態跳轉閾值,若是則進入步驟6),否則在該狀態下按照預設的派發cs幀時間周期性的向交換機發送cs幀;
7、4)同步主機進入冷啟動確認狀態,向交換機發送ca幀響應先前收到的cs幀,并等待交換機返回的ca幀;在預設的等待接收ca幀時間內,若收到cs幀,則重新進入該狀態;若收到ca幀,則進入步驟5);若在預設的等待接收ca幀時間內未收到cs幀或ca幀,則保持在當前狀態,并派發一個ca幀至交換機;若接收窗口結束時仍未收到ca幀或cs幀,則返回步驟3);
8、5)同步主機進入中間等待狀態,在預設的等待派發第一個in幀時間內,若收到cs幀,則返回步驟4);若收到ca幀,則保持當前狀態;否則進入步驟6),并主動發送第一個in幀至交換機;
9、6)同步主機進入暫同步狀態,開始運行時鐘同步服務和集團檢測服務;其中集團檢測服務維護同步成員向量和異步成員向量的實時檢測,以識別執行集團檢測服務的時間觸發以太網設備中的同步丟失,并根據當前狀態跳轉條件實現當前狀態下的狀態跳轉判斷;時鐘同步服務維護時間觸發以太網網絡中本地時鐘和本地集成周期的同步更新;
10、若收到交換機發送的ca幀,則返回步驟5);
11、在異步評估點時,若異步成員數量大于等于預設的異步成員數量最小值,或大于等于同步成員數量,則返回步驟3);否則保持在當前狀態繼續判斷;
12、在發送in幀時間點時,判斷異步成員數量是否小于預設的異步成員數量最小值,或小于同步成員數量,若是則保持在當前狀態,并向交換機發出一個in幀;否則保持在當前狀態繼續判斷;
13、在同步評估點時,若同步成員數量小于預設的同步成員數量最小值,則返回步驟3);若同步成員數量大于等于預設的同步成員數量最小值,且小于暫同步狀態進入同步狀態的狀態跳轉閾值,則保持在當前狀態,且暫同步狀態循環計數+1;若暫同步狀態循環計數等于預設的集成周期個數,且有暫同步狀態到穩定同步狀態標志,則進入步驟8);若同步成員數量大于等于暫同步狀態進入同步狀態的狀態跳轉閾值,則進入步驟7);
14、在同步時鐘修正點,保持在當前狀態,本地時鐘值更新為原本地時鐘值+時鐘修正值;
15、7)同步主機進入同步狀態,運行時鐘同步服務和集團檢測服務;其中集團檢測服務維護同步成員向量和異步成員向量的實時檢測,以識別執行集團檢測服務的時間觸發以太網設備中的同步丟失,并根據當前狀態跳轉條件實現當前狀態下的狀態跳轉判斷;時鐘同步服務維護時間觸發以太網網絡中本地時鐘和本地集成周期的同步更新;
16、若收到交換機發送的ca幀,則返回步驟5);
17、在異步評估點時,若異步成員數量大于等于預設的異步成員數量最小值,或大于等于同步成員數量,則返回步驟3),否則保持在當前狀態繼續判斷;
18、在發送in幀時間點時,判斷異步成員數量是否小于預設的異步成員數量最小值,或小于同步成員數量,若是則保持在當前狀態,并向交換機發出一個in幀,否則保持在當前狀態繼續判斷;
19、在同步評估點時,若同步成員數量小于預設的同步成員數量最小值,且同步成員數量不為0,則返回步驟3),若同步成員數量為0,則返回步驟2);若同步成員數量大于等于預設的同步成員數量最小值,則保持在當前狀態,且同步狀態循環計數+1;若同步狀態循環計數等于預設的集成周期個數,且有同步狀態到穩定同步狀態標志,則進入步驟8);
20、在同步時鐘修正點,保持在當前狀態,本地時鐘值更新為原本地時鐘值+時鐘修正值;
21、8)同步主機進入穩定同步狀態,保持運行時鐘同步服務和集團檢測服務;其中集團檢測服務維護同步成員向量和異步成員向量的實時檢測,以識別執行集團檢測服務的時間觸發以太網設備中的同步丟失,并根據當前狀態跳轉條件實現當前狀態下的狀態跳轉判斷;時鐘同步服務維護時間觸發以太網網絡中本地時鐘和本地集成周期的同步更新;
...【技術保護點】
1.一種基于FPGA實現AS6802協議中同步主機功能的方法,同步主機的狀態包括非同步階段和同步階段,非同步階段包括初始狀態、非同步狀態、冷啟動確認狀態和中間等待狀態;同步階段包括暫同步狀態、同步狀態和穩定同步狀態;其特征在于,包括如下步驟:
2.根據權利要求1所述的基于FPGA實現AS6802協議中同步主機功能的方法,其特征在于,所述步驟1)中,提取PCF幀中的所需信息包括幀類型、同步成員向量、集成周期、同步成員狀態閾值跳轉判斷、本地時鐘固化時刻點和設備接收時間點;
【技術特征摘要】
1.一種基于fpga實現as6802協議中同步主機功能的方法,同步主機的狀態包括非同步階段和同步階段,非同步階段包括初始狀態、非同步狀態、冷啟動確認狀態和中間等待狀態;同步階段包括暫同步狀態、同步狀態和穩定同步狀態;其特征在于,包括如下步驟:...
【專利技術屬性】
技術研發人員:胡永峰,劉輝,柳卯,劉勝杰,王艷旭,
申請(專利權)人:北京中航通用科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。