本发明属于电能质量分析领域,具体涉及一种基于fpga实现电压瞬变信号检测电路及方法。
背景技术:
最近几年,由于电压瞬变、冲击性、不对称性和非线性负荷的不断增加,造成对电网的污染越来越严重,各种精密仪器设备对电网的质量有着严格的要求,由于电能质量问题,而导致的仪器设备损坏也是频频发生。因此,目前电能质量问题也越来越受到人们的关注。
电压瞬变又称为瞬时脉冲或突波,是指两个连续的稳态之间的电压值发生快速的变化,其持续时间很短,可持续数毫秒或更短,电压瞬变幅值可以达到几千伏。电压瞬变根据电压波形的不同可以分为两类:一是电压瞬时脉冲,是指叠加在稳态电压上的任意单方向变动的电压非工频分量;二是电压瞬时振荡,是指叠加在稳态电压的同时包括两个方向变动的电压非工频分量,呈现衰减振荡特性。电压瞬变产生的原因主要有雷击、静态放电、瞬间加入大型感性或者容性负载等情况。为了改善或抑制电压瞬变信号的产生,目前主要有增加隔离变压器或者滤波器、加浪涌放电器和压敏电阻等措施。
电压瞬变信号的特征和判断依据主要有两点:波形快速变化和超过设定的阈值。常规的电压瞬变信号检测,是通过a/d转换器完成电压输入信号的数据采集与存储,cpu系统直接读取原始a/d采集数据,电压瞬变信号检测算法都在软件中实现。在电能质量分析仪中,软件工作量较大,需要完成电压异常、电压闪变、三相不平衡度、谐波分析等工作,如果电压瞬变信号检测也放在软件中实现,将会大大增加cpu系统负担,存在检测速度慢、容易出现电压瞬变漏检测等现象。
技术实现要素:
针对现有技术中存在的上述技术问题,本发明提出了一种基于fpga实现电压瞬变信号检测电路及方法,设计合理,克服了现有技术的不足,具有良好的效果。
为了实现上述目的,本发明采用如下技术方案:
一种基于fpga实现电压瞬变信号检测电路,包括3个电压输入信号通道、频率测量电路、fpga和cpu系统;
每个电压输入信号通道又包括两个通路;
第一个通路,主要由第一信号处理电路和普通a/d转换器组成,第一信号处理电路和普通a/d转换器通过线路连接,被配置为用于进行电压慢瞬变信号的采集;
第一信号处理电路,被配置为用于对电压输入信号,进行处理;
普通a/d转换器,被配置为用于对电压输入信号,进行数据采集与存储,同时,实现电压慢瞬变信号的检测;其设置有两段存储器;
第二个通路,主要由第二信号处理电路和高速a/d转换器组成,第二信号处理电路和高速a/d转换器通过线路连接,被配置为用于进行电压快瞬变信号的采集;
第二信号处理电路,被配置为用于对电压输入信号,进行处理;
高速a/d转换器,被配置为用于对电压输入信号,进行数据采集与存储,同时,实现电压快瞬变信号的检测;其设置有另外两段不同的存储器;
频率测量电路,主要由通道切换电路和高速比较器组成;
通道切换电路,被配置为用于根据fpga设置的切换时钟,将3路电压输入信号轮流送入高速比较器;
高速比较器,被配置为用于将经过通道切换电路后的信号转换成数字信号,送入fpga;
fpga,被配置为用于同时进行电压慢瞬变信号和电压快瞬变信号检测;
cpu系统,被配置为用于读取fpga检测的数据;
3路电压输入信号分别经过3个电压输入信号通道后,输出至频率测量电路,通过通道切换电路和高速比较器处理后,输出至fpga,fpga根据其切换时钟频率,控制通道切换电路,通道切换电路根据fpga设置的切换时钟频率,将3路电压输入信号轮流送入高速比较器,由高速比较器转换成数字信号后,送入fpga,即在fpga中实现3路电压输入信号频率测量功能,cpu系统接收到频率测量值后,进行实时显示和更新。
此外,本发明还提到一种基于fpga实现电压瞬变信号检测方法,该方法采用如上所述的一种基于fpga实现电压瞬变信号检测电路,具体包括如下步骤:
步骤1:执行初始化工作,包括普通a/d转换器初始化、高速a/d转换器初始化、采集状态位清零和瞬变寄存器复位;
步骤2:等待cpu系统给fpga发送测试使能信号,判断测试使能信号是否有效;
若:判断结果是测试使能信号有效,则开始测试,往下执行;
或判断结果是测试使能信号无效,则一直等待,直至测试使能信号有效;
步骤3:执行频率测量功能;
通道切换电路根据fpga设置的切换时钟频率,将3路电压输入信号轮流送入高速比较器,经高速比较器转换成数字时钟信号后,送入fpga,在fpga中完成3路电压输入信号的频率测量功能;
步骤4:根据测量频率值以及瞬变检测宽度,分别确定普通a/d转换器和高速a/d转换器的采样频率;
步骤5:同时、持续执行普通a/d转换器和高速a/d转换器的数据采集与存储工作;
步骤6:通过普通a/d转换器采集的数据,执行电压慢瞬变信号检测工作;通过高速a/d转换器采集的数据,执行电压快瞬变信号检测工作;
步骤7:根据普通a/d转换器的数据采集过程,判断当前采样周期是否结束;
若:判断结果是当前采样周期没有结束,则继续进行数据采集与存储;
或判断结果是当前采样周期结束,则fpga产生中断信号,送入到cpu系统中,通知cpu系统读取相应数据,开始下一次采样周期;同时,重新判断测试使能信号是否有效;
若:判断结果是测试使能信号无效,则停止测试,一直等待,直至下一次测试使能有效;或判断结果是测试使能信号依然有效,则重复步骤3~步骤7,开始下一个采样周期。
优选地,在步骤6中,具体包括如下步骤:
步骤6.1:检测瞬变开始信号,即检测到测试使能信号有效后,开始瞬变检测;
步骤6.2:设置瞬变阈值,分别设置电压慢瞬变阈值和电压快瞬变阈值;
步骤6.3:根据普通a/d转换器和高速a/d转换器采集与存储的数据,判断是否发生电压慢瞬变或电压快瞬变;
若:判断结果是发生了电压慢瞬变或电压快瞬变,则记录包括瞬变起跳点、位置、相和类型在内的信息;
发生瞬变的位置,对于电压慢瞬变信号,发生慢瞬变起跳点对应的采集点位置,范围为0~255;对于电压快瞬变信号,发生快瞬变起跳点对应的采集点位置,范围为0~3999;发生瞬变的相,对应于3路输入信号;发生瞬变的类型,对应于电压正向瞬变和电压负向瞬变;
或判断结果是没有发生电压慢瞬变或电压快瞬变,则持续进行数据采集与存储,同时检测瞬变开始信号;
步骤6.4:设置瞬变观察周期,32个采集点,在瞬变观察周期内,记录瞬变最大值和最小值;
由于瞬变观察周期设置为32个采集点,对于慢瞬变信号,1个采样周期采集256点,同相最大只能检测到8个电压瞬变信号;对于快瞬变信号,1个采样周期采集4000点,同相最大只能检测到125个电压瞬变信号;
步骤6.5:判断瞬变观察周期是否结束;
若:判断结果是瞬变观察周期没有结束,则一直检测;
或判断结果是瞬变观察周期结束,则分别保存电压慢瞬变数据和电压快瞬变数据。
优选地,在步骤7中,当检测到普通a/d转换器对应的采样周期结束信号时,无论高速a/d转换器采样周期是否完成,都向cpu系统发送中断信号,并开始下一个采样周期,利用普通a/d转换器的采集周期结束信号去同步高速a/d转换器。
本发明的原理是:
具有3路电压输入信号,这3路输入信号经过信号处理电路后,送入到频率测量电路,频率测量电路由通道切换和高速比较器组成,转换成数字信号后送入fpga中,可完成3路输入信号的频率测量功能。根据测量频率值,再加上瞬变检测宽度,就可以确定a/d转换器的采样频率。
由于测量对象为电网信号,一般为dc、50hz或60hz,根据频率测量值,可将频率模式分为dc模式、50hz模式和60hz模式3种。为了进一步简化频率模式,将dc模式和50hz模式合二为一,因此被测信号只需考虑50hz和60hz这两种频率模式。在这两种频率模式下,a/d转换器的采样频率不同。
对于电压慢瞬变信号检测,如果待测信号是50hz,1个周期就20ms,普通a/d转换器1个周期采集256个点,因此慢瞬变检测宽度是20ms/256=78.125us,得到普通a/d转换器的采样频率为12.8khz。而如果待测信号是60hz,1个周期约16.7ms,1个周期同样采集256个点,因此慢瞬变检测宽度是16.7ms/256=65us,因此采样频率为15.4khz。
对于电压快瞬变信号检测,如果待测信号是50hz,1个周期就20ms,高速a/d转换器1个周期采集4000个点,因此快瞬变检测宽度是20ms/4000=5us,得到高速a/d转换器的采样频率为200khz。而如果待测信号是60hz,1个周期约16.7ms,1个周期同样采集4000个点,因此快瞬变检测宽度是16.7ms/4000=4.2us,因此采样频率为238khz。
每个电压输入信号都包括2个通路,第1条通路由信号处理电路和普通a/d转换器组成,用于电压慢瞬变信号采集,第2条通路由信号处理电路和高速a/d转换器组成,用于电压快瞬变信号采集。2个通路都输出到fpga中,同时进行电压慢瞬变信号和电压快瞬变信号检测。具有3路电压输入信号,每个输入信号包括2个通路,共有6路信号输入到fpga中,同时进行电压瞬变信号检测。
本发明所带来的有益技术效果:
与现有技术相比,本发明具有频率测量功能,可动态改变a/d转换器采样频率,以确保电压瞬变信号检测宽度;持续进行数据采集与存储,以保证不会出现采集数据丢失或电压瞬变信号漏检测现象;可同时检测电压慢瞬变信号和电压快瞬变信号,互不影响;电压瞬变信号检测算法全部在fpga中实现,速度快、可移植性高;在检测到电压瞬变信号发生后,设置瞬变观察周期,在瞬变观察周期内,实现测量瞬变起跳点、位置、相、类型、最大值、最小值等信息。
附图说明
图1是基于fpga实现电压瞬变信号检测电路的原理图。
图2是基于fpga实现电压瞬变信号检测方法的流程图。
图3是持续数据采集与存储示意图。
图4是电压瞬变信号检测示意图。
图5是电压瞬变信号起跳点检测流程图。
图6是电压瞬变信号检测方法流程图。
图7是电压瞬变信号跨越采样周期示意图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
实施例1:
如图1所示,一种基于fpga实现电压瞬变信号检测电路,具有3路电压输入信号,这3路电压输入信号经过信号处理电路后,送入到频率测量电路,频率测量电路由通道切换电路和高速比较器组成,通道切换电路根据fpga设置的切换时钟,将3路输入信号按切换时钟轮流送入高速比较器,由高速比较器转换成数字信号后,送入fpga中,就可完成3路输入信号的频率测量功能。
具有3路电压输入信号,每个输入信号都包括2个通路,第1个通路由信号处理电路和普通a/d转换器组成,用于电压慢瞬变信号采集,第2个通路由信号处理电路和高速a/d转换器组成,用于电压快瞬变信号采集,2个通路都输出到fpga中,同时进行电压慢瞬变信号和电压快瞬变信号检测。
根据测量频率值,再加上瞬变检测宽度,就可以分别确定普通a/d转换器和高速a/d转换器的采样频率。
实施例2:
在上述实施例1的基础上,本发明还提供一种基于fpga实现电压瞬变信号检测的方法,其流程如图2所示,具体步骤如下:
步骤1:执行初始化工作,包括普通a/d转换器初始化、高速a/d转换器初始化、采集状态位清零和瞬变寄存器复位;
步骤2:等待cpu系统发给fpga的测试使能信号,若测试使能信号有效,则开始测试,往下执行,否则一直等待,直至测试使能信号有效;
步骤3:执行频率测量功能;通道切换电路根据fpga设置的切换时钟,将3路电压输入信号按切换时钟轮流送入高速比较器中,转换成数字时钟信号后,在fpga中完成3路电压输入信号的频率测量功能;
步骤4:根据测量频率值以及瞬变检测宽度,分别确定普通a/d转换器和高速a/d转换器的采样频率;
步骤5:同时、持续执行普通a/d转换器和高速a/d转换器的数据采集与存储工作;
步骤6:通过普通a/d转换器采集的数据,执行电压慢瞬变信号检测工作;通过高速a/d转换器采集的数据,执行电压快瞬变信号检测工作;
步骤7:根据普通a/d转换器的数据采集过程,判断当前采样周期是否结束;
若:判断结果是当前采样周期没有结束,则继续进行数据采集与存储;
或判断结果是当前采样周期结束,则fpga产生中断信号,送入到cpu系统中,通知cpu系统读取相应数据;同时,重新判断测试使能信号是否有效;
若:判断结果是测试使能信号无效,则停止测试,一直等待,直至下一次测试使能有效;或判断结果是测试使能信号依然有效,则重复步骤3~步骤7,开始下一个采样周期。
图3为持续数据采集与存储示意图,为了保证持续数据采集与存储,不会出现采集数据丢失或电压瞬变信号漏检测现象,普通a/d转换器数据采集与存储,设置2段存储器;高速a/d转换器数据采集与存储,设置另外2段不同的存储器。
以普通a/d转换器数据采集与存储为例,设置2段存储器,分别为存储器1和存储器2。在检测到测试使能信号有效后,使能普通a/d转换器,开始数据采集与存储工作,首先将采集数据存储于存储器1中,当检测到第1个采样周期结束信号后,fpga向cpu系统产生中断信号,接下来将采集数据存储于存储器2中,并在这段时间内,cpu系统读取存储器1中的数据,由于被测信号为50hz或60hz信号,1个采样周期为20ms或16.7ms,这段时间足够cpu系统读取存储器中的数据并进行相应的数据处理和计算。当检测到第2个采样周期结束信号后,fpga再次向cpu系统产生中断信号,接下来将采集数据再次存储于存储器1中,并在这段时间内,cpu系统读取存储器2中的数据。依次往复,这样就可以实现持续数据采集与存储,保证不会出现采集数据丢失或电压瞬变信号漏检测现象。
高速a/d转换器数据采集与存储方式与普通a/d转换器数据采集与存储方式完全相同,并且在检测到测试使能信号有效后,高速a/d转换器数据采集与存储和普通a/d转换器数据采集与存储是同时执行的。
图4为电压瞬变信号检测示意图。电压瞬变信号检测寄存器,设置为2段寄存器,分别为寄存器1和寄存器2。在检测到测试使能信号有效后,普通a/d转换器和高速a/d转换器同时进行数据采集与存储,并同步进行电压瞬变信号检测。在当前这个采样周期中,采集数据存储于存储器1中时,若检测到电压瞬变信号,包括电压慢瞬变信号和电压快瞬变信号,将电压瞬变信号的相关信息存储于瞬变寄存器1中,在这个采样周期时间内,cpu系统读取上一个采样周期中瞬变寄存器2的数据。当检测到当前采样周期结束信号后,fpga向cpu系统产生中断信号,接下来将发生的电压瞬变信号的相关信息存储于瞬变寄存器2中,并在这段时间内,cpu系统读取瞬变寄存器1中的数据。依次往复,这样就可以实现持续进行电压瞬变信号检测,保证不会出现电压瞬变信号漏检测现象。
图5为电压瞬变信号起跳点检测流程图,具体步骤如下:
步骤1:设置电压瞬变阈值limit_value。电压慢瞬变信号和电压快瞬变信号由于在硬件电路中,信号处理电路不同,对输入信号减小倍数也不同,因此电压慢瞬变信号和电压快瞬变信号对应的瞬变阈值也不同;
步骤2:执行a/d转换器数据采集与存储工作,a/d转换器的采集数据为intval_value,并设置中间数据data1和data2;
步骤3:将第1个a/d转换数据intval_value分别赋给中间数据data1和data2;
步骤4:将第2个a/d转换数据intval_value赋给data2,同时将中间数据data2赋给data1;
步骤5:判断是否发生电压瞬变,判断条件有2个,第1个判断条件为:data2-data1>limit_value是否成立,若成立,则发生电压正向瞬变,记录瞬变起跳点data2;第2个判断条件为:data1-data2>limit_value是否成立,若成立,则发生电压负向瞬变,记录瞬变起跳点data2;若2个判断条件都不成立,则没有发生电压瞬变信号,重复步骤4~步骤5;
图6为电压瞬变信号检测方法流程图,同时进行电压慢瞬变信号检测和电压快瞬变信号检测,具体步骤如下:
步骤1:检测瞬变开始信号,即检测到测试使能信号有效后,开始瞬变检测;
步骤2:设置瞬变阈值,分别设置电压慢瞬变阈值和电压快瞬变阈值;
步骤3:分别记录普通a/d转换器采集到的数据和高速a/d转换器采集到的数据;
步骤4:判断是否发生电压慢瞬变或电压快瞬变,一旦检测到电压瞬变信号发生后,则记录瞬变起跳点、位置、相、类型等信息;
发生瞬变的位置,对于电压慢瞬变信号,发生慢瞬变起跳点对应的采集点位置,范围为0~255;对于电压快瞬变信号,发生快瞬变起跳点对应的采集点位置,范围为0~3999;发生瞬变的相,对应于输入信号1、输入信号2和输入信号3;发生瞬变的类型,对应于电压正向瞬变和电压负向瞬变;
步骤5:设置瞬变观察周期,为32个采集点,在瞬变观察周期内,记录瞬变最大值和最小值。
由于瞬变观察周期设置为32个采集点,对于慢瞬变信号,1个采样周期采集256点,同相最大只能检测到8个电压瞬变信号;对于快瞬变信号,1个采样周期采集4000点,同相最大只能检测到125个电压瞬变信号。
步骤6:判断瞬变观察周期是否结束;
若:判断结果是瞬变观察周期没有结束,则一直检测;
或判断结果是瞬变观察周期结束,则分别保存电压慢瞬变数据和电压快瞬变数据。
图7为电压瞬变信号跨越采样周期示意图,由于电压瞬变需要设置瞬变观察周期,为32个采集点,电压瞬变开始和结束有可能在1个采样周期内,也有可能跨越2个采样周期。
为了解决电压瞬变信号跨越2个采样周期的情况,在fpga中设置电压瞬变状态位,当瞬变开始和结束位于同一段存储器中,电压瞬变状态位设为‘0’,代表该次电压瞬变信号在1个采样周期内;当瞬变开始和结束位于不同段存储器中,电压瞬变状态位设为‘1’,代表该次电压瞬变信号跨越2个采样周期。
该次电压瞬变起跳点对应采样周期中的位置,再配合电压瞬变状态位,就可以确定发生该次电压瞬变信号的准确位置。
本发明一种基于fpga实现电压瞬变信号检测电路及方法,将3路电压输入信号通过通道切换和高速比较器处理后,送入fpga,实现输入信号频率测量,从而确定a/d转换器的采样频率;可动态改变a/d转换器采样频率,以确保电压瞬变信号检测宽度;持续进行数据采集与存储,以保证不会出现采集数据丢失或电压瞬变信号漏检测现象;可同时检测电压慢瞬变信号和电压快瞬变信号,互不影响;电压瞬变信号检测算法全部在fpga中实现,速度快、可移植性高;在检测到电压瞬变信号发生后,设置瞬变观察周期,在瞬变观察周期内,实现测量瞬变起跳点、位置、相、类型、最大值、最小值等信息。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。