用于光纖通道的循環(huán)冗余校驗方法
【專利摘要】本發(fā)明屬于高速數(shù)據(jù)通信【技術(shù)領(lǐng)域】,具體涉及一種用于光纖通道的循環(huán)冗余校驗方法,其能夠依據(jù)光纖通道協(xié)議對光纖通道數(shù)據(jù)進(jìn)行校驗。其包括:上層模塊控制光纖通道CRC校驗的開始與停止,并將給出待校驗的光纖通道數(shù)據(jù)提交給CRC校驗?zāi)K進(jìn)行CRC校驗;CRC校驗?zāi)K包括:數(shù)據(jù)變換模塊、CRC余數(shù)計算模塊、余數(shù)比較模塊;數(shù)據(jù)變換模塊接收上層模塊傳來的光纖通道數(shù)據(jù),檢測所接收到的光纖通道數(shù)據(jù)是否為有效數(shù)據(jù);CRC余數(shù)計算模塊根據(jù)如下CRC32校驗公式進(jìn)行迭代運算;余數(shù)比較模塊將運算結(jié)果與光纖通道協(xié)議規(guī)定的CRC校驗用數(shù)據(jù)比較,將比較結(jié)果上報上層模塊。該方案具有較低的延遲,能夠滿足8Gbps以上的通信速率要求。
【專利說明】用于光纖通道的循環(huán)冗余校驗方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于高速數(shù)據(jù)通信【技術(shù)領(lǐng)域】,具體涉及一種用于光纖通道的循環(huán)冗余校驗方法,其能夠依據(jù)光纖通道協(xié)議對光纖通道數(shù)據(jù)進(jìn)行校驗。
【背景技術(shù)】
[0002]循環(huán)冗余交換(Cyclic Redundancy Check, CRC)是一種常用的數(shù)據(jù)校驗技術(shù),在數(shù)據(jù)通信領(lǐng)域中應(yīng)用廣泛。CRC技術(shù)將需要傳輸?shù)拿恳晃粩?shù)據(jù)按照一定的計算方式進(jìn)行運算,并將結(jié)果作為校驗碼添加的數(shù)據(jù)流后一起傳輸,接收方通過相同的計算方法對接收到的數(shù)據(jù)進(jìn)行計算,將結(jié)果與規(guī)定的碼字進(jìn)行比較,從而確定數(shù)據(jù)傳輸?shù)恼_性。
[0003]光纖通道是一種高速數(shù)據(jù)通信技術(shù),為了確保發(fā)現(xiàn)光纖通道數(shù)據(jù)在傳輸過程的錯誤,需要對傳輸?shù)臄?shù)據(jù)進(jìn)行校驗,光纖通道協(xié)議采用了 CRC32交換方式。光纖通道傳輸速度在IG以上,因此對光纖通道數(shù)據(jù)進(jìn)行校驗一般采用硬件實現(xiàn)。
【發(fā)明內(nèi)容】
[0004](一 )要解決的技術(shù)問題
[0005]本發(fā)明要解決的技術(shù)問題是:如何提供一種光纖通道數(shù)據(jù)校驗方法,要求其利用CRC校驗方法和裝置對接收到的光纖通道數(shù)據(jù)幀進(jìn)行校驗。
[0006]( 二 )技術(shù)方案
[0007]為解決上述技術(shù)問題,本發(fā)明提供一種用于光纖通道的循環(huán)冗余校驗方法,其包括:
[0008]步驟S1:上層模塊控制光纖通道CRC校驗的開始與停止,并將給出待校驗的光纖通道數(shù)據(jù)提交給CRC校驗?zāi)K進(jìn)行CRC校驗,數(shù)據(jù)位寬為32位,數(shù)據(jù)長度為M ;
[0009]上層模塊依據(jù)光纖通道協(xié)議幀定界符判斷一幀數(shù)據(jù)的開始和結(jié)束,當(dāng)上層模塊檢測到SOF定界符時,表示一個光纖通道幀的開始,此時產(chǎn)生CRC校驗開始信號,并將此后接收到的光纖通道數(shù)據(jù)依次發(fā)送給CRC校驗?zāi)K;當(dāng)上層模塊檢測到EOF定界符時,表示一個光纖通道幀的結(jié)束,此時停止向CRC校驗?zāi)K發(fā)送數(shù)據(jù)并產(chǎn)生CRC校驗停止信號;所述CRC校驗?zāi)K包括:數(shù)據(jù)變換模塊、CRC余數(shù)計算模塊、余數(shù)比較模塊;
[0010]步驟S2 =CRC校驗?zāi)K接收到上層模塊的CRC校驗開始信號時啟動;具體由所述數(shù)據(jù)變換模塊接收上層模塊傳來的光纖通道數(shù)據(jù),檢測所接收到的光纖通道數(shù)據(jù)是否為緊隨CRC校驗開始信號而來的有效數(shù)據(jù),若是,則判斷其為第一個有效數(shù)據(jù),將該有效數(shù)據(jù)取反并提交給CRC余數(shù)計算模塊;若否,則判斷其不為第一個有效數(shù)據(jù),將該有效數(shù)據(jù)直接提交給CRC余數(shù)計算模塊;
[0011]步驟S3:CRC余數(shù)計算模塊將經(jīng)過數(shù)據(jù)變換模塊變換后的有效數(shù)據(jù)根據(jù)如下CRC32校驗公式進(jìn)行迭代運算,其中,Din為數(shù)據(jù)變換模塊提供的光纖通道數(shù)據(jù);
[0012]所述CRC32校驗公式具體為:
[0013]D31 = D30
[0014]D30 = D29
[0015]D29 = D28
[0016]D28 = D27
[0017]D27 = D26
[0018]D26 = D25~D31~Din
[0019]D25 = D24
[0020]D24 = D23
[0021]D23 = D22~D31~Din
[0022]D22 = D21~D3rDin
[0023]D21 = D20
[0024]D20 = D19
[0025]D19 = D18
[0026]D18 = D17
[0027]D17 = D16
[0028]D16 = D15~D31~Din
[0029]D15 = D14
[0030]D14 = D13
[0031]D13 = D12
[0032]D12 = DirD31~Din
[0033]Dll = D10~D3rDin
[0034]DlO = D9~D31~Din
[0035]D9 = D8
[0036]D8 = D7~D31~Din
[0037]D7 = D6~D31~Din
[0038]D6 = D5
[0039]D5 = D4~D31~Din
[0040]D4 = D3~D31~Din
[0041]D3 = D2
[0042]D2 = DrD31~Din
[0043]Dl = D0~D3rDin
[0044]DO = D31~Din
[0045]步驟S4:CRC校驗?zāi)K根據(jù)上層模塊的CRC校驗停止信號停止CRC校驗?zāi)K的工作;具體由CRC余數(shù)計算模塊根據(jù)上層模塊提供的CRC校驗停止信號,將步驟S3中余數(shù)迭代運算的結(jié)果提交給余數(shù)比較模塊;余數(shù)比較模塊將運算結(jié)果與光纖通道協(xié)議規(guī)定的CRC校驗用數(shù)據(jù)0xHC704DD7B進(jìn)行比較,如果相同輸出數(shù)據(jù)I表示校驗正確,如果不同輸出數(shù)據(jù)O表示校驗錯誤,并將比較結(jié)果上報上層模塊。(三)有益效果
[0046]與現(xiàn)有技術(shù)相比較,本發(fā)明具備如下有益效果:該方案可以根據(jù)光纖通道協(xié)議對光纖通道數(shù)據(jù)進(jìn)行校驗,并且具有較低的延遲,能夠滿足SGbps以上的通信速率要求。
【專利附圖】
【附圖說明】
[0047]圖1是本發(fā)明裝置示意圖。
[0048]圖2是CRC32校驗電路示意圖。
【具體實施方式】
[0049]為使本發(fā)明的目的、內(nèi)容、和優(yōu)點更加清楚,下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】作進(jìn)一步詳細(xì)描述。
[0050]為解決現(xiàn)有技術(shù)的問題,本發(fā)明提供一種用于光纖通道的循環(huán)冗余校驗方法,其包括:
[0051]步驟S1:上層模塊控制光纖通道CRC校驗的開始與停止,并將給出待校驗的光纖通道數(shù)據(jù)提交給CRC校驗?zāi)K進(jìn)行CRC校驗,數(shù)據(jù)位寬為32位,數(shù)據(jù)長度為M ;
[0052]上層模塊依據(jù)光纖通道協(xié)議幀定界符判斷一幀數(shù)據(jù)的開始和結(jié)束,當(dāng)上層模塊檢測到SOF定界符時,表示一個光纖通道幀的開始,此時產(chǎn)生CRC校驗開始信號,并將此后接收到的光纖通道數(shù)據(jù)依次發(fā)送給CRC校驗?zāi)K;當(dāng)上層模塊檢測到EOF定界符時,表示一個光纖通道幀的結(jié)束,此時停止向CRC校驗?zāi)K發(fā)送數(shù)據(jù)并產(chǎn)生CRC校驗停止信號;如圖1所示,所述CRC校驗?zāi)K包括:數(shù)據(jù)變換模塊、CRC余數(shù)計算模塊、余數(shù)比較模塊;
[0053]步驟S2 =CRC校驗?zāi)K接收到上層模塊的CRC校驗開始信號時啟動;具體由所述數(shù)據(jù)變換模塊接收上層模塊傳來的光纖通道數(shù)據(jù),檢測所接收到的光纖通道數(shù)據(jù)是否為緊隨CRC校驗開始信號而來的有效數(shù)據(jù),若是,則判斷其為第一個有效數(shù)據(jù),將該有效數(shù)據(jù)取反并提交給CRC余數(shù)計算模塊;若否,則判斷其不為第一個有效數(shù)據(jù),將該有效數(shù)據(jù)直接提交給CRC余數(shù)計算模塊;
[0054]步驟S3:CRC余數(shù)計算模塊將經(jīng)過數(shù)據(jù)變換模塊變換后的有效數(shù)據(jù)根據(jù)如下CRC32校驗公式進(jìn)行迭代運算,該CRC32校驗公式所基于的CRC32校驗電路如圖2所示;其中,Din為數(shù)據(jù)變換模塊提供的光纖通道數(shù)據(jù);
[0055]所述CRC32校驗公式具體為:
[0056]D31 = D30
[0057]D30 = D29
[0058]D29 = D28
[0059]D28 = D27
[0060]D27 = D26
[0061]D26 = D25~D31~Din
[0062]D25 = D24
[0063]D24 = D23
[0064]D23 = D22~D31~Din
[0065]D22 = D21~D3rDin
[0066]D21 = D20
[0067]D20 = D19
[0068]D19 = D18
[0069]D18 = D17
[0070]D17 = D16
[0071]D16 = D15~D31~Din
[0072]D15 = D14
[0073]D14 = D13
[0074]D13 = D12
[0075]D12 = DirD31~Din
[0076]Dll = D10~D3rDin
[0077]DlO = D9~D31~Din
[0078]D9 = D8
[0079]D8 = D7~D31~Din
[0080]D7 = D6~D31~Din
[0081]D6 = D5
[0082]D5 = D4~D31~Din
[0083]D4 = D3~D31~Din
[0084]D3 = D2
[0085]D2 = DrD31~Din
[0086]Dl = D0~D3rDin
[0087]DO = D31~Din
[0088]步驟S4:CRC校驗?zāi)K根據(jù)上層模塊的CRC校驗停止信號停止CRC校驗?zāi)K的工作;具體由CRC余數(shù)計算模塊根據(jù)上層模塊提供的CRC校驗停止信號,將步驟S3中余數(shù)迭代運算的結(jié)果提交給余數(shù)比較模塊;余數(shù)比較模塊將運算結(jié)果與光纖通道協(xié)議規(guī)定的CRC校驗用數(shù)據(jù)0xHC704DD7B進(jìn)行比較,如果相同輸出數(shù)據(jù)I表示校驗正確,如果不同輸出數(shù)據(jù)O表示校驗錯誤,并將比較結(jié)果上報上層模塊。
[0089]以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種用于光纖通道的循環(huán)冗余校驗方法,其特征在于,其包括: 步驟S1:上層模塊控制光纖通道CRC校驗的開始與停止,并將給出待校驗的光纖通道數(shù)據(jù)提交給CRC校驗?zāi)K進(jìn)行CRC校驗,數(shù)據(jù)位寬為32位,數(shù)據(jù)長度為M ; 上層模塊依據(jù)光纖通道協(xié)議幀定界符判斷一幀數(shù)據(jù)的開始和結(jié)束,當(dāng)上層模塊檢測到SOF定界符時,表示一個光纖通道幀的開始,此時產(chǎn)生CRC校驗開始信號,并將此后接收到的光纖通道數(shù)據(jù)依次發(fā)送給CRC校驗?zāi)K;當(dāng)上層模塊檢測到EOF定界符時,表示一個光纖通道幀的結(jié)束,此時停止向CRC校驗?zāi)K發(fā)送數(shù)據(jù)并產(chǎn)生CRC校驗停止信號;所述CRC校驗?zāi)K包括:數(shù)據(jù)變換模塊、CRC余數(shù)計算模塊、余數(shù)比較模塊; 步驟S2:CRC校驗?zāi)K接收到上層模塊的CRC校驗開始信號時啟動;具體由所述數(shù)據(jù)變換模塊接收上層模塊傳來的光纖通道數(shù)據(jù),檢測所接收到的光纖通道數(shù)據(jù)是否為緊隨CRC校驗開始信號而來的有效數(shù)據(jù),若是,則判斷其為第一個有效數(shù)據(jù),將該有效數(shù)據(jù)取反并提交給CRC余數(shù)計算模塊;若否,則判斷其不為第一個有效數(shù)據(jù),將該有效數(shù)據(jù)直接提交給CRC余數(shù)計算模塊; 步驟S3 =CRC余數(shù)計算模塊將經(jīng)過數(shù)據(jù)變換模塊變換后的有效數(shù)據(jù)根據(jù)如下CRC32校驗公式進(jìn)行迭代運算,其中,Din為數(shù)據(jù)變換模塊提供的光纖通道數(shù)據(jù); 所述CRC32校驗公式具體為:
D31 = D30
D30 = D29
D29 = D28
D28 = D27
D27 = D26
D26 = D25~D31~Din
D25 = D24
D24 = D23
D23 = D22~D31~Din D22 = D21~D3rDin
D21 = D20
D20 = D19
D19 = D18
D18 = D17
D17 = D16
D16 = D15~D31~Din
D15 = D14
D14 = D13
D13 = D12 D12 = DirD31~Din Dll = D10~D3rDin
DlO = D9~D31~Din
D9 = D8
D8 = D7~D31~Din
D7 = D6~D31~Din
D6 = D5
D5 = D4~D31~Din
D4 = D3~D31~Din
D3 = D2 D2 = DrD31~Din Dl = D0~D3rDin DO = D31~Din 步驟S4:CRC校驗?zāi)K根據(jù)上層模塊的CRC校驗停止信號停止CRC校驗?zāi)K的工作;具體由CRC余數(shù)計算模塊根據(jù)上層模塊提供的CRC校驗停止信號,將步驟S3中余數(shù)迭代運算的結(jié)果提交給余數(shù)比較模塊;余數(shù)比較模塊將運算結(jié)果與光纖通道協(xié)議規(guī)定的CRC校驗用數(shù)據(jù)0xHC704DD7B進(jìn)行比較,如果相同輸出數(shù)據(jù)I表示校驗正確,如果不同輸出數(shù)據(jù)O表示校驗錯誤,并將比較結(jié)果上報上層模塊。
【文檔編號】H04B10/07GK104410477SQ201410707150
【公開日】2015年3月11日 申請日期:2014年11月27日 優(yōu)先權(quán)日:2014年11月27日
【發(fā)明者】秦剛剛, 王剛, 劉劍鋒 申請人:中國航天科工集團(tuán)第三研究院第八三五七研究所