一种基于故障注入的窄脉冲检测方法、系统、介质及设备
文献发布时间:2023-06-19 16:09:34
技术领域
本发明涉及脉冲监测技术领域,更具体地,涉及一种基于故障注入的窄脉冲检测方法、系统、介质及设备。
背景技术
在雷达探测、激光探测、精准导航等领域,提升窄脉冲的探测分辨率能够大大提升整机的探测能力。对于微秒级的脉冲,可以通过单片机进行采数检测;对于10纳秒级的脉冲,一般需要使用FPGA进行IO端口高速采样检测,为了满足稳定采样,需要提供最少两倍的采样时钟,即大于200MHz的时钟;对于1纳秒级至0.1纳秒级别的窄脉冲,如果还使用FPGA进行IO高速采样检测,则需要2GHz的采样时钟,此时钟速率已经超出了一般FPGA的采样范围。
现有方案中,能够对1纳秒级至0.1纳秒级的窄脉冲进行有效检测的只有两种方案,方案1中,采用FPGA中的进位链进行采集检测,此方案很复杂,对于FPGA内部资源需要有很深的了解,而且存在代码编译结果会影响检测的效果,检测效果不够稳定;方案2中,采用专用TDC芯片做检测,此芯片为高精度的测时间测量芯片,需要外部控制器进行控制,由于检测功能和业务功能分开无法进行一些正常业务。对于上述两种方案都存在技术缺陷,方案1过于复杂,而且检测稳定性很难得到保证;方案2的检测功能和业务功能分开在两个芯片,导致有些高。
发明内容
鉴于上述问题,本发明提出了一种基于故障注入的窄脉冲检测方法、系统、介质及设备,通过FPGA芯片中已有的Serdes建立硬件回环路径,进而对窄脉冲实现简单且准确的窄脉冲监测。
根据本发明实施例第一方面,提供一种基于故障注入的窄脉冲检测方法。
在一个或多个实施例中,优选地,所述一种基于故障注入的窄脉冲检测方法包括:
建立待检测窄脉冲的硬件回环路径;
在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送;
将待检测的窄脉冲信号接入所述硬件回环路径;
在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度;
根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA;
在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度。
在一个或多个实施例中,优选地,所述建立待检测窄脉冲的硬件回环路径,具体包括:
所述硬件回环路径包括Serdes的接收端、Serdes发送端,FPGA芯片内的发送数据区、FPGA芯片内的接收数据区、待检测窄脉冲输入。
在一个或多个实施例中,优选地,所述在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送,具体包括:
在FPGA中产生全0数据;
将所述全0数据放置在所述Serdes发送端;
设置所述Serdes发送端的发送频率,并按照所述发送频率发送所述全0数据。
在一个或多个实施例中,优选地,所述将待检测的窄脉冲信号接入所述硬件回环路径,具体包括:
获得待检测的窄脉冲信号,接入到所述硬件回环路径中所述Serdes的接收端和所述Serdes发送端之间,自动发送窄脉冲信号,使所述窄脉冲数据作为误码干扰注入到硬件回环路径中。
在一个或多个实施例中,优选地,所述在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度,具体包括:
在FPGA芯片内的接收数据区中读取收到的非0数据;
根据所述非0数据的编号,作为检测电平周期;
根据所述非0数据的时间长短,作为脉冲宽度。
在一个或多个实施例中,优选地,所述根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA,具体包括:
在所述FPGA芯片内的接收数据区中读取非零数据,保存第t次采样过程中所述检测区内非零数据的总量;
设置窄脉冲检测流量上限,并根据所述全0数据的单位时间内的发送流量,判断是否满足第一计算公式,若满足则发出第一分担命令,若不满足则不做处理;
根据所述第t次采样过程中所述检测区内非零数据的总量利用第二计算公式计算未丢弃缓存数据总量;
利用第三计算公式计算资源占用比例;
判断所述资源占用比例是否满足第四计算公式,若满足则发出第二分担命令,若不满足则不做处理;
当收到所述第一分担命令或所述第二分担命令后,则FPGA发出分片运算命令给备用FPGA;
所述第一计算公式为:
F 其中,F 所述第二计算公式为:
其中,S 所述第三计算公式为: S 其中,S 所述第四计算公式为: S 其中,Y为所述分片裕度。 在一个或多个实施例中,优选地,所述在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度,具体包括: 在所述备用FPGA收到所述分片运算命令后,则在备用FPGA中自动获得待检测的窄脉冲信号,并加入备用FPGA的硬件回环路径; 通过在所述备用FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度; 其中,所述备用FPGA的硬件回环路径包括备用FPGA的Serdes的接收端、备用FPGA的Serdes发送端,备用FPGA内的发送数据区、备用FPGA内的接收数据区、待检测窄脉冲输入。 根据本发明实施例第二方面,提供一种基于故障注入的窄脉冲检测系统。 在一个或多个实施例中,优选地,所述一种基于故障注入的窄脉冲检测系统包括: 回环建立模块,用于建立待检测窄脉冲的硬件回环路径; 全零输入模块,用于在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送; 误码注入模块,用于将待检测的窄脉冲信号接入所述硬件回环路径; 带宽输出模块,用于在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度; 资源检测模块,用于根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA; 分片控制模块,用于在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度。 根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。 根据本发明实施例第四方面,提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现本发明实施例第一方面中任一项所述的方法。 本发明的实施例提供的技术方案可以包括以下有益效果: 本发明方案中,通过在FPGA芯片中已有的Serdes,建立硬件回环路径,将窄脉冲数据与FPGA芯片中的Serdes的传输脉冲相结合,进行快速的准确的检测,且检测结果能够用于正常业务单元。 本发明方案中,在FPGA芯片内进行收发数据时,额外进行存储空间的检测,当出现缓存与运算能力达到上限时,自动暂停窄脉冲监测,进一步提升监测精度。 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 附图说明 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图1是本发明一个实施例的一种基于故障注入的窄脉冲检测方法的流程图。 图2是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的建立待检测窄脉冲的硬件回环路径的示意图。 图3是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送的流程图。 图4是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的将待检测的窄脉冲信号接入所述硬件回环路径的流程图。 图5是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度的流程图。 图6是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA的流程图。 图7是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度的流程图。 图8是本发明一个实施例的一种基于故障注入的窄脉冲检测系统的结构图。 图9是本发明一个实施例中一种电子设备的结构图。 具体实施方式 在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 在雷达探测、激光探测、精准导航等领域,提升窄脉冲的探测分辨率能够大大提升整机的探测能力。对于微秒级的脉冲,可以通过单片机进行采数检测;对于10纳秒级的脉冲,一般需要使用FPGA进行IO端口高速采样检测,为了满足稳定采样,需要提供最少两倍的采样时钟,即大于200MHz的时钟;对于1纳秒级至0.1纳秒级别的窄脉冲,如果还使用FPGA进行IO高速采样检测,则需要2GHz的采样时钟,此时钟速率已经超出了一般FPGA的采样范围。 现有方案中,能够对1纳秒级至0.1纳秒级的窄脉冲进行有效检测的只有两种方案,方案1中,采用FPGA中的进位链进行采集检测,此方案很复杂,对于FPGA内部资源需要有很深的了解,而且存在代码编译结果会影响检测的效果,检测效果不够稳定;方案2中,采用专用TDC芯片做检测,此芯片为高精度的测时间测量芯片,需要外部控制器进行控制,由于检测功能和业务功能分开无法进行一些正常业务。对于上述两种方案都存在技术缺陷,方案1过于复杂,而且检测稳定性很难得到保证;方案2的检测功能和业务功能分开在两个芯片,导致有些高。 本发明实施例中,提供了一种基于故障注入的窄脉冲检测方法、系统、介质及设备。该方案通过FPGA芯片中已有的Serdes建立硬件回环路径,进而对窄脉冲实现简单且准确的窄脉冲监测。 根据本发明实施例第一方面,提供一种基于故障注入的窄脉冲检测方法。 图1是本发明一个实施例的一种基于故障注入的窄脉冲检测方法的流程图。 在一个或多个实施例中,优选地,所述一种基于故障注入的窄脉冲检测方法包括: S101、建立待检测窄脉冲的硬件回环路径; S102、在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送; S103、将待检测的窄脉冲信号接入所述硬件回环路径; S104、在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度; S105、根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA; S106、在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度。 在本发明实施例中,利用FPGA自带的硬件高速Serdes资源,单板硬件设计上连接用于窄脉冲检测的serdes的发送和接收端口,完成待检测serdes的硬件环回,这样serdes收发端在正常传输时,可以完全达到无误码传输。同时在单板硬件设计上把待检测的窄脉冲信号连接到硬件回环路径上,作为误码干扰注入到环回路径,如果没有窄脉冲信号,则FPGA通过serdes环回依然正常传输没有误码,但是窄脉冲端口如果出现待检测的高脉冲电平,则此高电平会影响serdes环回路径的电平,从而影响接收端的信号电平,影。 图2是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的建立待检测窄脉冲的硬件回环路径的示意图。 如图2所示,在一个或多个实施例中,优选地,所述建立待检测窄脉冲的硬件回环路径,具体包括: 所述硬件回环路径包括Serdes的接收端、Serdes发送端,FPGA芯片内的发送数据区、FPGA芯片内的接收数据区、待检测窄脉冲输入。 其中,Serdes是串行器的简称,是一种分时多路复用、点对点的串行通信技术,在发出端多路低速并行信号转化成高速串行信号,经过传输媒体最终在接收端的高速穿心信号转化为低速的并行信号。针对一般的FPGA器件,内部的硬件serdes速率都可以达到10Gbps以上,由此能够检测的0.1ns级别的窄脉冲。在硬件电路匹配设计良好的情况下,由于使用fpga的纯硬件资源,与逻辑版本编译关系不大,所以此方案检测结果稳定可靠,精度较高。此方案的检测结果输出直接可以在FPGA内部输出给用户逻辑单元,从而保证的检测和正常业务的同步无偏差。 图3是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送的流程图。 如图3所示,在一个或多个实施例中,优选地,所述在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送,具体包括: S301、在FPGA中产生全0数据; S302、将所述全0数据放置在所述Serdes发送端; S303、设置所述Serdes发送端的发送频率,并按照所述发送频率发送所述全0数据。 在本发明实施例中,明确了如何进行数据发送,进而在不增加设备情况下的高频窄脉冲数据的测量。 图4是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的将待检测的窄脉冲信号接入所述硬件回环路径的流程图。 如图4所示,在一个或多个实施例中,优选地,所述将待检测的窄脉冲信号接入所述硬件回环路径,具体包括: S401、获得待检测的窄脉冲信号,接入到所述硬件回环路径中所述Serdes的接收端和所述Serdes发送端之间; S402、自动发送窄脉冲信号,使所述窄脉冲数据作为误码干扰注入到硬件回环路径中。 在本发明实施例中,在运行过程中将会使得窄脉冲信号作为误码信号注入到,这种情况下可以有效的使得出现高电平时,在serdes环回路径中产生高电平。 图5是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度的流程图。 如图5所示,在一个或多个实施例中,优选地,所述在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度,具体包括: S501、在FPGA芯片内的接收数据区中读取收到的非0数据; S502、根据所述非0数据的编号,作为检测电平周期; S503、根据所述非0数据的时间长短,作为脉冲宽度。 在本发明实施例中,根据FPGA芯片的数据接收器进行非0数据的提取,并以此为基础生成检测电平周期和脉冲宽度。 图6是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA的流程图。 如图6所示,在一个或多个实施例中,优选地,所述根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA,具体包括: S601、在所述FPGA芯片内的接收数据区中读取非零数据,保存第t次采样过程中所述检测区内非零数据的总量; S602、设置窄脉冲检测流量上限,并根据所述全0数据的单位时间内的发送流量,判断是否满足第一计算公式,若满足则发出第一分担命令,若不满足则不做处理; S603、根据所述第t次采样过程中所述检测区内非零数据的总量利用第二计算公式计算未丢弃缓存数据总量; S604、利用第三计算公式计算资源占用比例; S605、判断所述资源占用比例是否满足第四计算公式,若满足则发出第二分担命令,若不满足则不做处理; S606、当收到所述第一分担命令或所述第二分担命令后,则FPGA发出分片运算命令给备用FPGA; 所述第一计算公式为: F 其中,F 所述第二计算公式为:
其中,S 所述第三计算公式为: S 其中,S 所述第四计算公式为: S 其中,Y为所述分片裕度。 在本发明实施例中,为了能够在FPGA芯片内进行收发数据时,额外进行存储空间的检测,当出现缓存与运算能力达到上限时,自动暂停窄脉冲监测,进一步提升监测精度,通过第一计算公式、第二计算公式、第三计算公式、第四计算公式进行顺序的运算,确认是否开始分片运算,若未达到分片裕度时,则不开始分片运算。 图7是本发明一个实施例的一种基于故障注入的窄脉冲检测方法中的在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度的流程图。 如图7所示,在一个或多个实施例中,优选地,所述在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度,具体包括: S701、在所述备用FPGA收到所述分片运算命令后,则在备用FPGA中自动获得待检测的窄脉冲信号,并加入备用FPGA的硬件回环路径; S702、通过在所述备用FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度; 其中,所述备用FPGA的硬件回环路径包括备用FPGA的Serdes的接收端、备用FPGA的Serdes发送端,备用FPGA内的发送数据区、备用FPGA内的接收数据区、待检测窄脉冲输入。 在本发明实施例中,在接收到分片运算命令后,仅有备用FPGA进行运算,发出分片运算命令的FPGA则先进行数据处理,等不在发送所述分片运算命令时,才停止备用FPGA的运算,又最初使用的FPGA运算。 根据本发明实施例第二方面,提供一种基于故障注入的窄脉冲检测系统。 图8是本发明一个实施例的一种基于故障注入的窄脉冲检测系统的结构图。 在一个或多个实施例中,优选地,所述一种基于故障注入的窄脉冲检测系统包括: 回环建立模块801,用于建立待检测窄脉冲的硬件回环路径; 全零输入模块802,用于在FPGA中产生全0数据,并将全0数据在所述硬件回环路径中发送; 误码注入模块803,用于将待检测的窄脉冲信号接入所述硬件回环路径; 带宽输出模块804,用于在FPGA中读取收到的非0数据,并根据误码检测的位置和误码持续的长短判断检测电平的周期和脉冲宽度; 资源检测模块805,用于根据非0数据和全0数据的生成速度,判断FPGA的是否发出分片运算命令给备用FPGA; 分片控制模块806,用于在所述备用FPGA中收到所述分片运算命令后,运算检测电平的周期和脉冲宽度。 在本发明实施例中,通过模块化设计,实现对于窄脉冲信号的高速和稳定的采集。 根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。 根据本发明实施例第四方面,提供一种电子设备。图9是本发明一个实施例中一种电子设备的结构图。图9所示的电子设备为通用基于故障注入的窄脉冲检测装置,其包括通用的计算机硬件结构,其至少包括处理器901和存储器902。处理器901和存储器902通过总线903连接。存储器902适于存储处理器901可执行的指令或程序。处理器901可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器901通过执行存储器902所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线903将上述多个组件连接在一起,同时将上述组件连接到显示控制器904和显示装置以及输入/输出(I/O)装置905。输入/输出(I/O)装置905可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置905通过输入/输出(I/O)控制器906与系统相连。 本发明的实施例提供的技术方案可以包括以下有益效果: 本发明方案中,通过在FPGA芯片中已有的Serdes,建立硬件回环路径,将窄脉冲数据与FPGA芯片中的Serdes的传输脉冲相结合,进行快速的准确的检测,且检测结果能够用于正常业务单元。 本发明方案中,在FPGA芯片内进行收发数据时,额外进行存储空间的检测,当出现缓存与运算能力达到上限时,自动暂停窄脉冲监测,进一步提升监测精度。 此外,此方法对于窄脉冲的检测完全使用FPGA硬件资源,与FPGA可编译版本关系不大,所以此方案检测结果稳定可靠,精度较高;此方案的检测结果可以在FPGA内部直接输出给用户逻辑单元,从而保证的检测结果能够同步应用于正常业务单元。 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
- 一种基于故障注入的窄脉冲检测方法、系统、介质及设备
- 驱动窄脉冲的抑制方法、装置、设备和存储介质