一种检测信元总线故障的方法

文档序号:7620694阅读:272来源:国知局
专利名称:一种检测信元总线故障的方法
技术领域
本发明涉及信元总线领域,具体涉及一种检测信元总线故障的方法。
背景技术
信元总线(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日
发明者刘龙新 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1