微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于FPGA的交流电测量仪的设计

基于FPGA的交流电测量仪的设计

时间:05-26 来源:电子技术应用 点击:

2.2 计算有效值的软件设计
根据本文介绍的交流电采样原理[6-7]和有效值的计算方法,要计算交流电必须进行平方和开方的运算,由于FPGA没有现成的开方运算方法,设计FPGA开方运算方法成为本设计的关键。
常用的开方算法有牛顿-莱福森算法、逐次比较算法等。牛顿-莱福森算法比较复杂, 占用资源比较多, 且迭代次数不确定, 不太适合FPGA运算。本设计采用逐次比较算法,充分发挥FPGA执行速度快的优点。逐次比较算法先将实验值进行平方运算, 然后与输入值相比较, 通过比较结果,修正实验值, 从而得到输出值。
本设计开方算法流程如图3所示。采用12位设计,由于正负的关系,计算时将负数求补转换成正数,所以实际只有11位,需进行11次运算比较。

首先,令n=1,A=S=10000000000也即将11位的最高位置1,其他位置0,然后将它赋给A、S,然后对A求平方后,把A赋给B。B和一个周期内128个采样值的平方和的平均数C(平方和右移7位即可)比较大小。当C大于B时A=A+(S>>n),同时调整n的值,令n=n+1;若当C等于B时,则A即为所求的开方值,当C小于B时,A=[A-(S>>n-1)+(S>>n)],同时调整n的值,令n=n+1,开始下一次循环比较。直到最后一位比较完后,强行结束。例如:设C为49(二进制为110001),首先,将n=1,A=S=10000000000,对A平方并赋给B,C<B,则执行A=(A-(S>>n-1)+(S>>n))。此时A=01000000000,循环执行平方、比较后A=00100000000,继续循环A=00100000000,直到第9次循环,平方、比较后,当C大于B时,A=A+(S>>n),A=00000000110,继续循环;平方、比较后A=00000000111,继续循环;平方、比较后A=00000000111。即得出平方根为00000000111。经过11次比较得出正确的结果。
2.3 计算频率的软件设计
频率参数的实时测量一直是电力系统参数测量中的重点和难点。由于电力系统的频率时刻都有微小的变化, 精确的测频手段成为实时控制的重要组成部分。在实际应用中通常包括硬件测频法和软件测频法两种。本文软件测频主要采用基于电网电压交流采样技术, 通过相应的数值算法,经过计算机处理计算获得频率量的大小, 其算法相当丰富而且还在不断发展。本设计中的控制器采用过零法进行软件测频。
如图4所示,当采样值出现有负值到正值的变化,表示正弦值过了0点,为了排除干扰和误判,且随后需出现3个正值则代表正弦值确实过了零点,进入正值区间,此时计数器开始对采样个数数进行计数,经过一定的采样值后,当采样值第3次出现由负值到正值的变化,表示正弦值过了0点,且随后需出现3个正值则代表正弦值确实过了0点,进入正值区间,此时停止计数器对采样个数进行计数;或者当采样值出现由正值到负值的变化,表示正弦值过了0点,为了排除干扰和误判,且随后需出现3个负值则代表正弦值确实过了0点,进入负值区间,此时计数器开始对采样个数进行计数,经过一定的采样值后,当采样值第3次出现正值到负值的变化,表示正弦值过了0点,且随后需出现3个负值则代表正弦值确实过了0点,进入负值区间,此时停止计数器对采样个数的计数。判断出此时计数器的个数即为采样个数,通过采样的间隔时间t1,乘以计数器的个数c2,即1个周期的时间为t3=t1×c2。则频率为f=1/(0.5×t3)。此设计2个周期采样约256个点,频率精度相当的高,可以满足电力系统的需要。

该系统是基于交流采样设计的电力参数监测仪器,设计出基于FPGA的开方程序,通过对交流采样值进行处理和计算,结合FPGA的高速运算、并行处理的能力,实现交流电压有效值和频率的实时计算。具有精度高、速度快、实时性好的特点,在电力系统中有极高的实用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top