高速數據傳輸中的差錯檢測方法
2023-09-22 20:26:05 1
專利名稱:高速數據傳輸中的差錯檢測方法
技術領域:
本發明涉及一種通信傳輸技術,更確切地說,涉及一種高速數據傳輸中的差錯檢測方法,屬於數字信息的傳輸中檢測或防止收到信息中的差錯的裝置技術領域。
在高速數字數據信號的傳輸中,一種稱為高速串行數據傳輸的技術已經趨向成熟而獲得廣泛應用。該高速串行數據傳輸是由互相獨立的兩部分發送部分和接收部分共同完成的。在發送部分,要對傳輸的數據信息採用適當的編碼方式(如8B/10B編碼),並將時鐘信息合成到編碼後的數據信息中,再經並串轉換後,通過高速串行傳輸數據收發器轉換成高速差分信號來傳輸(高速差分信號高達幾個Gbit/s)。在接收部分,則通過高速串行傳輸數據收發器對該高速差分信號進行串並轉換,從中提出時鐘信息和數據信息。通常,應用這種高速串行數據傳輸技術傳輸的數據信息,每個數據字節大多為8位或16位。但是,在實際應用中,許多需要進行傳送的數據字節中,除了包含8/16位數據以外,還有對應的奇偶校驗位。如果直接使用上述高速串行數據收發器來傳輸上述包含奇偶校驗位的數據信息就十分困難。
本發明的目的是提供一種數據信息在高速數據傳輸中的差錯檢測方法,通過對所傳輸的數據信息進行編碼和解碼,解決上述包含奇偶校驗位的數據信息與高速串行數據收發器的數據位不匹配的矛盾。這種方法既可以在發送端將數據的奇偶校驗信息通過編碼合成於數據包中,以便通過高速收發器來傳輸;又可以在接收端通過解碼將數據包的數據奇偶校驗位恢復,並保證所傳輸的數據信息的正確無誤。
本發明的目的是這樣實現的包括有發送編碼和接收解碼兩大部分,其特徵在於具體操作步驟如下在發送編碼部分a、首先分析需要傳送的數據包的格式及所使用的高速串行傳輸數據收發器接口的特點在一個數據包完整的發送周期為N,該數據包的長度為M(M≤N-3),發送數據接口包括數據位為B(如8bit)和校驗位;高速收發器的發送端接口的數據位為B,無奇偶校驗位;b、產生數據包的數據校驗結果標誌在每一個發送周期N中,順序接收該數據包的每一個字節,同時計算出該字節的奇偶校驗結果;並判斷該計算出的奇偶校驗位結果是否和所接收到該字節的奇偶校驗位一致;如果兩者結果不一致,則停止判斷,直接在發送該數據包的M個字節後,在第M+1位元組至第M+K(K≥1)字節添加該數據包數據傳輸校驗出錯的標誌(如AA);如果上述兩者結果一致,則順序依次判斷其後所有的字節;如所有M個數據字節都無錯,則在該數據包的M個字節之後的第M+1位元組至第M+K(K≥1)字節添加該數據包數據校驗正確的標誌(如55);c、產生傳輸線路監測校驗標誌由於數據可能在高速傳輸收發器的傳輸中出錯,對其所傳送的數據包中的M+K個字節(其中包括M個數據和K個校驗標誌)進行校驗(如循環冗餘碼校驗,即CRC校驗),並將該校驗結果添加在所發送數據包的第M+K+1至M+K+Q(1≤Q≤N-M-K)個字節上;在接收解碼部分d、分析接收部分的數據包格式及高速串行傳輸數據收發器接口的特點在一個數據包完整的接收周期為N,數據包的長度為M(M≤N-3),發送數據接口包括數據位為B(如8bit)和校驗位;如所接收的該數據包中,有一個字節的奇偶校驗位不對,該數據包就被丟棄;高速收發器接收端接口數據位為B,無奇偶校驗位;e、恢復該數據包的前M-1個數據的奇偶校驗位在高速收發器的接收端,接收數據;對所接收到的前M-1個數據字節,通過運算產生奇偶校驗位,並和接收的數據信息一起送往處理模塊;f、確定該數據包中第M個字節的奇偶校驗位,具體步驟如下
(1)接收到第M個數據字節後,通過運算產生其奇偶校驗位A;(2)接收第M+1位元組至第M+K(K≥1)字節的數據,根據接收到的奇偶校驗標誌,判斷該發送的數據包中是否存在有數據奇偶校驗錯誤;(3)對所接收的M+K個數據字節進行校驗(如循環冗餘碼校驗),產生校驗結果B;(4)接收該數據包的第M+K+1至M+K+Q(1≤Q≤N-M-K)字節的數據,判斷其是否和前M+K個數據的奇偶校驗結果一致;(5)產生第M個字節的奇偶校驗位如果接收到的奇偶校驗標誌表示發送的數據有錯,或者第(4)步的結果不一致,則把上述運算產生的奇偶校驗位A取反,並和數據信息一起送往處理模塊;否則,將運算產生的奇偶校驗位A和數據信息一起送往處理模塊。
下面結合附圖具體介紹本發明的用於高速收發器傳輸的數據編碼和解碼的方法
圖1是高速數據傳輸系統中高速收發器送往處理模塊的信號的時序圖。
圖2是應用本發明對數據進行編碼後送往高速收發器發送端的信號時序圖。
圖3是應用本發明在高速收發器接收端接收數據信號送往處理模塊的信號時序圖。
圖4是應用本發明在收發器接收端處理模塊對數據解碼後送往系統的信號時序圖。
參見圖1,在ATM骨幹交換機中,需要傳送的每個數據字節都是由8位數據和1位奇偶校驗位所組成,每發送一個數據包需要佔用68個時鐘周期,每個數據包包含有64個數據字節。要採用8比特數據位寬的高速收發器來傳送上述數據,分析其時序狀況,可以採用本發明的高速傳輸編碼和解碼的方法來實現。
首先,分析需要傳送的數據包的格式及高速串行傳輸數據收發器接口特點。在ATM骨幹交換機中,每個數據包的全部發送周期為68個時鐘周期,其中真正有使用價值的數據包的長度是64位元組,而發送數據的接口為8位數據和1位奇偶校驗位。高速收發器發送端接口為8位數據位,沒有奇偶校驗位。
其次,產生每個數據包數據校驗結果的標誌在每個數據包的全部發送周期中,對所發送的64byte的每個字節數據都計算出其奇偶校驗位的數值,並和所接收的該字節數據的奇偶校驗位進行校驗比較。如果校驗的結果不一致,就停止判斷,直接重新發送該數據包,並在第65個字節寫入表示該數據包數據傳輸的校驗出錯標誌,例如AA;如果校驗的結果兩者是一致的,則順序依次判斷後續的所有字節。如果所有的64個數據字節都沒有差錯,則在該數據包的第65位元組寫入該數據包數據校驗結果正確的標誌,例如55。
接著,在編碼部分產生傳輸線路監測的校驗標誌對所發送的每個數據包的前65個字節進行16位CRC校驗,並將該校驗結果寫在上述所發送數據包的第66和67個字節上。
在接收部分,首先分析所接收的數據包格式及高速串行傳輸數據收發器接口的特點接收部分的每個周期為68個時鐘周期,而數據包長度為64,發送數據接口包括有8位數據和1位校驗位。在接收該數據包時,只要有一個數據字節的奇偶校驗位不相符,則該整個數據包都要被丟棄。高速收發器的接收端接口的數據位為8,無奇偶校驗位。
其次,恢復上述所接收的數據包的前63個數據字節的奇偶校驗位在高速收發器的接收端接收數據,並對所接收到的上述前63個數據字節,通過運算產生其對應的奇偶校驗位,再將所接收的數據位和其對應的奇偶校驗位一起送往處理模塊。
接著,確定上述所接收的數據包中第64個數據字節的奇偶校驗位,步驟如下(1)接收到第64個字節數據後,通過運算產生其相應的奇偶校驗位A,這裡的A就是「1」或「0」;
(2)接收到第65個字節數據,根據所接收的該字節數據所表示的奇偶校驗標誌,來判斷上述所接收的數據包中是否存在有數據奇偶校驗的差錯;例如,如果該字節數據是55,表示所接收的數據包無錯,否則認為該數據包有錯;(3)再對所接收的前65個字節數據進行循環冗餘碼CRC校驗,產生16位的校驗結果B;(4)查驗所接收的數據包的第66和67位元組數據,並判斷其是否與校驗結果B一致;(5)最後產生第64位元組的奇偶校驗位如果所接收的第65個字節的數據不為55,或者循環冗餘碼CRC校驗不一致,則把步驟(1)運算產生的奇偶校驗位A取反,並和其數據位一起送往處理模塊;否則,便將運算產生的奇偶校驗位A和數據位一起送往處理模塊。
採用上述方法處理的各種信號的時序圖如圖2-圖4所示,圖中TCLK、RCLK表示時鐘信號,TSOC、RSOC表示信元頭的標誌,TSOF、RSOF表示幀頭的標誌,TDIN、RDIN表示幀數據,DIN、DOUT分別表示輸入的數據和輸出的數據。從上述時序圖可以看到,經過發送端編碼和接收端解碼後,數據包的信息可準確地通過高速收發器來傳送,較好地得解決了高速數據傳送的問題。
本發明的差錯檢測方法已經在華為公司的ATM骨幹交換機上進行試驗實施,解決了傳輸的數據總線位數與高速收發器數據位不一致的問題,取得較好的效果。
權利要求
1.一種高速數據傳輸中的差錯檢測方法,包括有發送編碼和接收解碼兩大部分,其特徵在於具體操作步驟如下在發送編碼部分a、首先分析需要傳送的數據包的格式及所使用的高速串行傳輸數據收發器接口的特點在一個數據包完整的發送周期為N,該數據包的長度為M(M≤N-3),發送數據接口包括數據位為B和校驗位;高速收發器的發送端接口的數據位為B,無奇偶校驗位;b、產生數據包的數據校驗結果標誌在每一個發送周期N中,順序接收該數據包的每一個字節,同時計算出該字節的奇偶校驗結果;並判斷該計算出的奇偶校驗位結果是否和所接收到該字節的奇偶校驗位一致;如果兩者結果不一致,則停止判斷,直接在發送該數據包的M個字節後,在第M+1位元組至第M+K(K≥1)字節添加該數據包數據傳輸校驗出錯的標誌;如果上述兩者結果一致,則順序依次判斷其後所有的字節;如所有M個數據字節都無錯,則在該數據包的M個字節之後的第M+1位元組至第M+K(K≥1)字節添加該數據包數據校驗正確的標誌;c、產生傳輸線路監測校驗標誌由於數據可能在高速傳輸收發器的傳輸中出錯,對其所傳送的數據包中的M+K個字節(其中包括M個數據和K個校驗標誌)進行校驗,並將該校驗結果添加在所發送數據包的第M+K+1至M+K+Q(1≤Q≤N-M-K)個字節上;在接收解碼部分d、分析接收部分的數據包格式及高速串行傳輸數據收發器接口的特點在一個數據包完整的接收周期為N,數據包的長度為M(M≤N-3),發送數據接口包括數據位為B和校驗位;如所接收的該數據包中,有一個字節的奇偶校驗位不對,該數據包就被丟棄;高速收發器接收端接口數據位為B,無奇偶校驗位;e、恢復該數據包的前M-1個數據的奇偶校驗位在高速收發器的接收端,接收數據;對所接收到的前M-1個數據字節,通過運算產生奇偶校驗位,並和接收的數據信息一起送往處理模塊;f、確定該數據包中第M個字節的奇偶校驗位,具體步驟如下(1)接收到第M個數據字節後,通過運算產生其奇偶校驗位A;(2)接收第M+1位元組至第M+K(K≥1)字節的數據,根據接收到的奇偶校驗標誌,判斷該發送的數據包中是否存在有數據奇偶校驗錯誤;(3)對所接收的M+K個數據字節進行校驗,產生校驗結果B;(4)接收該數據包的第M+K+1至M+K+Q(1≤Q≤N-M-K)字節的數據,判斷其是否和前M+K個數據的奇偶校驗結果一致;(5)產生第M個字節的奇偶校驗位如果接收到的奇偶校驗標誌表示發送的數據有錯,或者第(4)步的結果不一致,則把上述運算產生的奇偶校驗位A取反,並和數據信息一起送往處理模塊;否則,將運算產生的奇偶校驗位A和數據信息一起送往處理模塊。
2.如權利要求1所所述的高速數據傳輸中的差錯檢測方法,其特徵在於上述步驟C中的對M+K個數據進行的校驗可以是循環冗餘碼校驗,即CRC校驗。
全文摘要
一種高速數據傳輸中的差錯檢測方法,通過在發送端和接收端對所傳輸的數據信息進行編碼和解碼,解決上述包含奇偶校驗位的數據信息與高速串行數據收發器的數據位不匹配的矛盾。這種方法既可以在發送端將數據的奇偶校驗信息通過編碼合成於數據包中,以便通過高速收發器來傳輸;又可以在接收端通過解碼將數據包的數據奇偶校驗位恢復,並保證所傳輸的數據信息的正確無誤。
文檔編號H04L1/00GK1310531SQ0010275
公開日2001年8月29日 申請日期2000年2月23日 優先權日2000年2月23日
發明者萬曉東 申請人:華為技術有限公司