一种基于硬件的暂态电压记录方法
技术领域
本发明涉及一种电力***领域的暂态电压记录方法,具体讲涉及一种基于硬件的暂态电压记录方法。
背景技术
电网在运行中可能会发生各种故障,有的会导致供电中断并致设备损毁。电网故障的过程往往伴随着***电压的扰动。雷击、操作过电压、工频过电压、污闪、设备故障等,都可以造成电网电压扰动,乃至电网事故。记录电网事故前电网电压的扰动情况,对于事故反演和分析具有重要价值。要完整记录电网电压扰动,既要求有高的采样速率,以满足记录雷电波形等的需要;又要求长的记忆时间,以满足记录持续时间较长的事故过程。当采用较高的采样率时,为了节省存储空间,通常会采用一些压缩算法。在以往的暂态电压记录中,通常采用DSP直接读取高速A/D的数据并作实时压缩、存储以及触发判断等,CPU处于连续取数、压缩、处理的过程中,占用CPU大量时间,导致CPU没有时间去做其它工作,从而不得不降低采样率。随着现场可编程门阵列FPGA的迅速发展,采用FPGA实现数据压缩、处理成为一种新的手段。由于FPGA内部有一定数量的触发器、比较器、较大容量的存储器,为实现数据采集、压缩、判断提供了可能。在电力***暂态电压记录中,通常要求有电压突变触发、上限触发、下限触发等触发方式,另外还有谐波测量的要求。
发明内容
本发明的目的是提供一种高采样率、快速采集电压波形的暂态电压记录方法。
为实现本发明的目的,本发明采用下述方案予以实现:
一种基于硬件的暂态电压记录方法,其改进之处在于:所述方法在一个采样时钟周期内同时完成数据的实时压缩、峰值计算、触发判断和低速率采集;所述数据的实时压缩、峰值计算、触发判断和低速率采集在FPGA中实现;所述实时压缩是对采集到的波形数据A与D触发器1中的基值B在比较器1中进行实时比较,压缩后的数据存入先进先出存储器FIFO;所述峰值计算是将所述波形数据A与采集到的最大值Max、最小值Min进行比较;所述上限、下限触发判断是将所述波形数据A与给定触发上限值和下限值分别在比较器5和比较器6中进行比较,大于上限值或小于下限值时输出有效的触发信号;所述低速率采集是对采集到的所述波形数据A进行抽点压缩后存入先进先出存储器FIFO2;所述FPGA外接模数转换器A/D。
本发明提供的一种优选的技术方案是:所述数据的实时压缩在FPGA中的实时压缩模块中进行;所述实时压缩模块包括D触发器1、计数器1、比较器1、时序控制电路和先进先出存储器FIFO;所述实时压缩对采集到的波形数据A与D触发器1中的基值B在比较器1中进行实时比较时包括下述情况:
A、所述波形数据A与所述基值B相比小于压缩比delta时,所述D触发器1关闭,所述波形数据A被丢弃,所述计数器1加1,所述FIFO的写使能信号无效,没有数据写入所述的FIFO;
B、所述波形数据A与所述基值B相比大于压缩比delta时,所述FIFO的写使能信号有效,将所述基值B和计数器中的计数值保存至所述FIFO,所述计数器1清零,所述D触发器1打开,所述波形数据A替换基值B。
本发明提供的第二种优选的技术方案是:所述数据的峰值计算在FPGA中的峰值计算模块中进行;所述峰值计算模块包括D触发器2、D触发器3、比较器2、比较器3、比较器4和计数器2;所述峰值计算将所述波形数据A与采集到的最大值Max、最小值Min进行比较时包括下述情况:
a、当A>Max时,所述比较器2的输出为高电平,所述D触发器2打开,所述波形数据A替换最大值Max;
b、当A<Min时,所述比较器3的输出为高电平,所述D触发器3打开,所述波形数据A替换最小值Min;
c、每进行一次比较,所述计数器2加1,当所述计数器2的值D累加到给定的周期计数值D0,即D>=D0时,所述比较器4的输出为高电平。
本发明提供的第三种优选的技术方案是:所述数据的触发判断是在上限、下限触发判断模块中进行;所述上限、下限触发判断模块包括比较器5和比较器6;所述上限、下限触发判断包括下述情况:
(1)将所述波形数据A与给定触发上限值up_limit在所述比较器5中进行比较,当A>up_limit时满足上限触发条件,则up_valid有效输出低电平;
(2)将所述波形数据A与给定触发下限值down_limit在所述比较器5中进行比较,当A<down_limit时满足下限触发条件,则down_valid有效输出低电平。
本发明提供的第四种优选的技术方案是:所述数据的低速率采集在FPGA中的低速率采集模块中进行;所述低速率采集模块包括先进先出存储器FIFO2、计数器3和比较器7;所述低速率采集对采集到的所述波形数据A进行抽点压缩时包括下述情况:
①将所述计数器3的值C与分频数F在所述比较器7中进行比较,当C<F时,所述比较器7的输出为低电平,FIFO2的写使能信号无效,没有数据写入FIFO2;
②将所述计数器3的值C与分频数F在所述比较器7中进行比较,当C>F时,所述比较器7的输出为高电平,FIFO2的写使能信号无效,将所述波形数据A写入FIFO2。
本发明提供的第五种优选的技术方案是:所述模数转换器A/D在时钟信号的上升沿进行模数转换;所述实时压缩、峰值计算、触发判断和低速率采集在时钟信号的下降沿同时进行。
与现有技术相比,本发明达到的有益效果是:
本发明提供的一种基于硬件的暂态电压记录方法,采用可编程门阵列FPGA对波形进行实时压缩存储,提高了CPU工作效率,保障了高采样率,极大地节省了存储空间,满足了对各种快速、慢速变化的暂态过程的记录需求,在FPGA编程中采用了并行的运算方式,在大量数据运算的过程中显示出FPGA数据处理和运算的优越性,一个采样时钟周期内即可完成数据的采集、压缩、存储、峰值计算及触发判断。
附图说明
图1是基于FPGA的暂态电压记录***结构图;
图2是实时压缩模块的FPGA实现示意图;
图3是峰值计算模块的FPGA实现示意图;
图4是上限、下限触发判断模块的FPGA实现示意图;
图5是低速率采集模块的FPGA实现示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步的详细说明。
图1是基于FPGA的暂态电压记录***结构图,利用FPGA的并行处理能力,实时压缩、触发判断都在FPGA中实现,FPGA共包含如下模块:
(1)实时压缩模块;
(2)峰值计算模块;
(3)上限、下限触发判断模块;
(4)低速率采集模块。
图2是实时压缩模块的FPGA实现示意图,实时压缩模块包括D触发器1、计数器1、比较器1、时序控制逻辑器和先进先出存储器FIFO;在本发明中采用模数转换器A/D进行模数转换,模数转换器A/D的采样率较高,采集的数据量较大,节省存储空间,采用实时压缩方法来对数据进行压缩存储。
高速模数转换器A/D在时钟的上升沿进行模数转换,在时钟的下降沿,采集到的波形数据A与基值B进行实时比较,当波形数据A与基值B相比小于给定的压缩比delta时,控制变量agb=0,则压缩命令compress=0,D触发器1关闭,波形数据A被丢弃,计数器1加1,且FIFO的写使能信号write_enable无效,没有数据写入FIFO;当波形数据A与基值B相比大于delta时,控制变量agb=1,且FIFO的写使能信号write_enable有效,在下一个时钟信号的上升沿时,将基值B和计数器1的计数值保存至FIFO,同时compress=1,使计数器1清零,D触发器1打开,用波形数据A替换基值B。进行实时压缩后保存在FIFO中的数据只有压缩后的部分采样值和压缩点数。计数器1中Clr表示清零标志,D触发器1中的Enable表示使能信号。
在比较器1中写入的程序为:
If(|A-B|>delta)
agb=1;
Else
agb=0;
如果不使用FPGA,直接将模数转换器A/D与CPU相连,这样***工作时,A/D将不停地高速采样、CPU将处于连续地间隔取数的状态,这样会占用CPU的大部分时间,导致CPU不能从事其它的工作,也有可能会出现CPU还没有处理完上次的数据,又要处理下一批次的数据,这种矛盾在高速采样的情况下会尤其突出。采用FPGA来对数据进行压缩、缓存,大大提高CPU的工作效率;并且FIFO两端也可接异步时钟,从而很好地解决跨时钟域的数据传输。
在采用电压突变触发时,需要计算电压的正、负峰值,图3是峰值计算模块的FPGA实现示意图,峰值计算模块包括D触发器2、比较器2、D触发器3、比较器3和计数器2和比较器4;峰值计算模块的输入有模数转换器A/D采样的波形数据A和周期计数值D0。周期计数值D0=采样率*20/1000,即一个工频周期的采样时钟数。在时钟信号的下降沿,FPGA将采样的波形数据值A与该工频周期内已经采集到的最大值Max和最小值Min在峰值计算模块中作出比较:如果A>Max,则比较器2的输出Ea为高电平,在下一个时钟的上升沿D触发器2打开,用波形数据A代替最大值Max;如果A<Min,则比较器3的输出Eb为高电平,在下一个时钟的上升沿D触发器3打开,用波形数据A代替最小值Min,每进行一次比较,计数器2加1,当计数器2中的值D累加到给定的周期计数值D0,即D>=D0,在一个工频周期时,比较器4的输出Ec为高电平,使计数器2清零,则FPGA输出Valid有效,此时CPU可以读取正、负峰值。在下一个时钟信号的下降沿,开始下一周期的峰值计算。计数器2中的Clr表示清零标志,D触发器2和D触发器3中的Enable表示使能信号。
在比较器2中写入的程序为:
If(A>=Max)
Ea=1;
Else
Ea=0;
在比较器3中写入的程序为:
If(A<=Min)
Eb=1;
Else
Eb=0;
在比较器4中写入的程序为:
If(D>=D0)
Ec=1;
Else
Ec=0;
图4是上限、下限触发判断模块的FPGA实现示意图,上限、下限触发判断模块包括比较器5和比较器6;上限、下限触发判断模块在时钟信号的下降沿,由比较器5将采样的波形数据A与给定触发上限值up_limit进行比较,当A>up_limit时,满足上限触发条件,则up_valid有效输出低电平;由比较器6将采样的波形数据A与给定触发下限值down_limit进行比较,当A<down_limit时,满足下限触发条件,则down_valid有效输出低电平。比较过程由FPGA的上限、下限触发判断模块自动完成,CPU只需在接收到有效的触发信号up_limit和down_limit时将数据进行存储即可,提高了工作效率。
在比较器5中写入的程序是:
If(A>up_limit)
Up_valid=0;
Else
Up_valid=1;
在比较器6中写入的程序是:
If(A<down_limit)
Down_valid=0;
Else
Down_valid=1;
图5是低速率采集模块的FPGA实现示意图,低速率采集模块包括先进先出存储器FIFO2、计数器3和比较器7;分频数F=A/D采样速率/所需采样率,即在采样的波形数据A中,每F个数据抽取一个数据,无需另外增加模数转换器A/D。具体工作过程为:在时钟信号的下降沿,比较器7将计数器3的值C与分频数F进行比较,如果C<F,则比较器7的输出Ec为低电平,FIFO2的写使能信号Write_enable无效,没有数据写入FIFO2;当C>=F时,比较器7的输出Ec为高电平,FIFO2的写使能信号Write_enable有效,在下一个时钟信号的上升沿将波形数据A写入FIFO2。FIFO2中存储的就是从高采样率采集的数据中抽取出来低速率采样值,也可以称作是抽点压缩。
在比较器7中写入的程序是:
If(C<F)
Ec=0;
Else
Ec=1;
实施例1
本发明提供的一种基于硬件的暂态电压记录方法应用在VER200暂态电压记录仪中。VER200采用A/D+FPGA+DSP的结构,实时压缩、触发判断均在FPGA中完成,DSP只需读取压缩后的数据,并在读取到有效的触发信号后存储数据,多通道的同步采样率达到20Msps,数据压缩率达到99%以上,最多可记录300秒的工频电压波形,满足了对各种快速、慢速变化的暂态过程的记录需求。
最后应该说明的是:结合上述实施例仅说明本发明的技术方案而非对其限制。所属领域的普通技术人员应当理解到:本领域技术人员可以对本发明的具体实施方式进行修改或者等同替换,但这些修改或变更均在申请待批的权利要求保护范围之中。