系统的总体结构框图见图1,包括隔离、放大、滤波、量程自动切换、锁相电路、时钟模块、LCD显示、通信、FPGA谐波检测、以态网接口等模块。用交流采样法高速采集经调理后的三相电压、三相电流及通过二次运算计算出零线电流、有功功率、无功功率、频率、功率因数及三相不平衡度等参数,并能检测到21次谐波,对以上数据进行记录保持,并可通过液晶屏观察这些数据。另外,实现多种通信技术,如RS232,CAN总线、以太网通信等。
由于本监测器监测指标多,功能复杂,工作量大,因此控制器的选择是非常关键的。考虑到STR710FTbZ6具有高性价比、功能灵活、易于人机对话等众多特点;FPGA则具有高速、高可靠以及开发便捷、规范等优点。因此控制器采用STR710FTbZ6与ACEX1K30相结合,就充分发挥两者的互补性。
1.1 主控制器的选择
由于本监测器监测指标多,功能复杂,工作量大,因此控制器的选择是非常关键的。考虑到STR710FTbZ6具有高性价比、功能灵活、易于人机对话等特点;FPGA则有高速、高可靠及开发便捷、规范等优点。因此控制器采用STR710FTbZ6与ACEX1K30相结合,就能充分发挥两者的互补性。
1.2 隔离、放大、量程自动切换电路
现在以电流信号为例说明该部分的电路设计,电压信号的调理电路与电路信号相似。该部分的电路设计如图2。在正常供电的情况下,通过编写循环子程序对各相模拟开关的控制信号赋值,从而达到对三相信号分时循环采集的目的。对于电流量测量,本系统设计了量程自动切换功能(分两个量程档)。现以A相信号为例,分忻一下如何实现量程自动切换功能。
在默认情况下当监测A相信号时,Clal控制信号为0,经过电流互感器(TA-6A)后的A相信号Ia通过U1A(四路模拟开关CD4016的第一路)输入到放大电路中。但当系统监测到该相的信号小于5A时,则立即对CIa1置1,CIa2置0,Ia通过UlB(四路模拟开关CD4016的第二路)输入到放大电路中。由于R1>R2,所以减小Ia信号的衰减,从而实现量程自动切换的功能,也进一步的提高了本系统的测量精度。
为了避免频谱混叠造成信号的失真,因此一般的电子系统中多需要设计滤波器。对于本系统,由于测试电网谐波时,必须计算功率,即计算电压、电流的互相关,所以对相位的要求很高。本系统采用专用的四阶Butterworth低通开关电容滤波器TLC14。避免了传统的由于采用运放、电阻、电容搭建的滤波电路易受干扰、稳定性不好等问题。该滤波器具有以下特点:低成本,易用;滤波器的截止频率取决于外部时钟频率;截止频率范刚从0.1~30 kHz。
放大电路的输出信号作为抗混叠滤波器的输入信号。该滤波器的截止频率fc取决于其时钟频率fclock,其关系为fc=fclock/100;fclock≈1/4.23RC,由于本系统设计的谐波测量次数要求达到21次,其截止频率为fc=1.05kHz,因此选择C=100pF,R=2kΩ即可满足要求。
1.3 电平提升电路与锁相倍频电路
由于经过抗混叠滤波器后的输出信号是双极性的,因此,在进行模数转换之前必须通过电平提升路将双极性信号通过电平移位为适合A/D采集要求单极性信号作为同步锁相倍频电路的输入信号。PLL采用CMOS集成锁相环芯片CD4046和计数CD74F163配合实现信号精确同步锁相64倍频的的,该倍频数满足快速傅立叶radix-2算法及奈奎斯采样频率要求。
2 基于FPGA的FFT功能实现
2.1 算法分析
采用radix-2 FFT实现谐波测量能尽可能减少复数,同时逻辑关系简单,易于编程。它可以用蝶形处理器有效地实现,由一个复数加法器、复数减法器和旋转因子的复数乘法器绡成。
高效复数乘法器:复数旋转因子乘法R+Ji=(X+jY)(C+js)=XC-YS+j(CY+XS),通常由4次乘法和2次加/减运算实现。在简化运算处理中, 令E=X-Y和Z=C×E=C×(X-Y)。
然后用:
这种算法使用了3次乘法、1次加法和2次减法,代价是额外的(C,C+S,C-S)笫三个表,这些数以128归一化为8Bit有符号数存储在ROM中。
为了防止运算中的溢出,碟形处理器需要计算两个蝶形方程:
临时结果必须乘以旋转因子。
采用maxplusII做为开发软件,maxplusII支持原理图、VHDL等语言文本文件。maxplus2可以支持功能仿真和时序仿真,能够产生精确的仿真结果。
2.2 波形分析
假设CLK为输入一个周期为80ns的时钟,Are_in,Aim_in为输入数据的实部和虚部,旋转因子采用乘以128归一化的8bit有符弓数。旋转因子欧拉公式变换为近似值C+jS=59+j25,则cps=c+s=84,cms=c-s=34,计算出的第一个数的实部、席部为Dre_out、Dim_out,第一个数的实部、虚部为Ere_out、Eim_out,由maxplus2生成的波形文件的图形如图3所示。
3 STR710FZ2b6控制器功能
STR710FZ2b6与ACEX1K30均有丰富的I/O口资源,囚此采用并行通信使数据的交换速度比较快。ACEX1K30内部可配置的RAM的总容量小于8KB,地址总线有A0~A12组成。数据线由D0~D7组成,接口信号线中包含片选信号,控制总线包括读写信号线,NRD与NEW。
对于本系统设计的监测控制器,除厂功能多样性外,实时性及通信技术也是关键指标。μC/OS-Ⅱ操作系统是一个完整的、可移植、可固化、可裁剪的抢占式实时多任务内。因此在STR710FZ2b6平台上移植该操作系统就能够很好的解决系统任务繁重性与实时性要求高之间的矛盾。
在通信方面,除了RS32、USB等技术之外,还采用了以态网通信,它具有可靠性好、通信速度快、互连性、开放性好,设备成本低等优点,因此在电能质量监测控制器中采用以太网技术就能够很好地解决终端数量的增多和用户对自动化水平要求提高等一系列问题。本系统采用美国CIRRUSLOGIC公司尘产的CS8900A以太网控制器。该控制器符合EthernetII与IEEE802.3标准,全双工,收发可同时达到10Mbit/s速率,内置16kB SRAM用于收发缓冲等性能。该控制器通过RJ45接口与以太网通信。
在通信方面,除了采用RS32,USB等技术之外,还采用了以态网通信,它具有可靠性好,通信速度快,瓦连性、开放性好和设备成本低等优点,因此在配电自动化监测控制器中采用以太网技术就能很好的解决了终端数量的增多和用户对自动化水平要求提高等一系列问题。本系统采用美国CIRRUS LOGIC公司生产的CS8900A[5]以太网控制器。该控制器符合EthernetII与IEEE802.3标准,全双工,收发可同时达到10Mbps的速率,内置16KB的SRAM用于收发缓冲等性能。该控制器通过RJ45接口与以太网通信。采用TFTP文件传输协议,程序或文件可以同时向许多计算机下载,该协议代码所占的内存比较小。
系统的总体程序流程如图4所示,中断处理程序模块包括键盘处理、通信模块(响应通信请求中断)、故障处理等。
在电能自量监测控制器信号调理电路上采用巧妙的设计思路、采用高性价比的集成芯片等元器件,处理器采用FPGA与STR710FZ2b6相结合结构,通信上采用多种通信方式。使得该系统具有精度高、可靠性强、集成度高,接口方便、灵活性好、保密性好以及时分复剧、扩展性强等优异特点。