关键词: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的运算速度。
2 电能质量检测系统硬件设计
2.1 A/D转换器
根据实测数据,如果采用12位分辨率的A/D转换芯片,对15次谐波而言至少会引起1.67%的误差,而在实际谐波测量中一般测到30次或更多次谐波,因此现场监测单元中A/D转换器的分辨率应保证为14位或14位以上。本文采用AD73360作为采样系统的模数转换芯片。它的六路输入通道可被分为三对,以分别对应电力系统中的三相。该芯片可以8 kHz,16 kHz,32 kHz,64 kHz的采样速率同时进行六通道的信号采样。AD73360可满足装置对高速采样的要求。AD73360与FPGA的连接如图3所示。
2.2 NiosⅡ软核处理器
基于32位RISC嵌入式软核NiosⅡ的SoPC,有着其他SoPC(如基于FPGA嵌入式IP硬核SoPC)不可比拟的优势。采用NiosⅡ软核处理器,用户将不会局限于一般的处理器技术而是根据自己的标准裁剪和定制处理器,按照需要选择合适的外设、存储器和接口,轻松集成自己专有的功能,比如DSP、用户逻辑等。这非常有利于设计高次谐波这种计算量大且控制逻辑复杂的系统。
为了满足今后的性能要求,该电能质量监测系统应能随时被改进升级。可以加入多个NiosⅡCPU、定制指令集、硬件加速器等,以达到更好的性能目标。还可以通过Avalon交换架构调整系统性能,该架构支持多种并行数据通道可实现大吞吐量的应用。