摘要:在电力系统的电能质量参数检测中,利用可编程逻辑器件的可在线编程特点和SoPC的技术优势,在FPGA中嵌入了32位NiosⅡ软核系统,探讨了处理谐波数据的FFT算法和硬件系统结构的设计,可实现对电能信号的采集、处理、存储与显示等功能,达到了实时系统的要求。
关键词:SoPC;电能质量监测系统;NiosⅡ;谐波
在电力系统中,要实现对电能质量各项参数的实时监测和记录,必须对电能进行高速的采集和处理,尤其是针对电能质量的各次谐波的分析和运算,系统要完成大量运算处理工作,同时系统还要实现和外部系统的通信、控制、人机接口等功能。而电能质量监测系统大多以微控制器或(与)DSP为核心的软硬件平台结构以及相应的设计开发模式,存在着处理能力不足、可靠性差、更新换代困难等弊端。本文将SoPC技术应用到电力领域,在FPGA中嵌入了32位NiosⅡ软核系统。可实现对电能信号的采集、处理、存储与显示等功能,实现了实时系统的要求。
1 系统概述
1.1 电能质量检测系统的基本原理
电能质量监测主要是对电能质量各参数进行实时监测和记录,其功能流程为:把电网中的电压、电流经过PT、CT变成-5~+5 V的电压信号、1~2 mA的电流信号,预处理后进行采样,对采样值进行数据处理,处理结果可以存储在数据存储单元,也可以通过通信模块与计算机终端进行通信,根据需要控制且查看处理结果。其系统基本原理方框图如图1所示。
1.2 算法介绍
本文在处理谐波数据时,采用基2的DIT方式的FFT算法。传统的基2算法的蝶形图中输入采用的是按码位颠倒的顺序排放的,输出是自然顺序。同一位置不同级的蝶形的输入数据的位置不固定,难以实现循环控制,用FPGA编程时难以并行实现,通过对传统的基2蝶形图分析,调整其旋转因子的位置,使得各级蝶形图一致,如图2所示,可以实现循环控制。
这种结构的输入是顺序的,而输出是位反码的,每级的旋转因子都是放在FPGA的片内ROM里的。调整后的旋转因子的寻址有一定规律,对于N点的FFT(N=2k,K为级数),旋转因子有,…,,共N/2个,将他们按位码倒序的形式排成一个含有N/2个元素的数组,记为:,,则第i级(i=O.1,2,…,K-1)的旋转因子排列顺序是W(O),W(1),W(2),…,W(2i)重复2k-i-l次得到的。其特点是每级的输入、输出数据的顺序是不变的,因此每级几何结构是固定的。用这种结构寻址方便,易于用FPGA编程,实现内部并行的FFT硬件结构,从而明显加快FFT的运算速度。