基于管理數(shù)據(jù)輸入輸出多源協(xié)議的傳輸方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及通訊技術,尤其涉及一種基于CFP管理數(shù)據(jù)輸入輸出(MD10,Management Data 1即111:/01^口111:)多源協(xié)議(]\^4,]\11111:1 Source Agreement)的傳輸方法及
>J-U ρ?α裝直。
【背景技術】
[0002]目前,在基于通訊協(xié)議的數(shù)據(jù)傳輸場景下,例如基于管理數(shù)據(jù)輸入輸出(MD10,Management Data Input/Output)多源協(xié)議(MSA,Multi Source Agreement)沒有對讀寫操作中傳送的數(shù)據(jù)進行即時校驗,在通訊中,一旦發(fā)生數(shù)據(jù)傳輸錯誤,可能會造成無法估計的結果。例如:設置通道波長時發(fā)生錯誤,當希望將通道波長設置成第4波,由于傳輸中出現(xiàn)干擾,有可能接收成第6波,這樣合波后第四波沒有信號,第六波是兩路疊加的信號,接收方將無法有效接收。導致兩路信號業(yè)務中斷。
[0003]本申請發(fā)明人在實現(xiàn)本申請實施例技術方案的過程中,至少發(fā)現(xiàn)現(xiàn)有技術中存在如下技術問題:
[0004]實際工作中MD1通訊由于沒有握手校驗機制,經(jīng)常會發(fā)生報文錯誤,或報文丟失,而主機卻不知道,也無法及時糾正。
[0005]如圖1所示為用于MD1通訊的MD1命令幀,對MD1命令幀結構進行簡單說明如下:
[0006]使用IEEE 802.3定義的數(shù)據(jù)幀結構進行通訊。每幀全部長度64位,前32位為前導碼(Preamble),后32位為地址幀或命令幀。32位前導碼為主機向光模塊發(fā)送的連續(xù)32個邏輯“I”比特。幀和幀之間為空閑狀態(tài)(Idle)。
[0007]MD1幀命令體由6部分組成,具體如下:
[0008]——ST:開始位(2bit);
[0009]-OP:操作碼(2bit);
[0010]——PHYADR:物理端口地址(5bit),其中地址值“ObOOOOO”為廣播地址;
[0011 ] -DEVADD:MD10 器件地址;
[0012]-TA:狀態(tài)轉換(turn around)碼(2bit);對于讀操作,主機和光模塊保持MD1
數(shù)據(jù)線在TA的第一個比特為高阻態(tài),TA的第二個比特由光模塊置為邏輯“0”,主機開始數(shù)據(jù)發(fā)送;對于寫操作,主機將驅動TA的兩個比特為“OblO”,開始對光模塊執(zhí)行寫數(shù)據(jù)操作;
[0013]——16-bit地址或數(shù)據(jù):MD10幀結構中的數(shù)據(jù)凈荷域。
[0014]MD1的通訊方式分為讀操作,連續(xù)讀操作,寫操作。
[0015]綜上所述,由于在通訊時沒有校驗機制,因此導致主機與光模塊間出現(xiàn)傳輸錯誤也無法及時糾正的問題,針對這個問題尚未存在有效的解決方案。
【發(fā)明內容】
[0016]有鑒于此,本發(fā)明的主要目的在于提供一種基于CFP MD1 MSA的傳輸方法及裝置,通訊時有校驗機制,至少解決了主機與光模塊間出現(xiàn)傳輸錯誤也無法及時糾正的問題,提高了通訊可靠性。
[0017]為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:
[0018]本發(fā)明實施例提供了一種基于管理數(shù)據(jù)輸入輸出多源協(xié)議的傳輸方法,包括:
[0019]發(fā)送至少一個幀,主機根據(jù)所述幀攜帶的操作碼來指示對光模塊執(zhí)行讀數(shù)據(jù)操作或連續(xù)讀數(shù)據(jù)操作或寫數(shù)據(jù)操作;
[0020]所述幀用于校驗時在所述主機和所述光模塊側分別計算校驗值,根據(jù)校驗值比對的結果判斷校驗值的正確與否,決定是否需要進行重復所述讀數(shù)據(jù)操作或連續(xù)讀數(shù)據(jù)操作或寫數(shù)據(jù)操作。
[0021]較佳地,執(zhí)行所述讀數(shù)據(jù)操作情況下,
[0022]所述幀攜帶的操作碼包含第一地址碼時,指示讀操作的第一寄存器地址;所述幀攜帶的操作碼包含第一讀操作碼時,指示讀出第一寄存器數(shù)據(jù);在光模塊側根據(jù)讀取的所述第一寄存器地址和所述第一寄存器數(shù)據(jù)計算校驗值;
[0023]所述幀攜帶的操作碼包含第二地址碼時,指示讀操作的第二寄存器地址,光模塊將計算得到的校驗值寫入所述第二寄存器地址;所述幀攜帶的操作碼包含第二讀操作碼時,指示讀出第二寄存器地址中的所述校驗值;在主機側將其計算的校驗值與從所述第二寄存器地址讀取的校驗值進行校驗值比對,如果校驗值一致,結束當前流程,否則,傳輸有誤,需重復所述讀數(shù)據(jù)操作。
[0024]較佳地,執(zhí)行所述連續(xù)讀數(shù)據(jù)操作情況下,
[0025]所述幀攜帶的操作碼包含地址碼時,指示連續(xù)讀操作的寄存器地址;所述幀攜帶的操作碼包含連續(xù)讀操作碼時,指示讀出寄存器數(shù)據(jù),主機直接連續(xù)讀取寄存器數(shù)據(jù)直至后續(xù)幀的操作碼不為所述連續(xù)讀操作碼為止;
[0026]光模塊在主機連續(xù)讀取寄存器數(shù)據(jù)同時根據(jù)每一幀讀取的寄存器地址和寄存器數(shù)據(jù)連續(xù)計算校驗值,每當完成一幀的讀取就將計算得到的校驗值寫入存放校驗值的寄存器地址;
[0027]主機連續(xù)讀操作結束后,讀取存放校驗值的寄存器地址,在主機側將其計算的校驗值與從所述存放校驗值的寄存器地址讀取的校驗值進行校驗值比對,如果校驗值一致,結束當前流程,否則,傳輸有誤,需重復所述連續(xù)讀數(shù)據(jù)操作。
[0028]較佳地,執(zhí)行所述寫數(shù)據(jù)操作情況下,
[0029]所述幀攜帶的操作碼包含第一地址碼時,指示寫操作的第一寄存器地址;所述幀攜帶的操作碼包含第一寫操作碼時,指示需寫入的第一寄存器數(shù)據(jù);在光模塊側根據(jù)所述第一寄存器地址和所述第一寄存器數(shù)據(jù)計算校驗值;
[0030]所述幀攜帶的操作碼包含第二地址碼時,指示第二寄存器地址,所述第二寄存器地址為主機計算得到校驗值存放的寄存器地址;所述幀攜帶的操作碼包含第二寫操作碼時,指示將主機計算得到校驗值寫入第二寄存器地址中;在光模塊側將其計算的校驗值與從所述第二寄存器地址讀取的校驗值進行校驗值比對,如果校驗值一致,結束當前流程,否則,傳輸有誤,需重復所述寫數(shù)據(jù)操作。
[0031 ] 本發(fā)明實施例還提供了一種基于管理數(shù)據(jù)輸入輸出多源協(xié)議的傳輸裝置,包括:
[0032]傳輸模塊,用于發(fā)送至少一個幀,主機根據(jù)所述幀攜帶的操作碼來指示對光模塊執(zhí)行讀數(shù)據(jù)操作或連續(xù)讀數(shù)據(jù)操作或寫數(shù)據(jù)操作;
[0033]校驗及決策模塊,用于所述幀用于校驗時在所述主機和所述光模塊側分別計算校驗值,根據(jù)校驗值比對的結果判斷校驗值的正確與否,決定是否需要進行重復所述讀數(shù)據(jù)操作或連續(xù)讀數(shù)據(jù)操作或寫數(shù)據(jù)操作。
[0034]較佳地,執(zhí)行所述讀數(shù)據(jù)操作情況下,
[0035]所述傳輸模塊,進一步用于所述幀攜帶的操作碼包含第一地址碼時,指示讀操作的第一寄存器地址;所述幀攜帶的操作碼包含第一讀操作碼時,指示讀出第一寄存器數(shù)據(jù);
[0036]所述校驗及決策模塊,進一步用于在光模塊側根據(jù)讀取的所述第一寄存器地址和所述第一寄存器數(shù)據(jù)計算校驗值;
[0037]所述傳輸模塊,還用于所述幀攜帶的操作碼包含第二地址碼時,指示讀操作的第二寄存器地址;所述幀攜帶的操作碼包含第二讀操作碼時,指示讀出第二寄存器地址中的所述校驗值;
[0038]所述校驗及決策模塊,還用于指示讀操作的第二寄存器地址時,光模塊將計算得到的校驗值寫入所述第二寄存器地址;在主機側將其計算的校驗值與從所述第二寄存器地址讀取的校驗值進行校驗值比對,如果校驗值一致,結束當前流程,否則,傳輸有誤,需重復所述讀數(shù)據(jù)操作。
[0039]較佳地,執(zhí)行所述連續(xù)讀數(shù)據(jù)操作情況下,
[0040]所述傳輸模塊,進一步用于所述幀攜帶的操作碼包含地址碼時,指示連續(xù)讀操作的寄存器地址;所述幀攜帶的操作碼包含連續(xù)讀操作碼時,指示讀出寄存器數(shù)據(jù);
[0041]所述校驗及決策模塊,進一步用于主機直接連續(xù)讀取寄存器數(shù)據(jù)直至后續(xù)幀的操作碼不為所述連續(xù)讀操作碼為止;光模塊在主機連續(xù)讀取寄存器數(shù)據(jù)同時根據(jù)每一幀讀取的寄存器地址和寄存器數(shù)據(jù)連續(xù)計算校驗值,每當完成一幀的讀取就將計算得到的校驗值寫入存放校驗值的寄存器地址;
[0042]所述校驗及決策模塊,還用于主機連續(xù)讀操作結束后,讀取存放校驗值的寄存器地址,在主機側將其計算的校驗值與從所述存放校驗值的寄存器地址讀取的校驗值進行校驗值比對,如果校驗值一致,結束當前流程,否則,傳輸有誤,需重復所述連續(xù)讀數(shù)據(jù)操作。
[0043]較佳地,執(zhí)行所述寫數(shù)據(jù)操作情況下,
[0044