一種數(shù)據(jù)鏈路層的初始化的方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)鏈路層的初始化的方法及裝置,該方法,包括:S1:實時接收對端發(fā)來的參數(shù)交互報文,向對端發(fā)送攜帶用于初始化的參數(shù)的參數(shù)交互報文;S2:判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則執(zhí)行步驟S3,否則,返回步驟S1;S3:向對端發(fā)送開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。本發(fā)明提供了一種數(shù)據(jù)鏈路層的初始化的方法及裝置,能夠實現(xiàn)數(shù)據(jù)鏈路層的初始化。
【專利說明】
一種數(shù)據(jù)鏈路層的初始化的方法及裝置
技術領域
[0001]本發(fā)明涉及電子技術領域,特別涉及一種數(shù)據(jù)鏈路層的初始化的方法及裝置。
【背景技術】
[0002]隨著服務器應用領域的不斷發(fā)展,高端服務器的應用需求已經進入了一個重要階段。復雜的體系結構實現(xiàn)支持高端服務器系統(tǒng)實現(xiàn)高性能指標、高安全性、高可用性、高可靠性等特點。
[0003]這就需要網絡控制類芯片控制多路處理器系統(tǒng),使系統(tǒng)內部報文傳輸達到高效可靠、安全穩(wěn)定。如何實現(xiàn)數(shù)據(jù)鏈路層的初始化越來越受到重視。
【發(fā)明內容】
[0004]本發(fā)明實施例提供了一種數(shù)據(jù)鏈路層的初始化的方法及裝置,能夠實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0005]—方面,本發(fā)明實施例提供了一種數(shù)據(jù)鏈路層的初始化的方法,包括:
[0006]S1:實時接收對端發(fā)來的參數(shù)交互報文,向對端發(fā)送攜帶用于初始化的參數(shù)的參數(shù)交互報文;
[0007]S2:判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則執(zhí)行步驟S3,否則,返回步驟SI ;
[0008]S3:向對端發(fā)送開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0009]進一步地,針對串行發(fā)送報文端,包括:
[0010]預先為串行發(fā)送報文端設置多個串行狀態(tài);
[0011 ]所述多個串行狀態(tài)包括:準備狀態(tài)、第一參數(shù)狀態(tài)、第二參數(shù)狀態(tài)、第三參數(shù)狀態(tài)、第四參數(shù)狀態(tài)、串行參數(shù)完成狀態(tài)、串行準備正常狀態(tài)、串行等待正常狀態(tài)、串行正常狀態(tài);
[0012]所述SI,包括:
[0013]所述參數(shù)交互報文,包括:第一參數(shù)報文、第二參數(shù)報文、第三參數(shù)報文、第四參數(shù)報文;
[0014]當處于第一參數(shù)狀態(tài)時,向對端發(fā)送第一參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第二參數(shù)狀態(tài);
[0015]當處于第二參數(shù)狀態(tài)時,向對端發(fā)送第二參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第三參數(shù)狀態(tài);
[0016]當處于第三參數(shù)狀態(tài)時,向對端發(fā)送第三參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第四參數(shù)狀態(tài);
[0017]當處于第四參數(shù)狀態(tài)時,向對端發(fā)送第四參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入串行參數(shù)完成狀態(tài);
[0018]所述S2,包括:
[0019]當處于串行參數(shù)完成狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入串行準備正常狀態(tài),否則,則進入準備狀態(tài);
[0020]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0021]所述S3,包括:
[0022]當處于串行準備正常狀態(tài)時,向對端發(fā)送開始正常報文,進入串行等待正常狀態(tài);
[0023]當處于串行等待正常狀態(tài)時,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入串行正常狀態(tài);
[0024]當處于串行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0025]進一步地,還包括:
[0026]所述多個串行狀態(tài)還包括:串行等待狀態(tài);
[0027]在所述SI之前,還包括:
[0028]將串行發(fā)送報文端設置為串行等待狀態(tài),當處于串行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入準備狀態(tài);
[0029]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來的復位報文或者參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0030]所述SI,還包括:
[0031 ]當處于第一參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第二參數(shù)狀態(tài),當接收到復位報文時,維持第一參數(shù)狀態(tài);
[0032]當處于第二參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第三參數(shù)狀態(tài);
[0033]當處于第三參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第四參數(shù)狀態(tài);
[0034]當處于第四參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入串行參數(shù)完成狀態(tài);
[0035]所述S2,包括:
[0036]當處于串行參數(shù)完成狀態(tài)時,發(fā)出空報文,檢測是否有記錄的錯誤,如果有,則進入準備狀態(tài),如果沒有,則進入串行準備正常狀態(tài);
[0037]所述S3,還包括:
[0038]當處于串行準備正常狀態(tài)時,當接收到準備正常報文時,并發(fā)送開始正常報文,進入串行等待正常狀態(tài),如果沒有接收到準備正常報文,則發(fā)出準備正常報文,如果接收到復位報文或者錯誤報文,則立即復位,進入串行等待狀態(tài);
[0039]當處于串行等待正常狀態(tài)時,發(fā)出空報文,當接收到服務報文或者錯誤報文,則立即復位,進入串彳丁等待狀態(tài)。
[0040]進一步地,針對并行發(fā)送報文端,包括:
[0041 ]預先為并行發(fā)送報文端設置多個并行狀態(tài);
[0042]所述多個并行狀態(tài)包括:參數(shù)交換狀態(tài)、錯誤狀態(tài)、并行準備正常狀態(tài)、并行等待正常狀態(tài)、并行正常狀態(tài);
[0043]所述SI,包括:
[0044]當處于參數(shù)交換狀態(tài)時,向對端并行發(fā)出四個參數(shù)交換報文,實時接收對端發(fā)來的參數(shù)交互報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入并行準備正常狀態(tài);
[0045]所述S2,包括:
[0046]當處于并行準備正常狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入并行等待正常狀態(tài),否則,進入錯誤狀態(tài);
[0047]當處于錯誤狀態(tài)時,進行復位,進入參數(shù)交換狀態(tài);
[0048]所述S3,包括:
[0049]當處于并行等待正常狀態(tài)時,向對端發(fā)出開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入并行正常狀態(tài);
[0050]當處于并行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0051 ] 進一步地,還包括:
[0052]所述多個并行狀態(tài)還包括:并行等待狀態(tài);
[0053]在所述SI之前,還包括:
[0054]將并行發(fā)送報文端設置為并行等待狀態(tài),當處于并行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入參數(shù)交換狀態(tài);
[0055]所述SI,還包括:
[0056]當處于參數(shù)交換狀態(tài)時,當發(fā)生錯誤時,跳到錯誤狀態(tài);
[0057]所述S2,還包括:
[0058]當處于并行準備正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài),如果沒有,則進入并行等待正常狀態(tài);
[0059]所述S3,還包括:
[0060]當處于并行等待正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài)。
[0061]進一步地,所述SI,還包括:通過位圖來記錄接收到的參數(shù)交互報文的順序;
[0062]所述S2,包括:根據(jù)所述位圖判斷對端發(fā)來的參數(shù)交互報文是否正常;
[0063]還包括:當接收到復位報文時,將所述位圖清零。
[0064]進一步地,還包括:當接收到復位報文時,將在該復位報文之前的接收到的報文進行無效處理。
[0065]另一方面,本發(fā)明實施例提供了一種數(shù)據(jù)鏈路層的初始化的裝置,包括:
[0066]參數(shù)交互單元,用于實時接收對端發(fā)來的參數(shù)交互報文,向對端發(fā)送攜帶用于初始化的參數(shù)的參數(shù)交互報文;
[0067]判斷單元,用于判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則觸發(fā)初始化單元,否則,觸發(fā)所述參數(shù)交互單元;
[0068]初始化單元,用于向對端發(fā)送開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0069]進一步地,針對串行發(fā)送報文端,包括:預先設置的多個串行狀態(tài);
[0070]所述多個串行狀態(tài)包括:準備狀態(tài)、第一參數(shù)狀態(tài)、第二參數(shù)狀態(tài)、第三參數(shù)狀態(tài)、第四參數(shù)狀態(tài)、串行參數(shù)完成狀態(tài)、串行準備正常狀態(tài)、串行等待正常狀態(tài)、串行正常狀態(tài);[0071 ]所述參數(shù)交互報文,包括:第一參數(shù)報文、第二參數(shù)報文、第三參數(shù)報文、第四參數(shù)報文;
[0072]所述參數(shù)交互單元,用于:
[0073]當處于第一參數(shù)狀態(tài)時,向對端發(fā)送第一參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第二參數(shù)狀態(tài);
[0074]當處于第二參數(shù)狀態(tài)時,向對端發(fā)送第二參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第三參數(shù)狀態(tài);
[0075]當處于第三參數(shù)狀態(tài)時,向對端發(fā)送第三參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第四參數(shù)狀態(tài);
[0076]當處于第四參數(shù)狀態(tài)時,向對端發(fā)送第四參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入串行參數(shù)完成狀態(tài);
[0077]所述判斷單元,用于:
[0078]當處于串行參數(shù)完成狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入串行準備正常狀態(tài),否則,則進入準備狀態(tài);
[0079]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0080]所述初始化單元,用于:
[0081 ]當處于串行準備正常狀態(tài)時,向對端發(fā)送開始正常報文,進入串行等待正常狀態(tài);
[0082]當處于串行等待正常狀態(tài)時,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入串行正常狀態(tài);
[0083]當處于串行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0084]進一步地,還包括:
[0085]所述多個串行狀態(tài)還包括:串行等待狀態(tài);
[0086]還包括:
[0087]串行等待單元,用于:
[0088]將串行發(fā)送報文端設置為串行等待狀態(tài),當處于串行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入準備狀態(tài);
[0089]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來的復位報文或者參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0090]所述參數(shù)交互單元,還用于:
[0091 ]當處于第一參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第二參數(shù)狀態(tài),當接收到復位報文時,維持第一參數(shù)狀態(tài);
[0092]當處于第二參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第三參數(shù)狀態(tài);
[0093]當處于第三參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第四參數(shù)狀態(tài);
[0094]當處于第四參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入串行參數(shù)完成狀態(tài);
[0095]所述判斷單元,用于:
[0096]當處于串行參數(shù)完成狀態(tài)時,發(fā)出空報文,檢測是否有記錄的錯誤,如果有,則進入準備狀態(tài),如果沒有,則進入串行準備正常狀態(tài);
[0097]所述初始化單元,還用于:
[0098]當處于串行準備正常狀態(tài)時,當接收到準備正常報文時,并發(fā)送開始正常報文,進入串行等待正常狀態(tài),如果沒有接收到準備正常報文,則發(fā)出準備正常報文,如果接收到復位報文或者錯誤報文,則立即復位,進入串行等待狀態(tài);
[0099]當處于串行等待正常狀態(tài)時,發(fā)出空報文,當接收到服務報文或者錯誤報文,則立即復位,進入串彳丁等待狀態(tài)。
[0100]進一步地,針對并行發(fā)送報文端,包括:預先設置的多個并行狀態(tài);
[0101]所述多個并行狀態(tài)包括:參數(shù)交換狀態(tài)、錯誤狀態(tài)、并行準備正常狀態(tài)、并行等待正常狀態(tài)、并行正常狀態(tài);
[0102]所述參數(shù)交互單元,用于:
[0103]當處于參數(shù)交換狀態(tài)時,向對端并行發(fā)出四個參數(shù)交換報文,實時接收對端發(fā)來的參數(shù)交互報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入并行準備正常狀態(tài);
[0104]所述判斷單元,用于:
[0105]當處于并行準備正常狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入并行等待正常狀態(tài),否則,進入錯誤狀態(tài);
[0106]當處于錯誤狀態(tài)時,進行復位,進入參數(shù)交換狀態(tài);
[0107]所述初始化單元,用于:
[0108]當處于并行等待正常狀態(tài)時,向對端發(fā)出開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入并行正常狀態(tài);
[0109]當處于并行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0110]進一步地,還包括:
[0111]所述多個并行狀態(tài)還包括:并行等待狀態(tài);
[0112]還包括:
[0113]并行等待單元,用于將并行發(fā)送報文端設置為并行等待狀態(tài),當處于并行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入參數(shù)交換狀態(tài);
[0114]所述參數(shù)交互單元,還用于:當處于參數(shù)交換狀態(tài)時,當發(fā)生錯誤時,跳到錯誤狀態(tài);
[0115]所述判斷單元,還用于:
[0116]當處于并行準備正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài),如果沒有,則進入并行等待正常狀態(tài);
[0117]所述初始化單元,還用于:
[0118]當處于并行等待正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài)。
[0119]進一步地,所述參數(shù)交互單元,還用于:通過位圖來記錄接收到的參數(shù)交互報文的順序;
[0120]所述判斷單元,用于:根據(jù)所述位圖判斷對端發(fā)來的參數(shù)交互報文是否正常;
[0121]還包括:清零單元,用于當接收到復位報文時,將所述位圖清零。
[0122]進一步地,還包括:
[0123]無效單元,用于當接收到復位報文時,將在該復位報文之前的接收到的報文進行無效處理。
[0124]在本發(fā)明實施例中,數(shù)據(jù)鏈路層連接的兩端通過參數(shù)交互報文實現(xiàn)用于初始化的參數(shù)的交互,當確定參數(shù)交互報文正常后,向對端發(fā)送開始正常報文,在接收到對端發(fā)來的開始正常報文后,實現(xiàn)了數(shù)據(jù)鏈路層的初始化。
【附圖說明】
[0125]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0126]圖1是本發(fā)明一實施例提供的一種數(shù)據(jù)鏈路層的初始化的方法的流程圖;
[0127]圖2是本發(fā)明一實施例提供的一種數(shù)據(jù)鏈路層的初始化的裝置的示意圖;
[0128]圖3是本發(fā)明一實施例提供的另一種數(shù)據(jù)鏈路層的初始化的裝置的示意圖。
【具體實施方式】
[0129]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0130]如圖1所示,本發(fā)明實施例提供了一種數(shù)據(jù)鏈路層的初始化的方法,該方法可以包括以下步驟:
[0131]S1:實時接收對端發(fā)來的參數(shù)交互報文,向對端發(fā)送攜帶用于初始化的參數(shù)的參數(shù)交互報文;
[0132]S2:判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則執(zhí)行步驟S3,否則,返回步驟SI ;
[0133]S3:向對端發(fā)送開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0134]在本發(fā)明實施例中,數(shù)據(jù)鏈路層連接的兩端通過參數(shù)交互報文實現(xiàn)用于初始化的參數(shù)的交互,當確定參數(shù)交互報文正常后,向對端發(fā)送開始正常報文,在接收到對端發(fā)來的開始正常報文后,實現(xiàn)了數(shù)據(jù)鏈路層的初始化。
[0135]針對不同的終端,實現(xiàn)的方式不同,對于串行發(fā)送報文的終端來說,在一種可能的實現(xiàn)方式中,針對串行發(fā)送報文端,包括:
[0136]預先為串行發(fā)送報文端設置多個串行狀態(tài);
[0137]所述多個串行狀態(tài)包括:準備狀態(tài)、第一參數(shù)狀態(tài)、第二參數(shù)狀態(tài)、第三參數(shù)狀態(tài)、第四參數(shù)狀態(tài)、串行參數(shù)完成狀態(tài)、串行準備正常狀態(tài)、串行等待正常狀態(tài)、串行正常狀態(tài);
[0138]所述SI,包括:
[0139]所述參數(shù)交互報文,包括:第一參數(shù)報文、第二參數(shù)報文、第三參數(shù)報文、第四參數(shù)報文;
[0140]當處于第一參數(shù)狀態(tài)時,向對端發(fā)送第一參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第二參數(shù)狀態(tài);
[0141]當處于第二參數(shù)狀態(tài)時,向對端發(fā)送第二參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第三參數(shù)狀態(tài);
[0142]當處于第三參數(shù)狀態(tài)時,向對端發(fā)送第三參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第四參數(shù)狀態(tài);
[0143]當處于第四參數(shù)狀態(tài)時,向對端發(fā)送第四參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入串行參數(shù)完成狀態(tài);
[0144]所述S2,包括:
[0145]當處于串行參數(shù)完成狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入串行準備正常狀態(tài),否則,則進入準備狀態(tài);
[0146]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0147]所述S3,包括:
[0148]當處于串行準備正常狀態(tài)時,向對端發(fā)送開始正常報文,進入串行等待正常狀態(tài);
[0149]當處于串行等待正常狀態(tài)時,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入串行正常狀態(tài);
[0150]當處于串行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0151]在一種可能的實現(xiàn)方式中,還包括:
[0152]所述多個串行狀態(tài)還包括:串行等待狀態(tài);
[0153]在所述SI之前,還包括:
[0154]將串行發(fā)送報文端設置為串行等待狀態(tài),當處于串行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入準備狀態(tài);
[0155]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來的復位報文或者參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0156]所述SI,還包括:
[0157]當處于第一參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第二參數(shù)狀態(tài),當接收到復位報文時,維持第一參數(shù)狀態(tài);
[0158]當處于第二參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第三參數(shù)狀態(tài);
[0159]當處于第三參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第四參數(shù)狀態(tài);
[0160]當處于第四參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入串行參數(shù)完成狀態(tài);
[0161]所述S2,包括:
[0162]當處于串行參數(shù)完成狀態(tài)時,發(fā)出空報文,檢測是否有記錄的錯誤,如果有,則進入準備狀態(tài),如果沒有,則進入串行準備正常狀態(tài);
[0163]所述S3,還包括:
[0164]當處于串行準備正常狀態(tài)時,當接收到準備正常報文時,并發(fā)送開始正常報文,進入串行等待正常狀態(tài),如果沒有接收到準備正常報文,則發(fā)出準備正常報文,如果接收到復位報文或者錯誤報文,則立即復位,進入串行等待狀態(tài);
[0165]當處于串行等待正常狀態(tài)時,發(fā)出空報文,當接收到服務報文或者錯誤報文,則立即復位,進入串彳丁等待狀態(tài)。
[0166]對于串行發(fā)送報文的終端來說,在一種可能的實現(xiàn)方式中,針對并行發(fā)送報文端,包括:
[0167]預先為并行發(fā)送報文端設置多個并行狀態(tài);
[0168]所述多個并行狀態(tài)包括:參數(shù)交換狀態(tài)、錯誤狀態(tài)、并行準備正常狀態(tài)、并行等待正常狀態(tài)、并行正常狀態(tài);
[0169]所述SI,包括:
[0170]當處于參數(shù)交換狀態(tài)時,向對端并行發(fā)出四個參數(shù)交換報文,實時接收對端發(fā)來的參數(shù)交互報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入并行準備正常狀態(tài);
[0171]所述S2,包括:
[0172]當處于并行準備正常狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入并行等待正常狀態(tài),否則,進入錯誤狀態(tài);
[0173]當處于錯誤狀態(tài)時,進行復位,進入參數(shù)交換狀態(tài);
[0174]所述S3,包括:
[0175]當處于并行等待正常狀態(tài)時,向對端發(fā)出開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入并行正常狀態(tài);
[0176]當處于并行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0177]在一種可能的實現(xiàn)方式中,該方法還包括:
[0178]所述多個并行狀態(tài)還包括:并行等待狀態(tài);
[0179]在所述SI之前,還包括:
[0180]將并行發(fā)送報文端設置為并行等待狀態(tài),當處于并行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入參數(shù)交換狀態(tài);
[0181]所述SI,還包括:
[0182]當處于參數(shù)交換狀態(tài)時,當發(fā)生錯誤時,跳到錯誤狀態(tài);
[0183]所述S2,還包括:
[0184]當處于并行準備正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài),如果沒有,則進入并行等待正常狀態(tài);
[0185]所述S3,還包括:
[0186]當處于并行等待正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài)。
[0187]在一種可能的實現(xiàn)方式中,所述SI,還包括:通過位圖來記錄接收到的參數(shù)交互報文的順序;
[0188]所述S2,包括:根據(jù)所述位圖判斷對端發(fā)來的參數(shù)交互報文是否正常;
[0189]還包括:當接收到復位報文時,將所述位圖清零。
[0190]具體地,可以通過參數(shù)寄存器來存儲接收到的參數(shù)交互報文的標志位。舉例來說,使用四位b i tmap (位圖)來標志四個參數(shù)報文成功接收,從左到右分別為p ar amO,p ar am I,param2,param3。如果接收到第一參數(shù)報文后,bitmap為1000;接收到第二參數(shù)報文后,bitmap為1100;接收到第三參數(shù)報文后,bitmap為1110;接收到第四參數(shù)報文后,bitmap為1111; 一旦接收到復位報文,bitmap則必須立即清零。這樣可以確認參數(shù)的正確傳輸次序,當傳輸次序錯誤時,可以通過位圖判斷出來。
[0191]在一種可能的實現(xiàn)方式中,該方法還包括:當接收到復位報文時,將在該復位報文之前的接收到的報文進行無效處理。
[0192]當一端為串行發(fā)送報文,一端為并行發(fā)送報文時,雙方的鏈路傳輸時間不完全相等,如果在復位情況下,不停的發(fā)送復位報文,會出現(xiàn)總有一端先進入非復位狀態(tài),這時另一端復位報文才到來,一旦雙方不能同時進入非復位狀態(tài),這樣會出現(xiàn)反復復位的情況。為了解決上述問題,可以將任一端設置為,只發(fā)送一次復位報文。這樣就避免了反復復位的情況。
[0193]在一種可能的實現(xiàn)方式中,在參數(shù)交換過程中,如果收到復位報文,那么立即對本端鏈路層進行復位,并發(fā)送復位報文通知對端。
[0194]在本發(fā)明實施例中,還包括:進行CRC(Cyclical Redundancy Check,循環(huán)冗余碼校驗)檢錯,一旦發(fā)生錯誤,立即對鏈路層進行復位。
[0195]在本發(fā)明實施例中,通過開始正常報文作為握手信號,實現(xiàn)兩端的握手,雙方互發(fā)相同的開始正常報文,雙方必須都接收到對方的開始正常報文后,才算握手成功。這保證了數(shù)據(jù)鏈路層的初始化的可靠。
[0196]在本發(fā)明實施例中,在參數(shù)交換過程中,將按照一定的次序發(fā)送多個參數(shù)報文,一旦接收方收到報文次序錯誤,將立即進行對鏈路層復位。
[0197]在本發(fā)明實施例中,在物理層在復位以后,鏈路層對等雙方必須互發(fā)復位報文,并在發(fā)完復位報文后立即發(fā)送參數(shù)報文進行參數(shù)交換,在無須發(fā)送報文的時候發(fā)送空報文。
[0198]在本發(fā)明實施例中,數(shù)據(jù)鏈路層在傳送過程中,能進行保序處理,在不對稱的信道中仍能順利完成初始化。初始化過程中通過參數(shù)報文能夠互相傳送雙方需要的鏈路信息,通過開始正常報文能夠保證可靠的握手,一旦出現(xiàn)錯誤,能夠立即進行錯誤處理。
[0199]為了實現(xiàn)基于FPGA原型驗證和芯片設計的數(shù)據(jù)鏈路層的初始化,為了實現(xiàn)FPGA或者芯片可以高可靠的完成與處理器設備的鏈路通信,本發(fā)明實施例提供了一種數(shù)據(jù)鏈路層的初始化的方法,在該實施例中,一端為串行發(fā)送報文端,一端為并行發(fā)送報文端,串行發(fā)送報文端需要依次發(fā)送四個參數(shù)交互報文。該方法可以包括:
[0200]對于串行發(fā)送報文端:
[0201]預先為串行發(fā)送報文端設置多個串行狀態(tài);
[0202]所述多個串行狀態(tài)包括:串行等待狀態(tài)、準備狀態(tài)、第一參數(shù)狀態(tài)、第二參數(shù)狀態(tài)、第三參數(shù)狀態(tài)、第四參數(shù)狀態(tài)、串行參數(shù)完成狀態(tài)、串行準備正常狀態(tài)、串行等待正常狀態(tài)、串行正常狀態(tài);依次通過以下方式表示:Not_Rdy_init狀態(tài)、Rdy_init狀態(tài)、Param_ExO狀態(tài)、Param_Ex I 狀態(tài)、Param_Ex2 狀態(tài)、Param_Ex3 狀態(tài)、Param_Ex_done 狀態(tài)、Rdy_f or_norma I狀態(tài)、Wa i t_norma I 狀態(tài)、Norma l_op 狀態(tài)。
[°203] 將串行發(fā)送報文端設置為Not_Rdy_init狀態(tài),當處于Not_Rdy_init狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入Rdy_init狀態(tài);
[0204]當處于Rdy_init狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來的復位報文或者參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0205]當處于Param_ExO狀態(tài)時,向對端發(fā)出Param_ExO報文(即第一參數(shù)報文),如果收到對端發(fā)來的Param_EX0報文則跳往Param_Exl狀態(tài)。如果收到錯誤報文,報錯后仍跳往Param_Exl狀態(tài)并記錄錯誤。收到復位報文維持原態(tài)。
[0206]當處于Param_Exl狀態(tài)時,向對端發(fā)出Param_Exl報文(即第二參數(shù)報文),如果收到對端發(fā)來的Param_Exl報文則跳往Param_Ex2狀態(tài)。如果收到錯誤報文,報錯后仍跳往Param_Ex2狀態(tài)并記錄錯誤。
[Ο2。7] 當處于Param_Ex2狀態(tài)時,向對端發(fā)出Param_Ex2報文(即第三參數(shù)報文),如果收到對端發(fā)來的Param_Ex2報文則跳往Param_Ex3狀態(tài)。如果收到錯誤報文,報錯后仍跳往Param_Ex3狀態(tài)并記錄錯誤。
[0208] 當處于Param_Ex3狀態(tài)時,向對端發(fā)出Param_Ex3報文(即第四參數(shù)報文),如果收到對端發(fā)來的Param_Ex3報文則跳往Param_Ex_done狀態(tài)。如果收到錯誤報文,報錯后仍跳往Param_Ex_done狀態(tài)并記錄錯誤。
[°209] 當處于Param_Ex_done狀態(tài)時,發(fā)出空報文,如果有錯誤記錄,立即回到Rdy_init狀態(tài),否則跳到Rdy_for_normal狀態(tài)。
[0210]當處于Rdy_for_normal狀態(tài)時,如果接收對端發(fā)來的Rdy_for_normal報文(即準備正常報文),發(fā)出begin_normal報文(即開始正常報文)并跳到下一狀態(tài)Wait_normal狀態(tài),否則發(fā)出Rdy_f or_normal報文,如果收到復位或者錯誤報文立即復位,
[0211]當處于Wait_normal狀態(tài)時,發(fā)出空報文,收到錯誤報文或者復位報文立即復位,收到begin_normal報文則跳往Normal_op狀態(tài)。
[0212]當處于Normal_op狀態(tài)時,確定數(shù)據(jù)鏈路層初始化正常狀態(tài)。
[0213]實現(xiàn)一方為FPGA或者芯片,由于FPGA或者芯片內部邏輯的限制,往往不能進行串行接收,需要在物理層進行串并轉換后并行接收。
[0214]對于并行發(fā)送報文端:
[0215]預先為并行發(fā)送報文端設置多個并行狀態(tài);
[0216]所述多個并行狀態(tài)包括:并行等待狀態(tài)、參數(shù)交換狀態(tài)、并行參數(shù)完成狀態(tài)、錯誤狀態(tài)、并行準備正常狀態(tài)、并行等待正常狀態(tài)、并行正常狀態(tài);依次通過以下方式表示:No t_Rdy_init 狀態(tài)、Param_Exchange 狀態(tài)、Param_Ex_done 狀態(tài)、Param_Err 狀態(tài)、Rdy_for_norma I 狀態(tài)、Wa i t_norma I 狀態(tài)、NORMAL狀態(tài);
[0217]將并行發(fā)送報文端設置為Not_Rdy_init狀態(tài),當處于Not_Rdy_init狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入Param_Exchange狀態(tài);
[0218]當處于Param_Exchange狀態(tài)時,一次發(fā)出四個交換參數(shù)報文,如果有錯誤,貝Ij跳至IjParam_Err狀態(tài),如果順序收到四個參數(shù)交換報文則跳到Param_Ex_done狀態(tài),其他情況則保持原態(tài)。
[0219]當處于Param_Ex_done狀態(tài)時,如果收到復位報文,立即跳到Param_Exchange狀態(tài),如果有錯誤記錄,則跳到Param_Err狀態(tài),否則跳到Rdy_f or_normal狀態(tài)。
[0220]當處于Rdy_for_normal狀態(tài)時,如果收到復位報文,立即跳到Param_Exchange狀態(tài),如果有錯誤記錄,則跳到Param_Err狀態(tài)。如果發(fā)出了 begin_normal報文又接收到了begin_normal報文,則跳到NORMAL狀態(tài)。
[0221 ]當處于NORMAL狀態(tài)狀態(tài)時,確定鏈路層初始化正常狀態(tài)。
[0222]當處于Param_Err狀態(tài)時,進行復位,進入Param_Exchange狀態(tài)。
[0223]如圖2、圖3所示,本發(fā)明實施例提供了一種數(shù)據(jù)鏈路層的初始化的裝置。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。從硬件層面而言,如圖2所示,為本發(fā)明實施例提供的一種數(shù)據(jù)鏈路層的初始化的裝置所在設備的一種硬件結構圖,除了圖2所示的處理器、內存、網絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常還可以包括其他硬件,如負責處理報文的轉發(fā)芯片等等。以軟件實現(xiàn)為例,如圖3所示,作為一個邏輯意義上的裝置,是通過其所在設備的CPU將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。本實施例提供的一種數(shù)據(jù)鏈路層的初始化的裝置,包括:
[0224]參數(shù)交互單元301,用于實時接收對端發(fā)來的參數(shù)交互報文,向對端發(fā)送攜帶用于初始化的參數(shù)的參數(shù)交互報文;
[0225]判斷單元302,用于判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則觸發(fā)初始化單元,否則,觸發(fā)所述參數(shù)交互單元;
[0226]初始化單元303,用于向對端發(fā)送開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0227]在一種可能的實現(xiàn)方式中,針對串行發(fā)送報文端,包括:預先設置的多個串行狀態(tài);
[0228]所述多個串行狀態(tài)包括:準備狀態(tài)、第一參數(shù)狀態(tài)、第二參數(shù)狀態(tài)、第三參數(shù)狀態(tài)、第四參數(shù)狀態(tài)、串行參數(shù)完成狀態(tài)、串行準備正常狀態(tài)、串行等待正常狀態(tài)、串行正常狀態(tài);?0229] 所述參數(shù)交互報文,包括:第一參數(shù)報文、第二參數(shù)報文、第三參數(shù)報文、第四參數(shù)報文;
[0230]所述參數(shù)交互單元,用于:
[0231]當處于第一參數(shù)狀態(tài)時,向對端發(fā)送第一參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第二參數(shù)狀態(tài);
[0232]當處于第二參數(shù)狀態(tài)時,向對端發(fā)送第二參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第三參數(shù)狀態(tài);
[0233]當處于第三參數(shù)狀態(tài)時,向對端發(fā)送第三參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第四參數(shù)狀態(tài);
[0234]當處于第四參數(shù)狀態(tài)時,向對端發(fā)送第四參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入串行參數(shù)完成狀態(tài);
[0235]所述判斷單元,用于:
[0236]當處于串行參數(shù)完成狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入串行準備正常狀態(tài),否則,則進入準備狀態(tài);
[0237]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0238]所述初始化單元,用于:
[0239]當處于串行準備正常狀態(tài)時,向對端發(fā)送開始正常報文,進入串行等待正常狀態(tài);
[0240]當處于串行等待正常狀態(tài)時,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入串行正常狀態(tài);
[0241]當處于串行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0242]在一種可能的實現(xiàn)方式中,該裝置還包括:
[0243]所述多個串行狀態(tài)還包括:串行等待狀態(tài);
[0244]還包括:
[0245]串行等待單元,用于:
[0246]將串行發(fā)送報文端設置為串行等待狀態(tài),當處于串行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入準備狀態(tài);
[0247]當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來的復位報文或者參數(shù)交互報文時,進入第一參數(shù)狀態(tài);
[0248]所述參數(shù)交互單元,還用于:
[0249]當處于第一參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第二參數(shù)狀態(tài),當接收到復位報文時,維持第一參數(shù)狀態(tài);
[0250]當處于第二參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第三參數(shù)狀態(tài);[0251 ]當處于第三參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第四參數(shù)狀態(tài);
[0252]當處于第四參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入串行參數(shù)完成狀態(tài);
[0253]所述判斷單元,用于:
[0254]當處于串行參數(shù)完成狀態(tài)時,發(fā)出空報文,檢測是否有記錄的錯誤,如果有,則進入準備狀態(tài),如果沒有,則進入串行準備正常狀態(tài);
[0255]所述初始化單元,還用于:
[0256]當處于串行準備正常狀態(tài)時,當接收到準備正常報文時,并發(fā)送開始正常報文,進入串行等待正常狀態(tài),如果沒有接收到準備正常報文,則發(fā)出準備正常報文,如果接收到復位報文或者錯誤報文,則立即復位,進入串行等待狀態(tài);
[0257]當處于串行等待正常狀態(tài)時,發(fā)出空報文,當接收到服務報文或者錯誤報文,則立即復位,進入串彳丁等待狀態(tài)。
[0258]在一種可能的實現(xiàn)方式中,針對并行發(fā)送報文端,包括:預先設置的多個并行狀態(tài);
[0259]所述多個并行狀態(tài)包括:參數(shù)交換狀態(tài)、錯誤狀態(tài)、并行準備正常狀態(tài)、并行等待正常狀態(tài)、并行正常狀態(tài);
[0260]所述參數(shù)交互單元,用于:
[0261]當處于參數(shù)交換狀態(tài)時,向對端并行發(fā)出四個參數(shù)交換報文,實時接收對端發(fā)來的參數(shù)交互報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入并行準備正常狀態(tài);
[0262]所述判斷單元,用于:
[0263]當處于并行準備正常狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入并行等待正常狀態(tài),否則,進入錯誤狀態(tài);
[0264]當處于錯誤狀態(tài)時,進行復位,進入參數(shù)交換狀態(tài);
[0265]所述初始化單元,用于:
[0266]當處于并行等待正常狀態(tài)時,向對端發(fā)出開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入并行正常狀態(tài);
[0267]當處于并行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。
[0268]在一種可能的實現(xiàn)方式中,該裝置還包括:
[0269]所述多個并行狀態(tài)還包括:并行等待狀態(tài);
[0270]還包括:
[0271 ]并行等待單元,用于將并行發(fā)送報文端設置為并行等待狀態(tài),當處于并行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入參數(shù)交換狀態(tài);
[0272]所述參數(shù)交互單元,還用于:當處于參數(shù)交換狀態(tài)時,當發(fā)生錯誤時,跳到錯誤狀態(tài);
[0273]所述判斷單元,還用于:
[0274]當處于并行準備正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài),如果沒有,則進入并行等待正常狀態(tài);
[0275]所述初始化單元,還用于:
[0276]當處于并行等待正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài)。
[0277]在一種可能的實現(xiàn)方式中,所述參數(shù)交互單元,還用于:通過位圖來記錄接收到的參數(shù)交互報文的順序;
[0278]所述判斷單元,用于:根據(jù)所述位圖判斷對端發(fā)來的參數(shù)交互報文是否正常;
[0279]還包括:清零單元,用于當接收到復位報文時,將所述位圖清零。
[0280]在一種可能的實現(xiàn)方式中,該裝置還包括:
[0281]無效單元,用于當接收到復位報文時,將在該復位報文之前的接收到的報文進行無效處理。
[0282]上述裝置內的各單元之間的信息交互、執(zhí)行過程等內容,由于與本發(fā)明方法實施例基于同一構思,具體內容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0283]本發(fā)明實施例提供的一種數(shù)據(jù)鏈路層的初始化的方法及裝置,至少具有以下有益效果:
[0284]1、在本發(fā)明實施例中,數(shù)據(jù)鏈路層連接的兩端通過參數(shù)交互報文實現(xiàn)用于初始化的參數(shù)的交互,當確定參數(shù)交互報文正常后,向對端發(fā)送開始正常報文,在接收到對端發(fā)來的開始正常報文后,實現(xiàn)了數(shù)據(jù)鏈路層的初始化。
[0285]2、在本發(fā)明實施例中,通過開始正常報文作為握手信號,實現(xiàn)兩端的握手,雙方互發(fā)相同的開始正常報文,雙方必須都接收到對方的開始正常報文后,才算握手成功。這保證了數(shù)據(jù)鏈路層的初始化的可靠。
[0286]3、在本發(fā)明實施例中,數(shù)據(jù)鏈路層在傳送過程中,能進行保序處理,在不對稱的信道中仍能順利完成初始化。初始化過程中通過參數(shù)報文能夠互相傳送雙方需要的鏈路信息,通過開始正常報文能夠保證可靠的握手,一旦出現(xiàn)錯誤,能夠立即進行錯誤處理。
[0287]需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃.....”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
[0288]本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質中。
[0289]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。
【主權項】
1.一種數(shù)據(jù)鏈路層的初始化的方法,其特征在于,包括: S1:實時接收對端發(fā)來的參數(shù)交互報文,向對端發(fā)送攜帶用于初始化的參數(shù)的參數(shù)交互報文; S2:判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則執(zhí)行步驟S3,否則,返回步驟SI; S3:向對端發(fā)送開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。2.根據(jù)權利要求1所述的方法,其特征在于,針對串行發(fā)送報文端,包括: 預先為串行發(fā)送報文端設置多個串行狀態(tài); 所述多個串行狀態(tài)包括:準備狀態(tài)、第一參數(shù)狀態(tài)、第二參數(shù)狀態(tài)、第三參數(shù)狀態(tài)、第四參數(shù)狀態(tài)、串行參數(shù)完成狀態(tài)、串行準備正常狀態(tài)、串行等待正常狀態(tài)、串行正常狀態(tài); 所述SI,包括: 所述參數(shù)交互報文,包括:第一參數(shù)報文、第二參數(shù)報文、第三參數(shù)報文、第四參數(shù)報文; 當處于第一參數(shù)狀態(tài)時,向對端發(fā)送第一參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第二參數(shù)狀態(tài); 當處于第二參數(shù)狀態(tài)時,向對端發(fā)送第二參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第三參數(shù)狀態(tài); 當處于第三參數(shù)狀態(tài)時,向對端發(fā)送第三參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第四參數(shù)狀態(tài); 當處于第四參數(shù)狀態(tài)時,向對端發(fā)送第四參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入串行參數(shù)完成狀態(tài); 所述S2,包括: 當處于串行參數(shù)完成狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入串行準備正常狀態(tài),否則,則進入準備狀態(tài); 當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來參數(shù)交互報文時,進入第一參數(shù)狀態(tài); 所述S3,包括: 當處于串行準備正常狀態(tài)時,向對端發(fā)送開始正常報文,進入串行等待正常狀態(tài);當處于串行等待正常狀態(tài)時,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入串行正常狀態(tài); 當處于串行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。3.根據(jù)權利要求2所述的方法,其特征在于,還包括: 所述多個串行狀態(tài)還包括:串行等待狀態(tài); 在所述SI之前,還包括: 將串行發(fā)送報文端設置為串行等待狀態(tài),當處于串行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入準備狀態(tài); 當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來的復位報文或者參數(shù)交互報文時,進入第一參數(shù)狀態(tài); 所述SI,還包括: 當處于第一參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第二參數(shù)狀態(tài),當接收到復位報文時,維持第一參數(shù)狀態(tài); 當處于第二參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第三參數(shù)狀態(tài); 當處于第三參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第四參數(shù)狀態(tài); 當處于第四參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入串行參數(shù)完成狀態(tài); 所述S2,包括: 當處于串行參數(shù)完成狀態(tài)時,發(fā)出空報文,檢測是否有記錄的錯誤,如果有,則進入準備狀態(tài),如果沒有,則進入串行準備正常狀態(tài); 所述S3,還包括: 當處于串行準備正常狀態(tài)時,當接收到準備正常報文時,并發(fā)送開始正常報文,進入串行等待正常狀態(tài),如果沒有接收到準備正常報文,則發(fā)出準備正常報文,如果接收到復位報文或者錯誤報文,則立即復位,進入串行等待狀態(tài); 當處于串行等待正常狀態(tài)時,發(fā)出空報文,當接收到服務報文或者錯誤報文,則立即復位,進入串彳丁等待狀態(tài)。4.根據(jù)權利要求1所述的方法,其特征在于,針對并行發(fā)送報文端,包括: 預先為并行發(fā)送報文端設置多個并行狀態(tài); 所述多個并行狀態(tài)包括:參數(shù)交換狀態(tài)、錯誤狀態(tài)、并行準備正常狀態(tài)、并行等待正常狀態(tài)、并行正常狀態(tài); 所述SI,包括: 當處于參數(shù)交換狀態(tài)時,向對端并行發(fā)出四個參數(shù)交換報文,實時接收對端發(fā)來的參數(shù)交互報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入并行準備正常狀態(tài); 所述S2,包括: 當處于并行準備正常狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入并行等待正常狀態(tài),否則,進入錯誤狀態(tài); 當處于錯誤狀態(tài)時,進行復位,進入參數(shù)交換狀態(tài); 所述S3,包括: 當處于并行等待正常狀態(tài)時,向對端發(fā)出開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入并行正常狀態(tài); 當處于并行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。5.根據(jù)權利要求4所述的方法,其特征在于,還包括: 所述多個并行狀態(tài)還包括:并行等待狀態(tài); 在所述SI之前,還包括: 將并行發(fā)送報文端設置為并行等待狀態(tài),當處于并行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入參數(shù)交換狀態(tài); 所述SI,還包括: 當處于參數(shù)交換狀態(tài)時,當發(fā)生錯誤時,跳到錯誤狀態(tài); 所述S2,還包括: 當處于并行準備正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài),如果沒有,則進入并行等待正常狀態(tài); 所述S3,還包括: 當處于并行等待正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài); 和/或, 所述SI,還包括:通過位圖來記錄接收到的參數(shù)交互報文的順序; 所述S2,包括:根據(jù)所述位圖判斷對端發(fā)來的參數(shù)交互報文是否正常; 還包括:當接收到復位報文時,將所述位圖清零; 和/或, 還包括:當接收到復位報文時,將在該復位報文之前的接收到的報文進行無效處理。6.一種數(shù)據(jù)鏈路層的初始化的裝置,其特征在于,包括: 參數(shù)交互單元,用于實時接收對端發(fā)來的參數(shù)交互報文,向對端發(fā)送攜帶用于初始化的參數(shù)的參數(shù)交互報文; 判斷單元,用于判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則觸發(fā)初始化單元,否則,觸發(fā)所述參數(shù)交互單元; 初始化單元,用于向對端發(fā)送開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。7.根據(jù)權利要求6所述的裝置,其特征在于,針對串行發(fā)送報文端,包括:預先設置的多個串行狀態(tài); 所述多個串行狀態(tài)包括:準備狀態(tài)、第一參數(shù)狀態(tài)、第二參數(shù)狀態(tài)、第三參數(shù)狀態(tài)、第四參數(shù)狀態(tài)、串行參數(shù)完成狀態(tài)、串行準備正常狀態(tài)、串行等待正常狀態(tài)、串行正常狀態(tài); 所述參數(shù)交互報文,包括:第一參數(shù)報文、第二參數(shù)報文、第三參數(shù)報文、第四參數(shù)報文; 所述參數(shù)交互單元,用于: 當處于第一參數(shù)狀態(tài)時,向對端發(fā)送第一參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第二參數(shù)狀態(tài); 當處于第二參數(shù)狀態(tài)時,向對端發(fā)送第二參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第三參數(shù)狀態(tài); 當處于第三參數(shù)狀態(tài)時,向對端發(fā)送第三參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入第四參數(shù)狀態(tài); 當處于第四參數(shù)狀態(tài)時,向對端發(fā)送第四參數(shù)報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入串行參數(shù)完成狀態(tài); 所述判斷單元,用于: 當處于串行參數(shù)完成狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入串行準備正常狀態(tài),否則,則進入準備狀態(tài); 當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來參數(shù)交互報文時,進入第一參數(shù)狀態(tài); 所述初始化單元,用于: 當處于串行準備正常狀態(tài)時,向對端發(fā)送開始正常報文,進入串行等待正常狀態(tài); 當處于串行等待正常狀態(tài)時,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入串行正常狀態(tài); 當處于串行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。8.根據(jù)權利要求7所述的裝置,其特征在于,還包括: 所述多個串行狀態(tài)還包括:串行等待狀態(tài); 還包括: 串行等待單兀,用于: 將串行發(fā)送報文端設置為串行等待狀態(tài),當處于串行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入準備狀態(tài); 當處于準備狀態(tài)時,向對端發(fā)送復位報文,當接收到對端發(fā)來的復位報文或者參數(shù)交互報文時,進入第一參數(shù)狀態(tài); 所述參數(shù)交互單元,還用于: 當處于第一參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第二參數(shù)狀態(tài),當接收到復位報文時,維持第一參數(shù)狀態(tài); 當處于第二參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第三參數(shù)狀態(tài); 當處于第三參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入第四參數(shù)狀態(tài); 當處于第四參數(shù)狀態(tài)時,當接收到錯誤報文時,記錄錯誤,并進入串行參數(shù)完成狀態(tài); 所述判斷單元,用于: 當處于串行參數(shù)完成狀態(tài)時,發(fā)出空報文,檢測是否有記錄的錯誤,如果有,則進入準備狀態(tài),如果沒有,則進入串行準備正常狀態(tài); 所述初始化單元,還用于: 當處于串行準備正常狀態(tài)時,當接收到準備正常報文時,并發(fā)送開始正常報文,進入串行等待正常狀態(tài),如果沒有接收到準備正常報文,則發(fā)出準備正常報文,如果接收到復位報文或者錯誤報文,則立即復位,進入串行等待狀態(tài); 當處于串行等待正常狀態(tài)時,發(fā)出空報文,當接收到服務報文或者錯誤報文,則立即復位,進入串彳丁等待狀態(tài)。9.根據(jù)權利要求6所述的裝置,其特征在于,針對并行發(fā)送報文端,包括:預先設置的多個并行狀態(tài); 所述多個并行狀態(tài)包括:參數(shù)交換狀態(tài)、錯誤狀態(tài)、并行準備正常狀態(tài)、并行等待正常狀態(tài)、并行正常狀態(tài); 所述參數(shù)交互單元,用于: 當處于參數(shù)交換狀態(tài)時,向對端并行發(fā)出四個參數(shù)交換報文,實時接收對端發(fā)來的參數(shù)交互報文,當接收到對端發(fā)來的參數(shù)交互報文時,進入并行準備正常狀態(tài); 所述判斷單元,用于: 當處于并行準備正常狀態(tài)時,判斷對端發(fā)來的參數(shù)交互報文是否正常,如果是,則進入并行等待正常狀態(tài),否則,進入錯誤狀態(tài); 當處于錯誤狀態(tài)時,進行復位,進入參數(shù)交換狀態(tài); 所述初始化單元,用于: 當處于并行等待正常狀態(tài)時,向對端發(fā)出開始正常報文,接收對端發(fā)來的開始正常報文,當接收到對端發(fā)來的開始正常報文時,則進入并行正常狀態(tài); 當處于并行正常狀態(tài)時,確定實現(xiàn)數(shù)據(jù)鏈路層的初始化。10.根據(jù)權利要求9所述的裝置,其特征在于,還包括: 所述多個并行狀態(tài)還包括:并行等待狀態(tài); 還包括: 并行等待單元,用于將并行發(fā)送報文端設置為并行等待狀態(tài),當處于并行等待狀態(tài)時,發(fā)送空報文,當檢測到物理層準備就緒后,進入參數(shù)交換狀態(tài); 所述參數(shù)交互單元,還用于:當處于參數(shù)交換狀態(tài)時,當發(fā)生錯誤時,跳到錯誤狀態(tài); 所述判斷單元,還用于: 當處于并行準備正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài),如果沒有,則進入并行等待正常狀態(tài); 所述初始化單元,還用于: 當處于并行等待正常狀態(tài)時,當接收到復位報文時,則進入參數(shù)交換狀態(tài),檢測是否有記錄的錯誤,如果有,則進入錯誤狀態(tài); 和/或, 所述參數(shù)交互單元,還用于:通過位圖來記錄接收到的參數(shù)交互報文的順序; 所述判斷單元,用于:根據(jù)所述位圖判斷對端發(fā)來的參數(shù)交互報文是否正常; 還包括:清零單元,用于當接收到復位報文時,將所述位圖清零; 和/或, 還包括: 無效單元,用于當接收到復位報文時,將在該復位報文之前的接收到的報文進行無效處理。
【文檔編號】H04L29/08GK105897878SQ201610203720
【公開日】2016年8月24日
【申請日】2016年4月1日
【發(fā)明人】王朝輝
【申請人】浪潮電子信息產業(yè)股份有限公司