仝战营,郭 课,郭贝贝
(河南机电高等专科学校,河南 新乡 453000)
传统的电力参数测量装置大多基于微处理器如MCU、DSP设计,基于流水线计算技术的DSP对海量数据的处理具有快速高效的优异性能,然而只有规律的加减乘除等运算才容易实现流水线的计算方式。与DSP相比,FPGA在高速复杂逻辑处理方面有不可替代的优势,同时,单片FPGA能够拥有超大规模的逻辑单元,并且具有独特的硬件高速并行运算能力,因而在信号处理方面也显示出突出的优势[1]。
SOPC(System On Programmable Chip)即可编程的片上系统,SOPC技术就是试图将尽可能大而完整的电子系统,包括嵌入式处理器系统、接口系统、硬件协处理器或加速器系统、DSP系统、数字通信系统、存储电路以及普通数字系统等,在单一FPGA中实现。Altera公司NiosII软核概念的提出及SOPC的软硬件综合解决方案,可以在Quartus II和NiosII IDE中进行软硬件开发,从硬件和软件整体设计上将嵌入式系统设计进行了极大的推动,使得嵌入式系统的硬件电路更加简单、有效,易于理解;软件设计变得轻松,移植性更强[2]。
本文即是研究利用Altera CycloneII FPGA构建SOPC系统实现电能质量监测系统的设计,实现对电网三相电路电压、电流、功率、功率因数、谐波等电能质量参数的测量。
电能质量监测主要是对电能质量各参数进行实时监测和记录,其功能流程为:把电网中的电压、电流经过PT、CT变成-5~+5V的电压信号、1~2mA的电流信号,预处理后进行采样,对采样值进行数据处理,处理结果可以存储在数据存储单元,也可以通过通信模块与计算机终端进行通信,根据需要控制且查看处理结果[3,4]。
电能质量参数中最复杂的就是谐波的测量,基于傅里叶变换的谐波测量是当今应用最多也是最广泛的一种方法,它由离散傅里叶变换过渡到快速傅里叶变换的基本原理构成[5]。模拟信号经采样,离散化数字序列信号后,经处理器进行谐波分析和计算,得到基波和各次谐波的幅值和相位,并可获得更多的信息,如谐波功率、谐波阻抗以及对谐波进行各种统计和分析等,各种分析计算结果可在屏幕上显示或按需要打印输出[2,6]。
DFT是连续傅里叶变换的离散形式,DFT变换是针对有限长序列信号进行傅立叶变换的一种数值分析方法,它的主要应用之一就是分析连续时间信号的频率成分[7]。
设有限长序列信号 x(n),n=0,1,…,N -1,则 x(n)的DFT变换为:
为了便于数值分析,在频域Ω∈[0,2π]之间对X(jΩ)以2π/M的间隔均匀采样M点,得
X(k)是时间序列的频谱,WN称为蝶形因子。对于N点时域采样值,经过上式的计算,就可以得到N个频谱条,这就是离散傅里叶(DFT)。在N较大时,DFT计算量较大,可利用快速傅里叶变换(FFT)算法,它将计算量从N2数量级降低到Nlog2N的数量级,可大大方便 DFT 的计算[8,9]。
根据FFT运算后所得到的各次实部和虚部,即可计算出各次谐波的幅值、功率因数、各次谐波含量、谐波总畸变率、有功功率、无功功率等[10]。
系统硬件设计可以概括为五大部分:电网输入信号的采集与信号调理部分、将模拟信号转换为数字信号的高速A/D部分、锁相环同步采样控制单元、基于SOPC的电能质量监测系统的硬件平台和键盘液晶显示人机界面部分。硬件总体结构及信号流程如图1所示,整个硬件系统将实现如下功能:将电网信号采集并进行调理后采样,然后对采样信号进行运算和处理,最后由显示设备进行显示,系统的数字处理和控制部分在一片FPGA芯片上基于SOPC技术实现。
基于SOPC实现的电能质量监测系统的组成结构如图2所示,在FPGA内部构建SOPC系统平台,主要包括NiosII CPU及其外设、快速傅立叶变换(FFT)模块、自定义的AD采样控制模块、频率测量模块等,并由Avalon总线实现上述各模块的互联。NiosII嵌入式软核处理器作为主控器,控制A/D采样及数据输出显示等功能。FFT运算处理单元采用Altera公司提供的IP运算核,该IP采用先进的多层并行流水线技术,可以在10μs内完成128点单精度浮点数FFT运算。该系统可并行地对6路电网输入信号进行FFT运算处理。A/D采样单元使用16位ADS8364实现对6路信号同时扫描采样功能,并利用外部模拟锁相环实现同步采样控制。A/D采样单元对输入的工频信号每周期采样128点,精确变换成16位的数字量;FFT运算处理单元负责处理缓存单元输出的数字量,进行128点FFT变换及运算;控制单元负责系统各个单元的控制,如控制A/D采样单元的采样频率和采样的启动及停止、FFT运算处理单元的控制和数据传输、PLL电路的输出频率控制和其他外设资源的控制。该系统提供了串口转USB接口,可以直接与计算机通信。用户可以通过上位机进行控制或进行数据传输,也可直接在计算机上进行控制数据查阅。
系统软件主要分为两大部分:
1)利用QuartusII和DSP Builder构建 NiosII CPU系统,主要包括:
①基于Verilog HDL语言编写各功能控制模块;
②基于SOPC Builder构建NiosII CPU及其外设;
③利用DSP Builder构建FFT谐波分析模块,其输入信号控制时序如图3所示。
图3 FFT输入信号控制时序
2)利用NiosⅡIDE完成系统控制与算法编写
进入NiosⅡIDE后新建一个应用工程,选择ptf文件和Black Project,这样一个基于已有SOPC的空白应用工程建立完毕。然后在System Library里进行必要工程设置。接着将电能参数算法的C程序填入工程里,再进行软件的编译调试等。调试完毕后,一并将所有程序与可执行文件全下载到FPGA上。系统软件设计流程如图4所示,至此,一个基于NiosⅡ的电能质量监测SOPC设计完成。
图4 系统软件流程图
电能质量检测结果主要包括三相电压、电流、功率、频率、三相电压不平衡度、谐波、闪变的测量数据以及误差分析等,现以三相电压的谐波分析数据为例,结果如表1所示。
?
由表中数据可得,经过该FFT模块运算和数据处理,能够有效分解出各次谐波幅值和相位,处理精度符合预期,结果表明其输入信号的时序逻辑控制是正确的。
本设计采用自上而下和层次化、模块化的方法进行系统设计,构建了SOPC系统平台,通过软硬件协同设计,实现电能质量监测和系统控制。通过对电网输入的三项电压、电流信号进行采集并实时处理,并经由二次计算测量出电压和电流有效值、功率、功率因数、频率、谐波等电能质量参数。具有灵活的可重构性,集成度高,开发周期短,设计工程成本低,可扩展强等优点。
[1]江国强.SOPC技术与应用[M].北京:机械工业出版社,2006.
[2]侯长宏,袁慧梅等.基于sopc的电能谐波测量系统的设计[J].微计算机信息.2008,(2):155 -157.
[3]刘尧虎,何飞舟.基于32位NiosⅡ软核系统的电能质量监测系统设计[J].电子技术应用,2010,(2):50 -55.
[4]郭磊.电能质量实时监测装置的研究与设计[D].西安:西安科技大学,2008.
[5]侯凡.基于SOPC技术的电能质量监测系统的研究[D].上海:上海交通大学,2007.
[6]徐光辉,程旭东.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社,2006.
[7]华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].北京:人民邮电出版社,2008.
[8]江冰,张卓.锁相倍频采集技术在电力系统谐波测量中的应用[J].电子测量与仪器学报,2004,(18):904-906.