專利名稱:一種用于fc協(xié)議的eof極性選擇方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機控制領(lǐng)域,涉及一種用于FC協(xié)議的幀結(jié)束定界符EOF極性選擇方法。
背景技術(shù):
FC-FS-3協(xié)議規(guī)定,有極性為正、負兩種編碼的EOF幀結(jié)束定界符被定義,在輸入到8B/10B編碼器的數(shù)據(jù)中,選擇合適的極性的EOF編碼,這樣可以使處理完有序集(Ordered Sets)的最后一個字符(最右邊)之后,應(yīng)該產(chǎn)生一個負的RD(running disparity)值。EOF編碼極性選擇,和RD值的初始化規(guī)則相結(jié)合,確保了在發(fā)射機上電,或者發(fā)射機退出診斷模式(diagnostic mode)時,可以使用負的開始RD值來發(fā)送EOF之后的第一個有序集。用于原語信號和原語序列的被定義的有序集(Ordered Sets)保持負的極性,確保了和SOF定界符、原語信號、原語序列相關(guān)的有序集被發(fā)送時,總是以負的RD值開始。結(jié)果,原語信號、原語序列、SOF定界符有序集只定義了開始RD值為負的情況。這樣定義最主要的好處是,可以從編碼后的位流中一次移除或者添加一個字的填充字,而不用改變被移除的填充字之后發(fā)送的字的開始RD極性。為了實現(xiàn)FC-I層編解碼相關(guān)協(xié)議的正確解析,需要在FC-I層協(xié)議處理電路中實現(xiàn)EOF極性選擇電路,以確保在處理完EOF之后,下一個原語序列開始的RD值為負。
發(fā)明內(nèi)容
為了解決背景技術(shù)中存在的上述技術(shù)問題,本發(fā)明提供了一種能夠正確對FC協(xié)議的EOF極性進行選擇的用于FC協(xié)議的EOF極性選擇方法。本發(fā)明的技術(shù)解決方案是本發(fā)明提供了一種用于FC協(xié)議的EOF極性選擇方法, 其特殊之處在于所述方法包括以下步驟1)定義起始參數(shù)的極性;2)根據(jù)起始參數(shù)的極性獲取數(shù)據(jù)流中第一數(shù)據(jù)的實際RD值的極性;3)獲取數(shù)據(jù)流中EOF的實際RD值的極性;4)根據(jù)數(shù)據(jù)流中EOF的實際RD值的極性對EOF極性進行選擇。上述步驟1)中起始參數(shù)包括起始數(shù)據(jù)RD值的極性;所述起始數(shù)據(jù)RD值的極性為負。上述數(shù)據(jù)流的極性和數(shù)據(jù)RD值的極性保持一致。上述步驟2、的具體實現(xiàn)方式是2. 1)獲取起始數(shù)據(jù)RD值的極性;2. 2)獲取數(shù)據(jù)流中第一數(shù)據(jù)的理論RD值的極性,并將其拆分為高8位理論RD值和低8位理論RD值;2. 3)將步驟2. 1)和步驟2. 2)所得到的起始數(shù)據(jù)RD值的極性、高8位理論RD值以及低8位理論RD值進行異或運算,得到數(shù)據(jù)流中第一數(shù)據(jù)的實際RD值的極性。
上述步驟幻的具體實現(xiàn)方式是3. 1)獲取數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性;3. 2)獲取數(shù)據(jù)流中EOF的理論RD值的極性,并將其拆分為高8位理論RD值和低 8位理論RD值;3. 3)將步驟3. 1)和步驟3. 2)所得到的數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性、高8位理論RD值以及低8位理論RD值進行異或運算,得到數(shù)據(jù)流中EOF的實際RD 值的極性。上步驟4)的具體實現(xiàn)方式是若數(shù)據(jù)流中EOF的實際RD值的極性是負,則數(shù)據(jù)流中EOF的極性為負保持不變;若數(shù)據(jù)流中EOF的實際RD值的極性是正,則將數(shù)據(jù)流中EOF的極性更改為正。上述步驟4)中將數(shù)據(jù)流中EOF的極性更改為負的具體實現(xiàn)方式是4. 1)獲取數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性;4. 2)獲取數(shù)據(jù)流中EOF的理論RD值的極性,并將其拆分為高8位理論RD值和低 8位理論RD值;4. 3)將步驟4. 2)所得到的低8位理論RD值的計算結(jié)果取反值;4. 4)將數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性、高8位理論RD值以及經(jīng)步驟4. 3)所得到的低8位理論RD值進行異或運算,得到數(shù)據(jù)流中EOF的實際RD值的極性。本發(fā)明的優(yōu)點是本發(fā)明所提供的用于FC協(xié)議的EOF極性選擇方法將輸入到EOF極性選擇電路的所有EOF編碼都選擇負編碼,在EOF極性選擇電路模塊中對EOF之前處理數(shù)據(jù)的極性進行計算,處理EOF時,起始RD值為負,此時的EOF編碼也為負,可以滿足EOF處理結(jié)束后RD值為負的要求,如果處理EOF時,起始RD為正,只需要將負EOF編碼調(diào)整為正的EOF編碼。使用以上EOF編碼極性選擇的方法,可以實現(xiàn)在FC-I層協(xié)議處理電路中,EOF幀結(jié)束定界符處理結(jié)束后,下一個原語8B/10B編碼的起始RD值為負的要求。對輸入FC-I層之前16bit數(shù)據(jù)的EOF編碼極性進行選擇,以確保FC-I層協(xié)議處理電路在對EOF進行8B/10編碼之后, 下一個原語序列8B/10B編碼的起始RD值為負。
具體實施例方式FC-FS-3協(xié)議規(guī)定,在處理完每一種被定義的EOF定界符有序集最后一個字符(最右邊)之后,應(yīng)該產(chǎn)生一個負的RD值。這個規(guī)定和RD值的初始化規(guī)則相結(jié)合,確保了在發(fā)射機上電,或者發(fā)射機退出診斷模式(diagnostic mode)之后,應(yīng)該使用負的開始RD值來發(fā)送EOF之后的第一個有序集。用于原語信號和原語序列的被定義的有序集保持負的極性,確保了和SOF定界符、原語信號、原語序列相關(guān)的有序集被發(fā)送時,總是以負的RD值開始。最終的結(jié)果是,原語信號、原語序列和SOF定界符有序集,只定義了開始RD值為負的情況。這樣定義最主要的好處是,可以從編碼后的位流中一次移除或者添加一個字的填充字, 而不用改變被移除填充字之后發(fā)送字的開始RD極性(在時鐘校正時,需要插入或者移除 IDLE原語)。按照協(xié)議規(guī)定,本發(fā)明提供了一種用于FC協(xié)議的EOF極性選擇方法,該方法包括以下步驟
1)定義起始參數(shù)的極性,起始參數(shù)包括起始數(shù)據(jù)RD值的極性;所述起始數(shù)據(jù)RD 值的極性為負;2)根據(jù)起始參數(shù)的極性獲取數(shù)據(jù)流中第一數(shù)據(jù)的實際RD值的極性2. 1)獲取起始數(shù)據(jù)RD值的極性;2. 2)獲取數(shù)據(jù)流中第一數(shù)據(jù)的理論RD值的極性,并將其拆分為高8位理論RD值和低8位理論RD值;2. 3)將步驟2. 1)和步驟2. 2)所得到的起始數(shù)據(jù)RD值的極性、高8位理論RD值以及低8位理論RD值進行異或運算,得到數(shù)據(jù)流中第一數(shù)據(jù)的實際RD值的極性。3)獲取數(shù)據(jù)流中EOF的實際RD值的極性3. 1)獲取數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性;3. 2)獲取數(shù)據(jù)流中EOF的理論RD值的極性,并將其拆分為高8位理論RD值和低 8位理論RD值;3. 3)將步驟3. 1)和步驟3. 2)所得到的數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性、高8位理論RD值以及低8位理論RD值進行異或運算,得到數(shù)據(jù)流中EOF的實際RD 值的極性。4)根據(jù)數(shù)據(jù)流中EOF的實際RD值的極性對EOF極性進行選擇;若數(shù)據(jù)流中EOF的實際RD值的極性是負,則數(shù)據(jù)流中EOF的極性為負保持不變;若數(shù)據(jù)流中EOF的實際RD值的極性是正,則將數(shù)據(jù)流中EOF的極性更改為正4. 1)獲取數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性;4. 2)獲取數(shù)據(jù)流中EOF的理論RD值的極性,并將其拆分為高8位理論RD值和低 8位理論RD值;4. 3)將步驟4. 2)所得到的低8位理論RD值的計算結(jié)果取反值;4. 4)將數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性、高8位理論RD值以及經(jīng)步驟4. 3)所得到的低8位理論RD值進行異或運算,得到數(shù)據(jù)流中EOF的實際RD值的極性。數(shù)據(jù)流的極性和數(shù)據(jù)RD值的極性保持一致。EOF編碼極性選擇電路由8B數(shù)據(jù)極性計算模塊Disp、16位數(shù)據(jù)RD計算電路以及 EOF選擇電路組成。EOF編碼極性選擇的實現(xiàn)流程為1、將16位的輸入數(shù)據(jù)分為高8位和第8位兩路,輸入DispLow和DispHigh模塊, 分別對RD值進行計算;2、將以上每個8B數(shù)據(jù)計算的結(jié)果DispOutLow、DispOutHigh和保留的上一個16 位數(shù)據(jù)的RD值OldDisp進行按位異或運算,得到當(dāng)前處理的8B數(shù)據(jù)的起始RD值,RD為正, 表示應(yīng)該從8B/10B編碼表的正列選取編碼的數(shù)據(jù);3、輸入數(shù)據(jù)不是E0F,對輸入的數(shù)據(jù)流不做處理,將數(shù)據(jù)是寄存一拍后輸出,保存當(dāng)前處理數(shù)據(jù)的RD值到OldDisp ;4、當(dāng)前輸入數(shù)據(jù)是EOF時,將輸入數(shù)據(jù)的bit5替換為計算出來的RD值CalcDisp, 可以實現(xiàn)EOF由負編碼極性調(diào)整為正編碼極性,同時EOF之前一個數(shù)據(jù)處理結(jié)束時RD值為正,除將EOF的編碼極性由負調(diào)整為正之外, 也需要將保存到OldDisp的當(dāng)前編碼的RD值進行調(diào)整。EOF的起始RD值為負,保持EOF的編碼極性不變,將調(diào)整后的EOF寄存輸出,保存當(dāng)前處理數(shù)據(jù)的RD值到OldDisp。EOF編碼極性選擇電路的具體實現(xiàn)如下將輸入EOF編碼極性選擇電路的16bit輸入數(shù)據(jù)分為高8位和低8位兩路,與輸入數(shù)據(jù)高8位和低8位對應(yīng)的兩位K字符也分為高位和低位,分別輸入到EOF編碼極性選擇電路高8位和低8位數(shù)據(jù)的RD值計算模塊Disp中,對8B輸入數(shù)據(jù)(包括特殊的K字符) 對應(yīng)的IObit編碼的RD值進行計算。FC-FS-3協(xié)議規(guī)定,在串行鏈路上發(fā)送的IObit串行數(shù)據(jù),可以分成兩個子模塊。 第一個6bit(adbCei)組成一個子模塊,第二個4bit(fghj)組成另一個子模塊,應(yīng)該根據(jù)子模塊計算發(fā)送字符的RD值。6位子模塊開始的RD值是上一個發(fā)送字符結(jié)束時的RD值。4 位子模塊的開始RD值是6位子模塊結(jié)束時的RD值。傳輸字符結(jié)束時的RD值是4位子模塊結(jié)束時的RD值。在上電時,發(fā)射機將當(dāng)前的!《(Current RD)初始化為負。在發(fā)送任何傳輸字符時, 發(fā)射機應(yīng)該根據(jù)發(fā)送的字符內(nèi)容和發(fā)送字符開始的RD值重新計算新的RD值。FC-FS-3定義的5B/6B、3B/4B子模塊的RD計算規(guī)則是1、任何子模塊的RD值在結(jié)束時是正的如果子模塊包含的1比0多;1. 1)如果在6bit的子模塊結(jié)束時,6bit的子模塊是,000111,b ;1. 2)如果在4bit的子模塊結(jié)束時,4bit的子模塊是,0011,b ;2、任何子模塊的RD值在結(jié)束時是負的2. 1)如果子模塊包含的0比1多;2. 2)如果在6bit的子模塊結(jié)束時,6bit的子模塊是’ 111000’ b ;2. 3)如果在4bit的子模塊結(jié)束時,4bit的子模塊是,1100,b ;根據(jù)FC協(xié)議,8B/10B編碼規(guī)則將輸入的8B數(shù)據(jù)從高位到低位依次定義為 HGFEDCBA,分成3B的HGF和5B的EDCBA兩個子模塊,對3B碼HGF進行3B/4B編碼為fgh j, 5B碼進行5B/6B編碼為adbcei,最后將4B、6B編碼組合來完成10B的編碼。除此之外,特殊的輸入K字符有專用的K字符編碼表。所以,8B數(shù)據(jù)的10B編碼輸出數(shù)據(jù)RD值是否為0 和3B/4B編碼表,5B/6B編碼表,以及K字符編碼表定義的編碼規(guī)則有關(guān)。參照對高位HGF編碼的3B/4B編碼表,可以得到編碼輸出RD不為0的輸入數(shù)據(jù)表達式
權(quán)利要求
1.一種用于FC協(xié)議的EOF極性選擇方法,其特征在于所述方法包括以下步驟1)定義起始參數(shù)的極性;2)根據(jù)起始參數(shù)的極性獲取數(shù)據(jù)流中第一數(shù)據(jù)的實際RD值的極性;3)獲取數(shù)據(jù)流中EOF的實際RD值的極性;4)根據(jù)數(shù)據(jù)流中EOF的實際RD值的極性對EOF極性進行選擇。
2.根據(jù)權(quán)利要求1所述的用于FC協(xié)議的EOF極性選擇方法,其特征在于所述步驟1) 中起始參數(shù)包括起始數(shù)據(jù)RD值的極性;所述起始數(shù)據(jù)RD值的極性為負。
3.根據(jù)權(quán)利要求1或2所述的用于FC協(xié)議的EOF極性選擇方法,其特征在于所述數(shù)據(jù)流的極性和數(shù)據(jù)RD值的極性保持一致。
4.根據(jù)權(quán)利要求3所述的用于FC協(xié)議的EOF極性選擇方法,其特征在于所述步驟2) 的具體實現(xiàn)方式是`2. 1)獲取起始數(shù)據(jù)RD值的極性;`2. 2)獲取數(shù)據(jù)流中第一數(shù)據(jù)的理論RD值的極性,并將其拆分為高8位理論RD值和低 8位理論RD值;`2.3)將步驟2. 1)和步驟2. 2)所得到的起始數(shù)據(jù)RD值的極性、高8位理論RD值以及低8位理論RD值進行異或運算,得到數(shù)據(jù)流中第一數(shù)據(jù)的實際RD值的極性。
5.根據(jù)權(quán)利要求4所述的用于FC協(xié)議的EOF極性選擇方法,其特征在于所述步驟3) 的具體實現(xiàn)方式是`3.1)獲取數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性;`3. 2)獲取數(shù)據(jù)流中EOF的理論RD值的極性,并將其拆分為高8位理論RD值和低8位理論RD值;`3.3)將步驟3. 1)和步驟3. 2)所得到的數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性、 高8位理論RD值以及低8位理論RD值進行異或運算,得到數(shù)據(jù)流中EOF的實際RD值的極性。
6.根據(jù)權(quán)利要求5述的用于FC協(xié)議的EOF極性選擇方法,其特征在于所述步驟4)的具體實現(xiàn)方式是若數(shù)據(jù)流中EOF的實際RD值的極性是負,則數(shù)據(jù)流中EOF的極性為負保持不變;若數(shù)據(jù)流中EOF的實際RD值的極性是正,則將數(shù)據(jù)流中EOF的極性更改為正。
7.根據(jù)權(quán)利要求6所述的用于FC協(xié)議的EOF極性選擇方法,其特征在于所述步驟4) 中將數(shù)據(jù)流中EOF的極性更改為負的具體實現(xiàn)方式是`4.1)獲取數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性;`4. 2)獲取數(shù)據(jù)流中EOF的理論RD值的極性,并將其拆分為高8位理論RD值和低8位理論RD值;`4. 3)將步驟4. 2)所得到的低8位理論RD值的計算結(jié)果取反值;`4. 4)將數(shù)據(jù)流中EOF前一個數(shù)據(jù)的實際RD值的極性、高8位理論RD值以及經(jīng)步驟 4. 3)所得到的低8位理論RD值進行異或運算,得到數(shù)據(jù)流中EOF的實際RD值的極性。
全文摘要
本發(fā)明涉及一種用于FC協(xié)議的幀結(jié)束定界符EOF極性選擇方法,該方法包括以下步驟1)定義起始參數(shù)的極性;2)根據(jù)起始參數(shù)的極性獲取數(shù)據(jù)流中第一數(shù)據(jù)的實際RD值的極性;3)獲取數(shù)據(jù)流中EOF的實際RD值的極性;4)根據(jù)數(shù)據(jù)流中EOF的實際RD值的極性對EOF極性進行選擇。本發(fā)明提供了一種能夠正確對FC協(xié)議的EOF極性進行選擇的用于FC協(xié)議的EOF極性選擇方法。
文檔編號H04L1/00GK102487307SQ20101057461
公開日2012年6月6日 申請日期2010年12月6日 優(yōu)先權(quán)日2010年12月6日
發(fā)明者李攀, 楊海波, 田澤, 蔡葉芳 申請人:中國航空工業(yè)集團公司第六三一研究所