專利名稱:一種檢測信元總線故障的方法
技術領域:
本發明涉及信元總線領域,具體涉及一種檢測信元總線故障的方法。
背景技術:
信元總線(CELLBUS),是一種基于共享總線時分復用的信元交換型總線。在異步傳輸模式(ATM,Asynchronous Transfer Mode)技術中廣泛應用。
目前的CELLBUS由32根數據線和讀寫時鐘、幀同步等控制信號構成。一個CELLBUS上接有多個CELLBUS接口器件,這些CELLBUS接口器件之間通過CELLBUS進行信元交換,每個CELLBUS接口器件具有不同的CELLBUS地址。CELLBUS接口器件發送信元時,將待發送的信元添加目的地址、校驗信息等后以幀結構的方式發送到CELLBUS上,CELLBUS上的所有接口器件對CELLBUS上的幀結構進行校驗,若幀結構校驗正確,就繼續檢測幀結構中的目的地址與自身的CELLBUS地址是否相同,若是,則接收該數據;否則,不接收該數據。
由于CELLBUS自身原因或者CELLBUS接口器件的故障,會導致CELLBUS產生以下故障1、數據線被固定拉成高電平。即該數據線只接收1,當往該數據線上發送0時,整個數據都不會被接收。
2、數據線被固定拉成低電平。即該數據線只接收0,當往該數據線上發送1時,整個數據都不會被接收。
3、數據線粘連。可以發生在任意兩根或多根相鄰或不相鄰的數據線上,粘連的數據線只接收相同的數據。例如假設第2、14、25根數據線發生了粘連,只有往這3根數據線上同時發送0、0、0或1,1,1,數據才能被接收。
如果CELLBUS產生故障后沒有被及時發現并修正,就會導致數據的丟失,數據丟失會使得接收方得不到完整的信息。例如若CELLBUS的第3根數據線被固定拉成低電平,往CELLBUS上發送一個數據,且該數據的第3位剛好為1,那么該數據將不會通過幀結構校驗,從而不被接收,導致該數據丟失。另外,CELLBUS產生故障后,有可能導致電平錯誤,例如發送的是1,結果接收的是0,或者發送的是0,結果接收的是1。電平錯誤后,幀結構校驗也不會通過,而導致數據丟失。目前還沒有檢測CELLBUS故障的方法。
發明內容
有鑒于此,本發明的主要目的在于提供一種有鑒于此,本發明的主要目的在于提供一種檢測CELLBUS故障的方法,以及時發現CELLBUS故障,從而避免數據丟失。
為達到上述目的,本發明的技術方案是這樣實現的一種檢測信元總線CELLBUS故障的方法,該方法包括A、構造并保存位寬與CELLBUS數據線的根數相同的測試數據;B、將測試數據發送到CELLBUS上,然后接收測試數據,若接收到的測試數據與步驟A中保存的測試數據相同,判定CELLBUS無故障;否則,判定CELLBUS有故障。
步驟B所述將測試數據發送到CELLBUS上,然后接收測試數據的具體步驟為將測試數據添加虛通道連接標識后,以異步傳輸模式ATM信元或ATM適配層AAL0或AAL1或AAL5報文的形式發送到CELLBUS接口器件上,然后CELLLBUS接口器件以ATM信元的形式接收,并添加校驗信息、目的地址后以幀結構的形式發送到CELLBUS上,CELLBUS接口器件根據幀結構校驗信息進行校驗,校驗通過,且檢測到幀結構中的目的地址為自身地址,接收測試數據,然后CELLBUS接口器件將測試數據以ATM信元的形式發送到虛通道連接上,查詢虛通道連接上是否有數據,若是,接收該數據;否則,判定CELLBUS有故障。
步驟A所述測試數據為測試數據的每個數據位都為1。
步驟A所述測試數據為測試數據的每個數據位都為0。
步驟A所述測試數據的個數大于1,步驟A所述保存測試數據為依次保存所有的測試數據;步驟B所述接收到的測試數據與步驟A中保存的測試數據相同為接收到的測試數據與步驟A中保存的測試數據一一對應相同。
所述測試數據的個數大于1為所述測試數據的個數至少等于CELLBUS的數據線的根數,且,每個測試數據的位寬與CELLBUS數據線的根數相同,每個測試數據的其中1位為0、其余位為1,各個測試數據為0的數據位互不相同。
所述測試數據的個數大于1為所述測試數據的個數至少等于CELLBUS的數據線的根數,且,每個測試數據的位寬與CELLBUS數據線的根數相同,每個測試數據的其中1位為1、其余位為0,各個測試數據為1的數據位互不相同。
與現有技術相比,本發明所提供的方法,通過構造并保存位寬與CELLBUS數據線的根數相同的測試數據,然后將測試數據發送到CELLBUS上,并接收測試數據,若接收到的測試數據與保存的測試數據相同,就可以判定CELLBUS沒有故障;否則,判定CELLBUS有故障。本發明可以檢測CELLBUS故障,有利于CELLBUS故障的及時發現,從而避免了數據的丟失。同時,本發明通過構造一組個數與CELLBUS數據線的根數相同,每個數據的位寬與CELLBUS數據線的根數相同,且,每個測試數據的其中一位為1、其余位為0,各個測試數據為1的數據位互不相同;或者,每個測試數據的其中一位為0、其余位為1,各個測試數據為0的數據位互不相同的測試數據,保證了全面、準確地檢測CELLBUS故障,使得在確定CELLBUS無故障后,用戶可以放心使用。
圖1是本發明提供的檢測CELLBUS故障的流程圖;圖2是本發明提供的在ATM系統中,檢測32位CELLBUS故障的具體
具體實施例方式
本發明的核心思想是構造并保存位寬與CELLBUS數據線的根數相同的測試數據,然后將測試數據發送到CELLBUS上,并接收測試數據,將接收到的測試數據與保存的測試數據比較,若兩者相同,判定CELLBUS無故障;若不相同或者測試數據沒被接收到,則判定CELLBUS有故障。
圖1是本發明提供的檢測CELLBUS故障的流程圖,如圖1所示,其具體步驟如下步驟101構造并保存測試數據。
構造的測試數據的位寬與CELLBUS數據線的根數相同,測試數據的個數可以不限。
步驟102將測試數據發送到CELLBUS上。
步驟103CELLBUS接口器件接收測試數據。
步驟104將接收到的測試數據與步驟A中保存的測試數據比較,判斷兩者是否相同,若是,執行步驟105;否則,執行步驟106。
步驟105判定CELLBUS無故障,本流程結束。
步驟106判定CELLBUS有故障。
CELLBUS接口器件沒有接收到任何數據,或者接收到的數據與發送的測試數據不同,都認為CELLBUS有故障。
當判定CELLBUS有故障之后,可對CELLBUS進行檢修或替換。
需要指出的是本發明中的測試數據可任意構造。但是,若要盡快發現數據線被固定拉成高電平的故障,可以采用測試數據A測試數據的位寬與CELLBUS數據線的根數相同,且,測試數據的每一位都為0;若要盡快發現數據線被固定拉成低電平的故障,可以采用測試數據B測試數據的位寬與CELLBUS數據線的根數相同,且,測試數據的每一位都為1。
采用以上兩種測試數據的缺點是檢測準確度不能保證。即使接收數據與發送數據完全相同,也不能確定CELLBUS無故障,因為當數據線發生粘連時,有可能粘連的數據線顯示的值都為0或1,而使得接收數據與發送數據完全相同。
為了全面、準確地檢測CELLBUS故障,可采用以下兩種測試數據之一首先,這兩種測試數據都滿足測試數據的個數等于CELLBUS數據線的根數,每個測試數據的位寬與CELLBUS數據線的根數相同,具體地,第一種每個測試數據的其中一位為1、其余位為0,且各個測試數據為1的數據位互不相同。例如測試數據1的第1位為1、其余位為0;測試數據2的第2位為1、其余位為0;......;測試數據m的第m位為1、其余位為0;......。
第二種每個測試數據的其中一位為0、其余位為1,且各個測試數據為0的數據位互不相同。例如測試數據1的第1位為0、其余位為1;測試數據2的第2位為0、其余位為1;......;測試數據m的第m位為0、其余位為1;......。
在實際應用中,以上每種測試數據中的各數據無先后之分,可任意排列。
由以上所述,若測試數據為第一種,那么當第1位為1、其余位為0的數據被正確接收到時,就可以判定CELLBUS的第1位數據線沒有與所有其它位數據線發生粘連,同時可以判定CELLBUS的第1位數據線沒有被固定拉成低電平、且其余所有位數據線沒有被固定拉成高電平,依此類推,將所有測試數據全部正確接收到后,就可以判定CELLBUS的所有位數據線都沒有產生被固定拉成低電平、被固定拉成高電平和粘連的故障,也沒有發生電平錯誤的情況。
下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
圖2是本發明提供的在ATM系統中,檢測32位CELLBUS故障的具體實施例的流程圖,如圖2所示,具體步驟如下步驟201構造測試數據,并依次保存測試數據,選定并記錄虛通道連接(VCC,Virtual Channel Connection)標識,然后將測試數據以AALX(X=0、1或5)報文或ATM信元的形式發送到CELLBUS接口器件上。
構造的測試數據為32個32位的測試數據,且每個測試數據的其中一位為1,其余位為0,各測試數據為1的數據位互不相同。
用戶在將測試數據發送到CELLBUS接口器件上時,可以AALX報文或ATM信元的形式發送。在發送前,首先要選定VCC標識,包括虛路徑標識(VPI,Virtual Path Identifier)和虛通道標識(VCI,Virtual ChannelIdentifier),然后將VCC標識封裝到ATM信元頭部分,將測試數據封裝到ATM信元的凈荷部分。每個ATM信元的凈荷長度是48個字節。根據測試數據的長度32×4=128個字節,若使用ATM信元發送方式,則共需3個ATM信元,剩余的凈荷空間可添加任意數據,最好是前面提到的數據A和數據B。若使用AALX報文發送方式,以AAL5為例,則需將測試數據封裝進3個ATM信元,其中,前兩個ATM信元的凈荷空間全部被測試數據添滿,剩余32字節的測試數據添加在第三個ATM信元的凈荷空間,這樣第三個ATM信元剩余16字節的凈荷空間,該空間的前8個字節可以添加任意數據,最好是前面提到的數據A和數據B,并且,該前8個字節剩余凈荷空間必須是連續的,后面8個字節用來作為AAL5報文尾部。對于ATM信元發送方式來說,其剩余凈荷空間沒有該要求。
VPI和VCI的值必須在系統要求的范圍內,且不與其它的VPI和VCI相同。
步驟202CELLBUS接口器件以ATM信元的形式接收AALX報文或ATM信元,然后給接收到的ATM信元添加目的地址、校驗信息后以幀結構的形式發送到CELLBUS上。
3個ATM信元是以3個幀結構的形式發送的,且幀結構中帶有VCC值。
無論測試數據是以AALX報文還是以ATM信元的形式發送,CELLBUS接口器件都是以ATM信元的形式接收。
步驟203CELLBUS接口器件根據幀結構中的校驗信息進行校驗,校驗通過,且檢測到幀結構中的目的地址與自身地址相同。
校驗沒通過,該數據會被丟棄。
步驟204CELLBUS接口器件接收幀結構中的數據。
步驟205CELLBUS接口器件根據VCC值,將測試數據以ATM信元的形式發送到VCC上。
步驟206檢測VCC上是否有數據,若是,執行步驟207;否則,執行步驟210。
可設定查詢次數,并不停地查詢VCC上是否有數據,若是就接收該數據;若在設定查詢次數內,在該VCC上沒有檢測到數據,判定CELLBUS有故障。
步驟207接收VCC上的數據。
步驟208判斷接收數據與保存的測試數據是否完全一致,若是,執行步驟209;否則,執行步驟210。
步驟209判定CELLBUS無故障,本流程結束。
步驟210判定CELLBUS有故障。
以上所述僅為本發明的過程及方法實施例,并不用以限制本發明,凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種檢測信元總線CELLBUS故障的方法,其特征在于,該方法包括A、構造并保存位寬與CELLBUS數據線的根數相同的測試數據;B、將測試數據發送到CELLBUS上,然后接收測試數據,若接收到的測試數據與步驟A中保存的測試數據相同,判定CELLBUS無故障;否則,判定CELLBUS有故障。
2.如權利要求1所述的方法,其特征在于,步驟B所述將測試數據發送到CELLBUS上,然后接收測試數據的具體步驟為將測試數據添加虛通道連接標識后,以異步傳輸模式ATM信元或ATM適配層AAL0或AAL1或AAL5報文的形式發送到CELLBUS接口器件上,然后CELLLBUS接口器件以ATM信元的形式接收,并添加校驗信息、目的地址后以幀結構的形式發送到CELLBUS上,CELLBUS接口器件根據幀結構校驗信息進行校驗,校驗通過,且檢測到幀結構中的目的地址為自身地址,接收測試數據,然后CELLBUS接口器件將測試數據以ATM信元的形式發送到虛通道連接上,查詢虛通道連接上是否有數據,若是,接收該數據;否則,判定CELLBUS有故障。
3.如權利要求1所述的方法,其特征在于,步驟A所述測試數據為測試數據的每個數據位都為1。
4.如權利要求1所述的方法,其特征在于,步驟A所述測試數據為測試數據的每個數據位都為0。
5.如權利要求1所述的方法,其特征在于,步驟A所述測試數據的個數大于1,步驟A所述保存測試數據為依次保存所有的測試數據;步驟B所述接收到的測試數據與步驟A中保存的測試數據相同為接收到的測試數據與步驟A中保存的測試數據一一對應相同。
6.如權利要求5所述的方法,其特征在于,所述測試數據的個數大于1為所述測試數據的個數至少等于CELLBUS的數據線的根數,且,每個測試數據的位寬與CELLBUS數據線的根數相同,每個測試數據的其中1位為0、其余位為1,各個測試數據為0的數據位互不相同。
7.如權利要求5所述的方法,其特征在于,所述測試數據的個數大于1為所述測試數據的個數至少等于CELLBUS的數據線的根數,且,每個測試數據的位寬與CELLBUS數據線的根數相同,每個測試數據的其中1位為1、其余位為0,各個測試數據為1的數據位互不相同。
全文摘要
本發明公開了一種檢測CELLBUS故障的方法,本發明通過構造并保存位寬與CELLBUS數據線的根數相同的測試數據,然后將測試數據發送到CELLBUS上,并接收測試數據,若接收到的測試數據與保存的測試數據相同,就判定CELLBUS沒有故障。本發明可以檢測CELLBUS故障,有利于CELLBUS故障的及時發現,從而避免了數據的丟失。同時,本發明通過構造一組個數與CELLBUS數據線的根數相同,每個數據的位寬與CELLBUS數據線的根數相同,且,每個測試數據的其中一位為1、其余位為0,各個測試數據為1的數據位互不相同;或者,每個測試數據的其中一位為0、其余位為1,各個測試數據為0的數據位互不相同的測試數據,保證了全面、準確地檢測CELLBUS故障,也使得在確定CELLBUS無故障后,用戶可以放心使用。
文檔編號H04L12/56GK1859226SQ200510084150
公開日2006年11月8日 申請日期2005年7月14日 優先權日2005年7月14日
發明者劉龍新 申請人:上海華為技術有限公司