在电力系统中,要实现对电能质量各项参数的实时监测和记录,必须对电能进行高速的采集和处理,尤其是针对电能质量的各次谐波的分析和运算,系统要完成大量运算处理工作,同时系统还要实现和外部系统的通信、控制、人机接口等功能。而电能质量监测系统大多以微控制器或(与)DSP为核心的软硬件平台结构以及相应的设计开发模式,存在着处理能力不足、可靠性差、更新换代困难等弊端。本文将SoPC技术应用到电力领域,在FPGA中嵌入了32位NiosⅡ软核系统。可实现对电能信号的采集、处理、存储与显示等功能,实现了实时系统的要求。
1 系统概述
1.1 电能质量检测系统的基本原理
电能质量监测主要是对电能质量各参数进行实时监测和记录,其功能流程为:把电网中的电压、电流经过PT、CT变成-5~+5 V的电压信号、1~2 mA的电流信号,预处理后进行采样,对采样值进行数据处理,处理结果可以存储在数据存储单元,也可以通过通信模块与计算机终端进行通信,根据需要控制且查看处理结果。其系统基本原理方框图如图1所示。
图1 系统基本原理方框图
1.2 算法介绍
本文在处理谐波数据时,采用基2的DIT方式的FFT算法。传统的基2算法的蝶形图中输入采用的是按码位颠倒的顺序排放的,输出是自然顺序。同一位置不同级的蝶形的输入数据的位置不固定,难以实现循环控制,用FPGA编程时难以并行实现,通过对传统的基2蝶形图分析,调整其旋转因子的位置,使得各级蝶形图一致,如图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所示。
图3 AD73360与FPGA的连接
2.2 NiosⅡ软核处理器
基于32位RISC嵌入式软核NiosⅡ的SoPC,有着其他SoPC(如基于FPGA嵌入式IP硬核SoPC)不可比拟的优势。采用NiosⅡ软核处理器,用户将不会局限于一般的处理器技术而是根据自己的标准裁剪和定制处理器,按照需要选择合适的外设、存储器和接口,轻松集成自己专有的功能,比如DSP、用户逻辑等。这非常有利于设计高次谐波这种计算量大且控制逻辑复杂的系统。
为了满足今后的性能要求,该电能质量监测系统应能随时被改进升级。可以加入多个NiosⅡCPU、定制指令集、硬件加速器等,以达到更好的性能目标。还可以通过Avalon交换架构调整系统性能,该架构支持多种并行数据通道可实现大吞吐量的应用。
图4 电能质量监测系统硬件结构框图
2.3 硬件系统平台设计
图4是整个系统的硬件结构框图。系统组成主要包括:
(1)系统核心模块采用STRATIX系列的EPlS25型的FPGA,它包含:10个DSP模块、25 660个逻辑单元、48个嵌入式乘法器、RAM总量高达1 922576 b,6个数字锁相环、可用的I/O口最多达到702个。它是一款采用高性能结构体系的PLD器件,结合了强大内核性能,大存储器,DSP功能,高速I/O和模块化设计。其内嵌的DSP模块,提供了高于DSP处理器的数据处理能力,可以完成较为耗费资源的乘法器单元。这些资源对一个电能质量监测系统来说是已经绰绰有余。
(2)NiosⅡ软核处理器是整个系统模块的CPU,它的具体特性已在前面详细叙述。NiosⅡ软核处理器除了要协调控制各个硬件设备外,电能参数相关数据的软件算法也要在此执行。
(3)Avalon交换式总线由SoPC Buiider自动生成,它是一种用于系统CPU和外设之间的内联总线。传统的总线结构缺点是每次只能有一个主机能接入总线,导致带宽瓶颈。而在Avalon总线结构里,总线主机不抢占总线本身。Avalon交换结构可实现数据在外设与性能最佳数据通道之间的无缝传输,并且它同样支持用户设计的片外处理器和外设。
(4)谐波分析模块采用内嵌的DSP对采集过来的16位数字信号进行处理,输入电能计量指标参数的处理算法程序,将结果暂存在片内存储器,最后NiosⅡ软核控制单元通过RS 232或.RS 485串口完成数据的传输和人机对话。谐波是一个周期性的正弦波分量,其频率为基波频率的整数倍。进行谐波变换的方法很多,本文采用的是FFT,完成电压有效值、电流有效值、有功功率、无功功率、视在功率、频率、功率因子和稳态谐波分量等检测。
以上是本文提出的一个基于NiosⅡ的基本电能质量监测系统的硬件平台。根据不同要求,还可以采取往系统核心模块里添加DMA、自定义模块等措施,从而形成功能更加完善的电能质量监测系统。
3 电能质量检测系统软件设计
3.1 SoPC Builder设计
对应系统的硬件平台结构,添加NiosⅡProcessor,选择其为快速型,以确保系统的速度性能。再添加SPI,PIO,Character LCD,FLASH Memory,Avalon Tristate Bridge,SDRAM Controller,On chip Memory,DSP,timer这些模块。设置好模块的各项参数后,点击System控件里的两个选项为各模块主动分配地址和中断。然后在NiosⅡMore“CPU”Setting里选Reset Address为FLASH,选Exception AddFess为SDR-AM。最后点击Generate生成对应的ptf文件。这样系统的SoPC Buider设计基本完成。
3.2 NiosⅡIDE设计
进入NiosⅡIDE后新建一个应用工程,选择ptf文件和Black Project,这样一个基于已有SoPC的空白应用工程建立完毕。然后在System Library里进行必要工程设置。接着将电能参数算法的C程序填入工程里,再进行软件的编译调试等。调试完毕后,一并将所有程序与可执行文件全下载到FPGA上。至此,一个基于NiosⅡ的电能质量监测SoPC设计完成。
4 结果分析
电能质量检测结果主要包括电流、电压的谐波分析数据、电功率测量值数据、供电电压的测量数据、频率的测量数据、三相不平衡度的测量数据、闪变的测量数据以及误差分析等。从实测数据中可以看出,由于各种非线性电力电子装置的广泛使用,增加了高次谐波的含有量,现以三相电压的谐波分析数据为例,得到第2~30次谐波的谐波含有率,即第n次谐波有效值与基波有效值的比值,如柱状图5所示。
图5 电压谐波有效值与基波有效值的比值
图5中,连续的三根柱子分别代表A相、B相、C相的电压谐波含有率。可以看出,奇数次谐波的谐波含有率明显比偶数次谐波含有率高,其中以第3,5,7,9,1l,13谐波含量最为明显,且A,B,C三相电压相应的谐波含有率差不多,除了B相的第9次和第13次谐波含有率比A相,C相略高一些。应该尽可能地降低谐波含有量,比如从电源电压、线路阻抗、负荷特性等方面着手,降低高次谐波含有量。
5 结语
本文提出一种基于NiosⅡ的电能质量监测系统的设计方案,可以实现对电能信号的采集、处理、存储与显示等功能,达到实时系统的要求。但由于经验及技术有限,该系统在某些方面还有待提高。譬如如何进一步减小三相不平衡度、闪变的危害等。本系统利用了可配置的优势,有兴趣的朋友可以在此基础上根据自己的具体需求来进行相应的填充、修改、完善,得到更优秀的电能质量监测SoPC。