一种故障检测方法和装置与流程

文档序号:17640610发布日期:2019-05-11 00:38阅读:125来源:国知局
一种故障检测方法和装置与流程

本申请涉及但不限于计算机技术领域,尤指一种故障检测方法和装置。



背景技术:

随着计算机技术的高速发展,应用处理器(applicationprocessor,简称为:ap)、现场可编程逻辑门阵列(fieldprogrammablegatearray,简称为:fpga)等核心处理器件,得到了广泛的应用。

ap、fpga等器件的功能强大,引脚数以千计,通过多输出通道进行数据控制和传输。一旦这些器件出现异常状态,例如时序错位、信号失真等,往往难以定位异常位置。若通过人为测试定位器件异常位置,由于通道数量非常多,导致测试工作量过大,很难人为对每个输出引脚单独一一排除;另外,人为测试要求探针与器件引脚连接,器件封装多为球状引脚栅格阵列封装(ballgridarray,简称为:bga),印制电路板(printedcircuitboard,简称为:pcb)布局紧凑,并且多数引线位于电路板内层,没有配置外接测试线点或测试点,基于器件的上述封装方式(bga)、pcb布局和引线设置方式,难以接入探针实现测试。因此,上述器件出现异常时人为测试定位异常位置的可实施性非常差。



技术实现要素:

为了解决上述技术问题,本发明实施例提供了一种故障检测方法和装置,以解决现有器件出现异常状态时,由于器件的硬件配置方式和通道数量非常多,而导致难以定位异常位置的问题。

本发明实施例提供一种故障检测方法,包括:

对待测器件中多个通道组内的多条通道输入码流进行检测,记录每个通道组内多条通道的输出码流与输入码流的差异次数;其中,输入同一通道组内多条通道的码流相同;

当记录的通道组的差异次数符合异常条件时,将所述通道组确定为异常通道组。

可选地,如上所述的故障检测方法中,还包括:

记录所述通道组被确定为异常通道组的异常时间位置。

可选地,如上所述的故障检测方法中,所述通道组中包括n条通道,所述记录每个所述通道组内多条通道的输出码流与输入码流的差异次数,包括:

采用位宽为(n+k)的第一寄存器的高k位记录每个所述通道组中n条通道的输出码流与所述输入码流的差异次数;其中,所述低n位用于暂存所述n条通道的输出码流。

可选地,如上所述的故障检测方法中,所述当记录的通道组的差异次数符合异常条件时,将所述通道组确定为异常通道组,包括:

当所述第一寄存器的高k位记录的差异次数等于差异阈值2k-1时,将所述通道组确定为异常通道组。

可选地,如上所述的故障检测方法中,所述记录所述通道组被确定为异常通道组的异常时间位置,包括:

采用第二寄存器的时钟计数值记录所述通道组的异常时间位置,其中,所记录的异常时间位置为所述通道组的差异次数等于所述差异阈值2k-1时所述第二寄存器的时钟计数值与时钟周期的乘积。

可选地,如上所述的故障检测方法中,所述待测器件中包括m个通道组,所述对待测器件中多个通道组内的多条通道输入码流进行检测,记录所述通道组内多条通道的输出码流与输入码流的差异次数,包括:

同时对所述待测器件中m个通道组输入码流进行检测,并采用m个第一寄存器一一对应的记录所述m个通道组的差异次数;或者,

依次对所述待测器件中m个通道组输入码流进行检测,采用一个或多个第一寄存器记录所述m个通道组的差异次数。

可选地,如上所述的故障检测方法中,所述方法还包括:

对检测出的异常通道组中的多条通道,重新划分通道组后再次进行故障检测,或者,对每条通道进行单线路故障检测。

可选地,如上所述的故障检测方法中,所述方法还包括:

对伪随机序列进行编码,生成用于输入所述待测器件的通道组中的码流。

可选地,如上所述的故障检测方法中,所述对伪随机序列进行编码,生成用于输入所述待测器件的通道组中的码流,包括:

对伪随机序列的m序列进行曼彻斯特编码,生成用于输入所述待测器件的通道组中的码流。

可选地,如上所述的故障检测方法中,不同通道组中的通道数量为相同的或不同的。

可选地,如上所述的故障检测方法中,输入到不同通道组中的码流为相同的或不同的。

可选地,如上所述的故障检测方法中,用于记录不同通道组的差异次数的第一寄存器的高k位的数值为相同的或不同的。

可选地,如上所述的故障检测方法中,所述k为大于或等于2的整数。

本发明实施例还提供一种故障检测装置,包括:

检测模块,用于对待测器件中多个通道组内的多条通道输入码流进行检测;

第一记录模块,用于记录每个通道组内多条通道的输出码流与输入码流的差异次数;其中,输入同一通道组内多条通道的码流相同;

所述检测模块,还用于当所述第一记录模块记录的通道组的差异次数符合异常条件时,将所述通道组确定为异常通道组。

可选地,如上所述的故障检测装置中,还包括:

第二记录模块,用于记录所述通道组被确定为异常通道组的异常时间位置。

本发明实施例还提供一种计算机设备,包括:存储器和处理器;

所述存储器,用于保存可执行指令;

所述处理器,用于在执行所述存储器保存的所述可执行指令时实现如上述任一项所述的故障检测方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,所述可执行指令被处理器执行时实现如上述中任一项所述的故障检测方法。

本发明实施例提供的故障检测方法和装置,通过对待测器件的多个通道组中同一通道组内的多条通道输入相同码流进行检测,记录每个通道组内多条通道的输出码流与输入码流的差异次数,当记录的通道组的差异次数符合异常条件时,将该通道组确定为异常通道组,从而缩小器件内异常通道的定位范围。本发明实施例的故障检测方法,对器件的大量通道采用分组的方式进行检测,通过简单的对比运算和位运算即可实现对比和计数,实现准确标记异常通道组的目的,因此,解决了现有器件出现异常状态时,由于器件的硬件配置方式和通道数据多,而导致难以定位异常位置的问题。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种故障检测方法的流程图;

图2为本发明实施例提供的另一种故障检测方法的流程图;

图3为本发明实施例提供的故障检测方法中一种生成输入码流的示意图;

图4为本发明实施例提供的另一种故障检测方法的流程图;

图5为本发明实施例提供的故障检测方法中一种记录通道组内差异次数的应用场景示意图;

图6为本发明实施例提供的故障检测方法中另一种记录通道组内差异次数的应用场景示意图;

图7为本发明实施例提供的一种故障检测装置的结构示意图;

图8为本发明实施例提供的另一种故障检测装置的结构示意图;

图9为本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明提供以下几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明实施例提供的一种故障检测方法的流程图。本实施例提供的故障检测方法,可以对现有ap、fpga等核心处理器件的异常状态进行检测和定位,该故障检测方法可以包括如下步骤:

s110,对待测器件中多个通道组内的多条通道输入码流进行检测,记录每个通道组内多条通道的输出码流与输入码流的差异次数;其中,输入同一通道组内多条通道的码流相同;

s120,当记录的通道组的差异次数符合异常条件时,将该通道组确定为异常通道组。

本发明实施例提供的故障检测方法,可以对内部通道数量较多,难以通过人为测试定位异常位置的器件进行故障检测,例如为ap、fpga等核心处理器件,这些器件的功能强大,其引脚通常数以千计,且通道数量非常多;另外,基于器件的封装方式(bga)、pcb布局和引线设置方式,难以采用万用表或示波器通过接入探针的方式进行测试;显然地,上述器件出现异常时通过人为测试定位异常位置的可实施性非常差。

本发明实施例对待测器件内部多条通道采用分组检测的方式,例如,待测器件中的通道划分为多个通道组,每个通道组包括多条通道,采用对这些通道组输入码流的方式进行检测。在实际应用中,待测器件(例如为fpga)可以通过仿真器连接到测量设备,该测量设备例如为一台电脑,设计人员可以使用测量设备对fpga的通道进行分组,还可以使用测量设备编写程序,以使得该测量设备通过fpga的逻辑引脚向通道组输入码流,输入码流的方式可以为:对同一通道组内的多条通道输入相同的码流,且同一通道组内多条通道的输入码流是同时输入的,相应地,同一通道组内的多条通道的输出码流也是同时输出的;上述输入码流为已知的输入数据,同一通道组内多条通道的输出码流与该输入码流相比,可能存在一些差异,可以通过记录同一通道组内每条通道的输出码流与输入码流出现差异的次数判断这一个通道组是否为异常通道组,若用于判断异常通道组的异常条件为检测出多次差异,在同一通道组内对比多条通道的输出码流和输入码流时,每次对比出输入码流和输出码流的不同内容时可以记录为一次异常,在记录到多次异常且异常次数符合判定为异常通道组的异常条件时,将该通道组确定为异常通道组。通过上述输入码流的方式对比同一通道组内的输出码流与输入码流,以及记录异常次数的方式,可以对器件中的每个通道组进行检测,并标记出异常通道组,标记出的异常通道组例如为一组或多组。

需要说明的是,本发明实施例中对比输出码流和输入码流是在同一通道组内进行对比,对于同一通道组来说,输入该通道组内多条通道的码流是相同的,也是同时输入的,即这个通道组内每条通道的码流的时序是相同的,在对比差异时,这个通道组内每条通道的输出码流都需要与输入码流进行对比,可以理解为,输入码流为一基准码流,该基准码流输入到同一通道组的每条通道后,由于时钟问题、通道异常以及通道对码流的处理等因素可能出现在某个时间点下输出码流与输入码流不同的现象,即出现差异;因此,对比差异是针对同一通道组,相同时间输入的相同码流来执行的,在记录差异次数时,只要这一个通道组内任一条通道的输出码流与输入码流对比出差异都记为一次差异,也就是说,差异次数是针对整个通道组来记录的,不是针对某条通道记录的。另外,本发明实施例不限制输入到不同通道组中的码流,即输入到不同通道组中的码流可以为相同的或者不同的。

若人为测试并定位器件的异常位置,难以对器件内大量通道进行逐一检测,并且基于器件的硬件配置,难以采用万用表或示波器通过接入探针的方式进行测试。相比之下,本发明实施例提供的故障检测方法,对器件的大量通道采用分组的方式进行检测,在通道分组的基础上将同一通道组内多条通道的输出码流与该通道组的输入码流进行对比,并记录对比得到的差异次数,通过简单的对比运算和位运算即可以实现对比和计数,从而准确标记异常通道组的目的。通过本发明上述实施例提供的方法进行对器件内的通道进行故障检测,由于fpga的通道数量数以千计,在分组的基础上执行一次通过输入码流对比差异的检测方式,可以排除fpga中大多数通道组存在差异的可能性,这样可以在很大程度上缩小异常通道的定位范围。需要说明的是,本发明实施例提供的故障检测方法,可以在已定位出异常通道组的基础上,通过调整异常条件,改变通道的分组方式重复执行s110和s120,最终确定出存在故障的一条或多条通道。

本发明实施例提供的故障检测方法,通过对待测器件的多个通道组中同一通道组内的多条通道输入相同码流进行检测,记录每个通道组内多条通道的输出码流与输入码流的差异次数,当记录的通道组的差异次数符合异常条件时,将该通道组确定为异常通道组,从而缩小器件内异常通道的定位范围。本发明实施例的故障检测方法,对器件的大量通道采用分组的方式进行检测,通过简单的对比运算和位运算即可实现对比和计数,实现准确标记异常通道组的目的,因此,解决了现有器件出现异常状态时,由于器件的硬件配置方式和通道数据多,而导致难以定位异常位置的问题。

可选地,图2为本发明实施例提供的另一种故障检测方法的流程图,在图1所示实施例的基础上,本发明实施例提供的故障检测方法,还可以包括:

s130,记录通道组被确定为异常通道组的异常时间位置。

在本发明实施例中,通过对比并记录同一通道组内多条通道的输出码流与输入码流的差异次数,判定出某一通道组为异常通道组的同时,还可以记录该通道组的异常时间位置。上述实施例中已经说明,在确定异常通道组时,并非仅发生一次差异就判定为异常通道组,而是在每次对比出差异时记录差异次数,当记录的差异次数符合异常条件时,将该通道组判定为异常通道组,同时,也是在将该通道组判定为异常通道组时(即该通道组的差异次数符合异常条件时),记录异常时间位置。在实际应用中,记录的异常时间位置与相应通道组是否被判定为异常通道组相关,若某一通道组的差异次数较少,没有达到异常条件,即没有被判定为异常通道组,则不记录该通道组的异常时间位置。

举例来说,一个通道组中具有5条通道,输入该通道组的输入码流是同时输入这5条通道的,该输入码流具有一定的长度,且该输入码流输入到5条通道的时序是相同的,输入码流经过这5条通道后同时输出一定长度的输出码流,即5条通道的输出码流的时序也是相同的,对比差异是按照码流的时序进行对比的,将5条输出码流同时、并行的与输入码流进行对比,并且在相同的时序下进行对比,例如,第一个时钟下输入的输入码流分别与第一时钟下输出的5条输出码流进行对比,只要该时钟下一条输出码流的内容与输入码流不同,记为一次差异,在码流的每个时钟执行上述对比,直到对比完成码流在所有时钟下的内容。

在本发明实施例中,记录通道组被判定为异常通道组时的异常时间位置的实现方式,可以在后续检测时缩小检测的时间范围,例如在后续检测异常通道组时可以检测记录的异常时间位置前后的时间段,即以异常时间位置为中心进行检测,从而可以提升后续定位异常时间位置的速度。另外,在后续检测中,若之前记录的异常问题不能复现时,可以考虑记录的异常时间位置发生的事件,从而判断导致异常问题出现的原因。

可选地,本发明实施例提供的故障检测方法,在s110之前还可以包括:

s100,对伪随机序列进行编码,生成用于输入待测器件的通道组中的码流。

在本发明实施例中,输入到某个通道组内,用于与该通道组的多条通道的输出码流进行对比的输入码流,可以是对伪随机序列进行编码生成的。伪随机序列又称伪噪声或伪随机码(pseudo-noisesequence),既具有某种随机序列的随机特性(即统计特性),又存在预先确定性,可以重复的产生和复制,基于伪随机序列的上述特征,可以采用伪随机序列作为本发明实施例中进行对比检测的基础码流。

在实际应用中,本发明实施例可以采用m序列,即伪随机序列的一种,m序列为最长线性反馈移位寄存器(linearfeedbackshiftregister,简称为:lfsr)序列,具有随机性、规律性及良好的自相关和互相关性,而且密钥量大,其加密的数字信号安全,稳定,常用于通信系统数据链路中。

对上述伪随机序列(例如m序列)的编码方式可以采用曼彻斯特编码(manchesterencoding),也称相位编码(phaseencode,简称为:pe),是一种同步时钟编码技术(自同步法)。每位编码中间存在一次跳变,该跳变既作时钟信号,又作数据信号,也就是说可从其自身提取同步信息,锁定时钟脉冲频率;除此以外,编码不包含直流分量,具有良好的抗干扰性能。

本发明实施例提供的故障检测方法,可以采用对m序列进行曼彻斯特编码后,生成的码流作为输入通道组的输入码流进行检测,如图3所示,为本发明实施例提供的故障检测方法中一种生成输入码流的示意图。首先,由带线性反馈的移位寄存器产生周期最长序列,即m序列,对应的抽头数或本源方程式的阶数(如图3中的a0到an-1为n阶)由设计人员参照待测器件的能力设定,例如参考待测fpga中通道对输入码流的解码和编码能力,由于输出码流可以存储在fpga中并在fpga中进行对比,也可以参考待测fpga的运算能力;其次,将m序列按照低速以太网电气和电子工程师协会(instituteofelectricalandelectronicsengineers,简称为:ieee)的ieee802.3协议进行曼彻斯特编码,生出用于输入到各待测通道组中的码流,用于对比。需要注意的是,ieee802.3中规定:“低->高”电平跳变表示“1”,“高->低”的电平跳变表示“0”,若依据其它协议进行曼彻斯特编码,电平跳变以协议中规定的为准。

本发明实施例采用对伪随机序列(例如m序列)进行曼彻斯特编码后,生出的码流作为输入到各待测通道组中的码流,m序列的曼彻斯特编码后具有良好的抗干扰能力,保证自身的稳定性,适用于测试;采用上述码流在同一通道组内各个通道上同时传输该同一码流,比较输入码流与输出码流的差异,可以快速缩小异常位置范围,进而快速准确的定位故障的具体位置。

需要说明的是,本发明上述实施例采用对m序列进行曼彻斯特编码后生成的码流作为输入码流为例予以说明,在实际应用中,本发明实施例不限制输入通道组内的码流仅为对m序列进行曼彻斯特编码后生成的码流,输入码流还可以是对其它伪随机序列进行其它类型的编码后生成的。例如还可以采用伪随机序列中的gold码、pn码等,编码方式还可以采用差分曼彻斯特编码方式。

可选地,图4为本发明实施例提供的另一种故障检测方法的流程图,本发明实施例的通道组中包括n条通道,在上述各实施例的基础上,本发明实施例提供的故障检测方法,s110可以包括:

s111,对待测器件中多个通道组内的多条通道输入码流进行检测,输入同一通道组内多条通道的码流相同;

s112,采用位宽为(n+k)的第一寄存器的高k位记录通每个道组中n条通道的输出码流与输入码流的差异次数,低n位用于暂存n条通道的输出码流。

图4以在上述图2的基础上为例予以示出。如图5所示,为本发明实施例提供的故障检测方法中一种记录通道组内差异次数的应用场景示意图。在本发明实施例中,可以先对待测的传输通道进行分组,例如,分组形成的通道组中每个通道组包括n个通道:通道0、通道1、……、通道(n-2)、通道(n-1),并且开辟位宽为(n+k)的第一寄存器reg1与这些通道组对应,例如可以在待测器件(例如fpga)中开辟一块存储空间作为存储输出码流和记录差异次数的第一寄存器,也可以采用外接的存储器件作为第一寄存器;其中,reg1[(n-1):0]中每位对应通道组内的一条通道,即通道0对应reg1[0]、通道1对应reg1[1]、……、通道(n-1)对应reg1[(n-1)]。随后,在该通道组的每条通道上发送同一m序列的曼彻斯特编码,第一寄存器reg1的低n位reg1[(n-1):0]一一对应的暂存n条通道的输出码流,同时通过寄存器的位运算执行对比,比较输出码流与输入码流的各位是否存在差异;该第一寄存器reg1的高k位,即reg1[(n+k-1):n],在对比出差异时记录该通道组内n条通道的差异次数。

可选地,在本发明实施例中,由于允许同一通道组中出现的差异次数由第一寄存器reg1的高k位规定,因此,本发明实施例中,将通道组确定为异常通道组的实现方式,即s120的实现方式,可以包括:

当第一寄存器的高k位记录的差异次数等于差异阈值2k-1时,将该通道组确定为异常通道组。

在本发明实施例中,由于第一寄存器reg1的高k位reg1[(n+k-1):n]用于记录该通道组内n条通道的差异次数,即该高k位规定了允许同一通道组中出现的最大差异次数,即差异阈值。例如,高k位可以的初始值全部赋值为“1”,每出现一次差异,高k位reg1[(n+k-1):n]执行一次“减1”操作,当reg1[(n+k-1):n]=0时,则将该通道组标记为异常通道组,待后续进一步分析该异常通道组中的每条通道。

举例来说,通道组中包括6条通道,通道0到通道5,如图6所示,为本发明实施例提供的故障检测方法中另一种记录通道组内差异次数的应用场景示意图。在图6所示应用场景中,以n为6,k为2,4阶为例予以示出,如图6中用于生成m序列的序列发生器的阶数包括:a0、a1、a2和a3,比较该通道组中输出码流与输入码流的差异,并记录差异次数,未出现差异时高k位全为“1”,即“11”,出现差异后的计数方式为:“11”一次差异后为“10”,两次差异后为“01”,三次差异后为“00”,即当出现3次(2k-1)差异后,高k位全为“00”,此时,执行检测的测量设备可知第一寄存器中高k为的数值,因此可以判定出该通道组为异常通道组,进行标记。

再举例来说,若k为4,未出现差异时高k位全为“1”,即“1111”,出现15次(2k-1)差异后,高k位全为“0000”,此时,可以判定该通道组为异常通道组,进行标记。

可选地,本发明实施例中k的取值可以为大于或等于2的整数,k的取值与组成通道组中各通道的敏感度相关,还可以参考待测器件中通道和通道组的数量。在器件的故障检测过程中,由于偶发现象的可能性,若一个通道组内发生一次差异就将该通道组标记为异常通道组,则可能存在异常通道组误判的情况,针对该问题,本发明实施例通过设置(n+k)位第一寄存器中高k位的数值为大于或等于2的整数,即差异次数至少为3次(对应k等于2的情况),可以允许同一通道组内具有一定次数的差异现象,从而避免由于偶发事件的产生导致异常通道组误判的情况。

需要说明的是,上述采用第一寄存器的高k位记录同一通道组内的差异次数的方式,仅是一种示例性说明,也可以采用其它方式记录同一通道组内的差异次数,例如未出现差异时高k位全为“0”,每出现一次差异,高k位执行一次“加1”操作,当高k位全为“1”时,判定该通道组为异常通道组;还可以采用其它方式记录同一通道组内的差异次数。

可选地,在本发明实施例中,记录通道组被确定为异常通道组的异常时间位置的实现方式,即s130的实现方式可以包括:

采用第二寄存器的时钟计数值记录通道组的异常时间位置,其中,所记录的异常时间位置为该通道组的差异次数等于差异阈值2k-1时第二寄存器的时钟计数值与时钟周期的乘积。

在本发明实施例中,可以对通道组开辟宽度为wl的第二寄存器rai,其中,i表示第i个通道组,记录异常发生时间位置,即存储异常发生时的基础时钟个数,也即存储通道组被判定为异常通道组时的异常时间位置。在实际应用中,时钟的周期为一常量,对第二寄存器设置变量为cnt,计数时钟(clock)的个数,例如在每个时钟的上升沿(“0”->“1”)计数一次,记录的计数值保存在cnt中,第二寄存器对应的通道组判定为异常通道组时,将当前cnt赋为rai,即保存上述记录的时钟计数值与时钟周期的乘积,也就是异常时间位置。

需要说明的是,本发明实施例中的第二寄存器仅记录异常通道组的异常时间位置,即某个通道组没有被判定为异常时,则无需记录,因此,该第二寄存器的数量可以小于或等于器件中通道组的数量。

可选地,在本发明实施例中,设定器件中的通道被划分为m个,这m个通道组内的通道数量可以是相同的或者不同的。需要说明的是,本发明实施例的器件中大量通道的分组方式,可以结合实际应用和引脚数量而定,例如,器件某个区域的引脚数量较多且分布密集,则对该区域引脚对应的通道进行分组时,每个通道组内通道的数量可以比较少,再例如,对于存在干扰的多条通道,可以将这些通道分布在不同的通道组中进行检测。

在本发明实施例的一种可能的实现方式中,检测并记录异常次数的实现方式可以为:同时对待测器件中m个通道组输入码流进行检测,并采用m个第一寄存器一一对应的记录m个通道组的差异次数。在该实现方式中,由于同时对m个通道组进行检测,记录差异次数的操作也是同时执行的,因此可以采用m个第一寄存器来记录差异次数,每个第一寄存器用于记录对应通道组的差异次数,实现同时检测和记录的工作;另外,该实现方式中第二寄存器的数量可以为m个,m个第二寄存器一一对应的记录m个通道组的异常时间位置,在实际应用中,并非每个通道组都会被判定为异常通道组,因此,第二寄存器的数量也可以小于m个。上述实现方式的检测速度较快,但需要的资源(第一、第二寄存器的数量)通常较多。

在本发明实施例的另一种可能的实现方式中,检测并记录异常次数的实现方式可以为:依次对待测器件中m个通道组输入码流进行检测,采用一个或多个第一寄存器记录m个通道组的差异次数。在该实现方式中,由于非同时而是依次对m个通道组进行检测,记录差异次数的操作也是依次执行的,因此,可以仅采用一个或多个第一寄存器来记录差异次数。例如,若待测器件中的m个通道组中通道的数量是相同的,都为n条通道,则可以采用一个第一寄存器来记录检测每个通道组时的差异此时,再例如,若待测器件中的m个通道组中通道的数量是不同的,通道组中通道的数量可以n1、n2、n3等不同的数量,可以采用位宽不同的多个第一寄存器对m个通道组的差异次数进行记录。例如,针对通道数量为n1多个通道组,开辟一个位宽为(n1+k)的第一寄存器,针对通道数量为n2多个通道组,开辟一个位宽为(n2+k)的第一寄存器,针对通道数量为n3多个通道组,开辟一个位宽为(n3+k)的第一寄存器;另外,该实现方式中第二寄存器的数量可以为一个或多个,由待测器件的可使用寄存器数量或存储资源确定第二寄存器的数量。上述实现方式的检测速度较慢,但需要的资源(第一、第二寄存器的数量)通常较少。

需要说明的是,本发明实施例不限制仅采用上述同时检测和依次检测两种方式对m个通道组进行检测,还可以是分组检测,例如,在一个时间段对其中部分通道组进行检测,该实现方式的检测速度和需要的资源介于上述两种方式之间。

本发明实施例在实际应用中,用于记录不同通道组的第一寄存器的高k位的数值也可以为相同的或不同的,上述各实施例以k为定值为例进行说明的,在一些应用场景中,若某个通道组的敏感度较高,则k位的数值较小,允许出现差异的次数较小,若某个通道组的敏感度较低,则k位的数值较大,允许出现差异的次数较大。

进一步地,本发明实施例提供的故障检测方法,还可以包括:

对检测出的异常通道组中的多条通道,重新划分通道组后再次进行故障检测,或者,对每条通道进行单线路故障检测。

在本发明上述各实施例的基础上,已根据每个通道组的差异次数,标记出器件的哪些通道组为异常通道组,对这些已标记为异常通道组的一个或多个通道组内的多条通道,根据实际情况,可以这些通道进行单线路故障检测,即采用单独对每条通道采用对比输出码流与输入码流的方式,定位通道的异常位置;或者,可以对这些通道重新划分通道组,减少每个通道组内通道的数量,即将标记为异常通道组的这些通道,划分为更小的通道组,重复之前的检测、对比和记录操作,缩小异常检测的范围,直到定位出故障通道。另外,可以通过仅捕获通道组判定为异常时的时间点(即rai点)或前后时间段信号,以提高定位异常位置的检测速度。

需要说明的是,本发明实施例中通道组中的通道数量n,以及第一寄存器中用于记录异常次数的高k位数值的选取要适应于器件的实际情况,过长或过短都不利于实现快速定位异常位置,上述实施例中已经说明n的选取与器件内部通道的硬件特征,例如引脚数量、密集程度、干扰情况等相关,k的选取决定允许通道组内的最大差异次数,与通道组内各通道的敏感度相关;第二寄存器中cnt和rai的位宽设置也需要均衡资源占用与防溢出,可以由用户要求的测试时间长短确定cnt和rai的位宽,如果测试时间8比特(8-bit)宽度可以满足,则位宽可以设置为10-bit,一方面防止溢出,另一方面会在客户要求的基础上延长一些时间,保证系统的稳定性。

本发明实施例提供的故障检测方法,首先,可以采用对m序列的曼彻斯特编码后生成的码流作为输入器件进行对比的输入码流,该输入码流兼具伪随机序列的统计特性与安全稳定的密钥属性,满足高质量检测基准的要求;其次,采用第一寄存器的高k位记录差异次数以在差异次数达到差异阈值时将记录的通道组判定为异常通道组,且高k位可以取大于或等于2的正整数,这种差异次数的设置和异常的判定方式有利于排除偶发事件干扰,保证故异常通道组标记的准确性;另外,记录差异次数时通过第一寄存器中位运算执行对比,运算和操作简单、快速,第二寄存器记录通道组标记为异常时的时间点,易于故障回溯、复现,同时进一步加速二次定位。

基于本发明上述各实施例提供的故障检测方法,本发明实施例还提供一种故障检测装置,该故障检测装置为执行本发明上述任一实施例提供的故障检测方法的硬件结构。

如图7所示,为本发明实施例提供的一种故障检测装置的结构示意图。本实施例提供的故障检测装置200可以对现有ap、fpga等核心处理器件的异常状态进行检测和定位,该故障检测装置200可以包括:检测模块210和第一记录模块220。

检测模块210,用于对待测器件中多个通道组内的多条通道输入码流进行检测;

第一记录模块220,用于记录每个通道组内多条通道的输出码流与输入码流的差异次数,其中,输入同一通道组内多条通道的码流相同;

检测模块210,还用于当记录的通道组的差异次数符合异常条件时,将该通道组确定为异常通道组。

本发明实施例提供的故障检测装置200,用于对内部通道数量较多,难以通过人为测试定位异常位置的器件进行故障检测,例如为ap、fpga等核心处理器件,这些器件的功能强大,其引脚通常数以千计,且通道数量非常多;另外,基于器件的封装方式(bga)、pcb布局和引线设置方式,难以采用万用表或示波器通过接入探针的方式进行测试;显然地,上述器件出现异常时通过人为测试定位异常位置的可实施性非常差。

本发明实施例对待测器件内部多条通道采用分组检测的方式,例如,待测器件中的通道划分为多个通道组,每个通道组包括多条通道,采用对这些通道组输入码流的方式进行检测。在实际应用中,待测器件(例如为fpga)可以通过仿真器连接到测量设备,该测量设备例如为一台电脑,设计人员可以使用测量设备对fpga的通道进行分组,还可以使用测量设备编写程序,以使得该测量设备通过fpga的逻辑引脚向通道组输入码流,输入码流的方式可以为:由检测模块210对同一通道组内的多条通道输入相同的码流,且同一通道组内多条通道的输入码流是同时输入的,相应地,同一通道组内的多条通道的输出码流也是同时输出的;上述输入码流为已知的输入数据,同一通道组内多条通道的输出码流与该输入码流相比,可能存在一些差异,可以通过第一记录模块220记录同一通道组内每条通道的输出码流与输入码流出现差异的次数,并由检测模块210根据差异次数判断这一个通道组是否为异常通道组,若用于判断异常通道组的异常条件为检测出多次差异,在同一通道组内对比多条通道的输出码流和输入码流时,每次对比出输入码流和输出码流的不同内容时可以记录为一次异常,在第一记录模块220记录到多次异常且异常次数符合判定为异常通道组的异常条件时,检测模块210将该通道组确定为异常通道组。通过上述输入码流的方式对比通道组内的输出码流与输入码流,以及记录异常次数的方式,故障检测装置200可以对器件中的每个通道组进行检测,并标记出异常通道组,标记出的异常通道组例如为一组或多组。通过本发明上述实施例提供的故障检测装置200进行对器件内的通道进行故障检测,可以在很大程度上缩小异常通道的定位范围。

在实际应用中,本发明实施例中的检测模块210可以为上述测量设备,该测量设备可以将现有的码流输入到待测fpga中以提供故障检测的基准码流,并且该测量设备可知第一记录模块220对比和记录差异次数的结果,从而根据差异次数判定异常通道组,第一记录模块220可以配置在待测fpga中,由fpga内部的存储空间和运算器实现,也可以为外接的存储器件,且具有用于对比码流差异的位运算能力,此时,该外接的存储器件还可以与测量设备相连接,由测量设备执行异常通道组的判定。

需要说明的是,本发明实施例中第一记录模块220对比输出码流和输入码流是在同一通道组内进行对比,对于同一通道组来说,检测模块210输入该通道组内多条通道的码流是相同的,也是同时输入的,即这个通道组内每条通道的码流的时序是相同的,在对比差异时,这个通道组内每条通道的输出码流都需要与输入码流进行对比,可以理解为,输入码流为一基准码流,该基准码流输入到同一通道组的每条通道后,由于时钟问题、通道异常以及通道对码流的处理等因素可能出现在某个时间点下输出码流与输入码流不同的现象,即出现差异;因此,第一记录模块220对比差异是针对同一通道组,相同时间输入的相同码流来执行的,检测模块210在记录差异次数时,只要这一个通道组内任一条通道的输出码流与输入码流对比出差异都记为一次差异,也就是说,差异次数是针对整个通道组来记录的,不是针对某条通道记录的。另外,本发明实施例不限制检测模块210输入到不同通道组中的码流,即输入到不同通道组中的码流可以为相同的或者不同的。

若人为测试并定位器件的异常位置,难以对器件内大量通道进行逐一检测,并且基于器件的硬件配置,难以采用万用表或示波器通过接入探针的方式进行测试。相比之下,本发明实施例提供的故障检测装置200,对器件的大量通道采用分组的方式进行检测,在通道分组的基础上将同一通道组内多条通道的输出码流与该通道组的输入码流进行对比,并记录对比得到的差异次数,通过简单的对比运算和位运算即可以实现对比和计数,从而准确标记异常通道组。通过本发明上述实施例提供的故障检测装置200进行对器件内的通道进行故障检测,由于fpga的通道数量数以千计,在分组的基础上执行一次通过输入码流对比差异的检测方式,可以排除fpga中大多数通道组存在差异的可能性,这样可以在很大程度上缩小异常通道的定位范围。需要说明的是,本发明实施例提供的故障检测装置200,可以在已定位出异常通道组的基础上,通过调整异常条件,改变通道的分组方式重复执行输入码流、对比码流、记录差异次数和判定异常通道组的操作,最终确定出存在故障的一条或多条通道。

本发明实施例提供的故障检测装置200,通过检测模块210对待测器件的多个通道组中同一通道组内的多条通道输入相同码流进行检测,由第一记录模块220记录每个通道组内多条通道的输出码流与输入码流的差异次数,当第一记录模块220记录的通道组的差异次数符合异常条件时,检测模块210将该通道组确定为异常通道组,从而缩小器件内异常通道的定位范围。本发明实施例的故障检测装置200,对器件的大量通道采用分组的方式进行检测,通过简单的对比运算和位运算即可实现对比和计数,实现准确标记异常通道组的目的,因此,解决了现有器件出现异常状态时,由于器件的硬件配置方式和通道数据多,而导致难以定位异常位置的问题。

可选地,图8为本发明实施例提供的另一种故障检测装置的结构示意图,在图7所示装置的基础上,本发明实施例提供的故障检测装置200,还可以包括:

第二记录模块230,用于记录通道组被确定为异常通道组的异常时间位置。

在本发明实施例中,第一记录模块220通过对比并记录同一通道组内多条通道的输出码流与输入码流的差异次数,检测模块210判定出某一通道组为异常通道组的同时,还可以由第二记录模块230记录该通道组的异常时间位置。上述实施例中已经说明,在确定异常通道组时,并非仅发生一次差异就判定为异常通道组,而是在每次对比出差异时记录差异次数,当第一记录模块220记录的差异次数符合异常条件时,检测模块210将该通道组判定为异常通道组,同时,也是在将该通道组判定为异常通道组时(即该通道组的差异次数符合异常条件时),第二记录模块230记录异常时间位置。在实际应用中,记录的异常时间位置与相应通道组是否被判定为异常通道组相关,若某一通道组的差异次数较少,没有达到异常条件,即没有被判定为异常通道组,则不记录该通道组的异常时间位置。

在本发明实施例中,由第二记录模块230记录的通道组被判定为异常通道组时的异常时间位置,可以在后续检测时缩小检测的时间范围,例如在后续检测异常通道组时可以检测记录的异常时间位置前后的时间段,即以异常时间位置为中心进行检测,从而可以提升后续定位异常位置的速度。另外,在后续检测中,若之前记录的异常问题不能复现时,可以考虑记录的异常时间位置发生的事件,从而判断导致异常问题出现的原因。

可选地,本发明实施例提供的故障检测装置200,还可以包括:

码流生成模块240,用于对伪随机序列进行编码,生成用于输入待测器件的通道组中的码流。

本发明实施例中生成码流的方式(参照图3所示),例如为通过m序列进行曼彻斯特编码后生成用于输入器件的多个通道组中的码流,以及上述码流的特性和应用于本发明实施例中进行故障检测的有益效果,在上述实施例中已经详细说明,故在此不再赘述。另外,本发明实施例中的码流生成模块240的实体器件可以为一码流生成器,该码流生成器的结构可以参照图3所示,例如包括用于生成伪随机序列的线性反馈移位寄存器和用于执行编码的编译器,该码流生成器可以集成于测量设备中,还可以为测量设备的外接器件。

需要说明的是,本发明上述实施例采用对m序列进行曼彻斯特编码后生成的码流作为输入码流为例予以说明,在实际应用中,本发明实施例不限制输入通道组内的码流仅为对m序列进行曼彻斯特编码后生成的码流,输入码流还可以是对其它伪随机序列进行其它类型的编码后生成的。例如还可以采用伪随机序列中的gold码、pn码等,编码方式还可以采用差分曼彻斯特编码方式。

可选地,在本发明实施例中,第一记录模块220可以为位宽为(n+k)的第一寄存器,记录差异次数的方式可以为:采用第一寄存器的高k位记录每个通道组中n条通道的输出码流与输入码流的差异次数,低n位用于暂存n条通道的输出码流。在实际应用中,当第一寄存器的高k位记录的差异次数等于差异阈值2k-1时,将该通道组确定为异常通道组。

可选地,在本发明实施例中,第二记录模块230可以为宽度为wl的第二寄存器rai,采用第二寄存器的时钟计数值记录通道组的异常时间位置,其中,所记录的异常时间位置为该通道组的差异次数等于差异阈值2k-1时第二寄存器的时钟计数值与时钟周期的乘积。

可选地,本发明实施例中k的取值可以为大于或等于2的整数,k的取值与组成通道组中各通道的敏感度相关,还可以参考待测器件中通道和通道组的数量。采用本发明实施例提供的故障检测装置200对待测器件的故障检测过程中,由于偶发现象的可能性,若一个通道组内发生一次差异就将该通道组标记为异常通道组,则可能存在异常通道组误判的情况,针对该问题,本发明实施例通过设置(n+k)位第一寄存器中高k位的数值为大于或等于2的整数,即差异次数至少为3次(对应k等于2的情况),可以允许同一通道组内具有一定次数的差异现象,从而避免由于偶发事件的产生导致异常通道组误判的情况。

需要说明的是,本发明实施例中第一记录模块220记录差异次数和第二记录模块230记录异常时间位置的方式,上述实施例中已经详细说明,故在此不再赘述。另外,与第一记录模块220类似地,第二记录模块230可以配置在待测fpga中,由fpga内部的存储空间实现,也可以为外接的存储器件,此时,该外接的存储器件还可以与测量设备相连接,由测量设备根据记录的计数值和时钟周期的大小计算出异常时间位置。

另外,本发明实施例提供的故障检测装置200,所检测的m个通道组内通道数量可以是相同的或者不同的。本发明实施例中通道组的分组方式,以及检测模块210对m个通道组内输入码流进行检测的方式(例如同时对m个通道组输入码流,或依次对每个通道组输入码流,或一个时间段对部分通道组输入码流的方式),上述实施例中已经详细说明,故在此不再赘述。

进一步地,本发明实施例提供的故障检测装置200,还可以对检测出的异常通道组中的多条通道,重新划分通道组后再次进行故障检测,或者,对每条通道进行单线路故障检测。

图9为本发明实施例提供的一种计算机设备的结构示意图。本发明实施例提供的计算机设备30可以包括:存储器31和处理器32。

其中,存储器31,用于保存可执行指令;

处理器32,用于在执行存储器31保存的可执行指令时实现本发明上述任一实施例提供的光伏系统的物料配置方法。

本发明实施例提供的计算机设备30可以对ap、fpga等核心处理器件的异常状态进行检测和定位,该计算机设备30的实施方式与本发明上述实施例提供的故障检测方法基本相同,在此不做赘述。

本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有可执行指令,该可执行指令被处理器执行时可以实现本发明上述任一实施例提供的故障检测方法。本发明实施例提供的计算机可读存储介质的实施方式与本发明上述实施例提供的故障检测方法基本相同,在此不做赘述。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1