本发明涉及一种运算装置,更具体而言,涉及进行如下运算的运算装置,即,对基于不定周期地变动的信号的输入值进行累计并实施平均化。
背景技术:
当前,作为上述运算装置,提出有如下运算装置,即,每当检测出交流电压或者交流电流的零交叉时,求出交流电压或者交流电流的有效值(专利文献1)。具体而言,对从零交叉至零交叉的交流电压或者交流电流进行累计而求出有效值。
然而,在上述的当前的运算装置中,存在如下问题,即,在交流电流或者交流电压的频率较高的情况下,需要频繁地对有效值进行运算,从而导致运算跟不上。
因此,考虑针对每个预先规定的更新速率(updaterate)(规定期间)而求出交流电压或者交流电流的有效值。然而,在该情况下,存在如下问题,即,在交流电压或者交流电流的周期比更新速率长的情况下,无法对大于或等于1个周期的交流电压或者交流电流进行累计,无法准确地求出有效值。
专利文献1:日本特开2007-232571号公报
技术实现要素:
本发明就是鉴于上述情形而提出的,其目的在于,在进行对基于不定周期地变动的信号的输入值进行累计并实施平均化的运算的运算装置中,即使在信号的频率低的情况下,也能提高运算精度。
为了解决上述问题,本发明的运算装置是具备如下运算单元的运算装置,即,该运算单元进行对基于不定周期地变动的信号的输入值进行累计并实施平均化的运算,所述运算装置的特征在于,具备在每个规定期间内对所述信号的周期分割点进行检测的检测单元,对于检测出多个周期分割点的规定期间,所述运算单元利用至少由所述多个周期分割点规定的所有周期的输入值而进行所述运算,对于检测出1个周期分割点的规定期间,所述运算单元利用由所述1个周期分割点、和所述1个周期分割点的1个之前的周期分割点规定的周期的输入值而进行所述运算。
这里,对于检测出多个周期分割点的规定期间,在由所述多个周期分割点规定的所有周期的输入值的基础上,所述运算单元能够利用由最初的周期分割点、和所述最初的周期分割点的1个之前的周期分割点规定的周期的输入值而进行所述运算。
另外,可以形成为,还具有超时判定单元,该超时判定单元在未检测出周期分割点的规定期间持续出现的次数大于或等于规定次数时判定为超时,如果判定为所述超时,则所述运算单元利用从最近的周期分割点起直至判定为所述超时的规定期间结束为止的输入值而进行所述运算。
此时,可以形成为,具有:加法运算器,其对所述输入值进行加法运算;第1加法运算器重置单元,其在检测出所述周期分割点时、以及判定为所述超时的定时对所述加法运算器的加法运算值进行重置;计数器,其对检测出所述周期分割点的次数进行计数;第1计数器重置单元,其在判定为所述超时时将所述计数器重置为0,在所述规定期间结束时,在所述计数器的计数值大于或等于2时将所述计数器重置为1;保存单元,其在检测出所述周期分割点时,在所述计数器的计数值为1时将所述加法运算器的加法运算值保存于存储器;以及第1标志单元,其在判定为所述超时的定时将标志关闭,在所述规定期间结束时,在所述计数器的计数值大于或等于2时将所述标志开启,所述运算单元具有第1运算部,在判定为所述超时的定时且所述计数器的计数值为0时、在判定为所述超时的定时且所述计数器的计数值为1且标志开启时、在所述规定期间结束的定时且所述计数器的计数值大于或等于2时,所述第1运算部基于所述加法运算器的加法运算值而进行所述运算,在判定为所述超时的定时且所述计数值为1且所述标志关闭时,所述第1运算部基于对所述加法运算器的加法运算值加上所述存储器的值所得到的值而进行所述运算。
并且,可以形成为,具有:设定单元,其对自动更新或者固定更新的任一者进行设定;第2加法运算器重置单元,其在检测出所述周期分割点时、以及所述规定期间开始的定时对所述加法运算器的加法运算值进行重置;加法运算器重置控制单元,在设定为所述自动更新的情况下,所述加法运算器重置控制单元使所述第1加法运算器重置单元进行所述加法运算器的重置,在设定为所述固定更新的情况下,所述加法运算器重置控制单元使所述第2加法运算器重置单元进行所述加法运算器的重置;第2计数器重置单元,其在每次所述规定期间开始的定时将所述计数器重置为0;计数器重置控制单元,在设定为所述自动更新的情况下,所述计数器重置控制单元使所述第1计数器重置单元进行所述计数器的重置,在设定为所述固定更新的情况下,所述计数器重置控制单元使所述第2计数器重置单元进行所述计数器的重置;第2标志单元,其使得所述标志始终关闭;以及标志控制单元,在设定为所述自动更新的情况下,所述标志控制单元利用所述第1标志单元对所述标志进行开启关闭,在设定为所述固定更新的情况下,所述标志控制单元利用所述第2标志单元始终将所述标志关闭,所述运算单元还具有第2运算部,在所述规定期间开始的定时且所述计数器的计数值为0时、在所述规定期间开始的定时且所述计数器的计数值大于或等于2时,所述第2运算部基于所述加法运算器的加法运算值而进行所述运算,在所述规定期间开始的定时且所述计数器的计数值为1时,所述第2运算部基于对所述加法运算器的加法运算值加上所述存储器的值所得到的值而进行所述运算,在设定为所述自动更新的情况下,所述运算单元利用所述第1运算部进行处理,在设定为所述固定更新的情况下,所述运算单元利用所述第2运算部进行处理。
发明的效果
根据本发明,在进行对基于不定周期地变动的信号的输入值进行累计并实施平均化的运算的运算装置中,即使在信号的频率较低的情况下,也能够提高运算精度。
附图说明
图1是表示作为本发明的运算装置的电力计的一个实施方式的框图。
图2是表示图1所示的fpga的详情的框图。
图3是用于对图1所示的fpga的动作进行说明的流程图。
图4是用于对图1所示的fpga的动作进行说明的流程图。
图5是用于对图1所示的fpga的动作进行说明的流程图。
图6是用于对设定为固定更新模式时的图1所示的fpga的动作进行说明的时序图。
图7是用于对图1所示的fpga的动作进行说明的时序图。
图8是用于对图1所示的fpga的动作进行说明的时序图。
图9是用于对图1所示的fpga的动作进行说明的时序图。
图10是用于对图1所示的fpga的动作进行说明的时序图。
图11是用于对图1所示的fpga的动作进行说明的时序图。
图12是表示其他实施方式的电力计。
图13是表示图12所示的fpga的详情的框图。
标号的说明
1电力计(运算装置)
3fpga(运算单元、判定单元、超时判定单元)
302autoupdate设定(设定单元)
307c边沿检测器(周期分割点检测器)
307dzc边沿计数器(计数器、第1计数器重置单元、第1标志单元、第2计数器重置单元、计数器重置控制单元、第2标志单元、标志控制单元)
308a加法运算器(第1加法运算器重置单元、第2加法运算器重置单元,加法运算器重置控制单元)
308b选择器(保存单元)
308c存储器
具体实施方式
基于附图对本发明的作为运算装置的电力计的一个实施方式进行说明。图1所示的电力计通过数字运算而对交流电压、交流电流的有效值、交流电力的平均值等进行测量计算。
图1所示的电力计1能够进行固定更新模式和自动更新模式这2种测定模式的切换。固定更新模式是针对每个预先规定的更新速率(规定期间)而对电压有效值、电流有效值、电力平均值进行运算显示的模式。自动更新模式是如下模式,即,在交流的周期较短时针对每个更新速率而对电压有效值、电流有效值、电力平均值进行运算,在交流的周期较长时针对每一个周期而对有效值进行运算显示。能够在这2种模式之间进行切换。
电力计1具有电压·电流输入部2、检测单元、作为运算单元的fpga3、cpu4、显示器5以及操作部6。
电压·电流输入部2输入有模拟的电压u1、电流i1(信号),变换为作为数字信号的u(n)、i(n)而对fpga3供给该数字信号。电压·电流输入部2具有电压输入电路21、a/d变换器22、零交叉检测器23、电流输入电路24、a/d变换器25以及零交叉检测器26。
电压输入电路21利用运算放大器对输入的电压u1实施标准化而使其变为适合于后段电路的处理的电平。a/d变换器22在每个smpck(采样时钟)的定时将由电压输入电路21实施了标准化后的电压变换为作为数字信号的u(n)。这里,u(n)是第n个采样的电压瞬时值的变换数据。
电流输入电路24利用分流电阻将输入的电流i1变换为电压,并利用运算放大器对其实施标准化而使其变为适合于后段电路的处理的电平。a/d变换器25在smpck的每个定时将由电流输入电路24实施了标准化后的电压变换为作为数字信号的i(n)。这里,i(n)是第n个采样的电流瞬时值的变换数据。
从a/d变换器22输出的电压瞬时值的变换数据即u(n)被输入至fpga3。从a/d变换器25输出的电流瞬时值的变换数据即i(n)被输入至fpga3。
零交叉检测器23将通过电压输入电路21而实现了标准化的电压与0电平进行比较,如果高于0电平则将1的数字值zcu输出,如果低于0电平则将0的数字值zcu输出,并输入至fpga3。零交叉检测器26将通过电流输入电路24而实施了标准化的电压与0电平进行比较,如果高于0电平则将1的数字值zci输出,如果低于0电平则将0的数字值zci输出,输入至fpga3。
fpga3根据由电压·电流输入部2输入的u(n)、i(n)而对电压有效值、电流有效值、电力平均值等进行运算。经由cpu4在显示器对运算结果进行显示。如果通过来自操作部6的操作输入而选择固定更新模式以及自动更新模式中的一方进行操作,则cpu4将该主旨传递给fpga3。
下面,参照图2对fpga3的详细结构进行说明。fpga3具有mest·meend发生器301、autoupdate设定302、采样时钟发生器303、平方运算器304、305、乘法运算器306、定时控制电路307、电压平方平均值运算电路308、采样数运算电路309、平方根运算器310、电流平方平均值运算电路311、平方根运算器312以及电力平均值运算电路313。
如果开始测定,则mest·meend发生器301将mest输出,在经过更新速率之后将meend输出。如果输出了meend,则在下一个采样时钟的定时将mest输出,并重复该动作。即,如图6~图11所示,在更新速率开始时将mest输出,在更新速率结束时将meend输出。
如果利用cpu4将选择了固定更新模式的情况输入至autoupdate设定302,则将autoupdate设为0而设定为固定更新模式。如果利用cpu4将选择了自动更新模式的情况输入至autoupdate设定302,则将autoupdate设为1而设定为自动更新模式。
采样时钟发生器303将a/d变换器22、a/d变换器25的采样时钟即smpck输出。
平方运算器304、305分别将对u(n)、i(u)进行平方所得到的值作为u_sqr(n)、i_sqr(n)而输出。乘法运算器306将对u(n)、i(u)进行乘法运算所得到的值作为p(n)而输出。u_sqr(n)、i_sqr(n)以及p(n)相当于权利要求中的“输入值”。剩余的电路307~309、311、313以及运算器310、312是对u_sqr(n)、i_sqr(n)、u×i(n)进行累计而分别对电压有效值、电流有效值、电力平均值进行运算的电路。
下面,在对fpga3的详细结构进行说明之前,参照图3及图4简单地对上述fpga3的动作进行说明。fpga3根据运算开始的情况而开始进行处理。在autoupdate=0的情况下(步骤s1中为no)、即在选择了固定更新模式的情况下,fpga3进入图4中的步骤s3。然后,fpga3等待至更新速率结束(步骤s3)。如果更新速率结束(步骤s3中为yes),则fpga3判定是否将电压u1、电流i1中被选择的一者的完整周期输入至该更新速率内(步骤s4)。
这里,完整周期是指在将电压u1或电流i1从负值变为正值时的零交叉点作为周期分割点的情况下,从周期分割点起直至下一次或者多次的周期分割点为止的周期。而且,如果将从电压u1或电流i1的周期分割点起直至下一次或者多次的周期分割点为止的周期输入至更新速率内,则fpga3判定为输入了完整周期。
如果存在完整周期(步骤s4中为yes),则fpga3在基于利用采样数除输入至更新速率内的所有完整周期的u_sqr(n)、i_sqr(n)以及u×i(n)(下面,简记作“数据”)的累计值所得到的值而对电压有效值、电流有效值、电力平均值进行运算之后(步骤s5),返回至步骤s1。
另一方面,如果不存在完整周期(步骤s4中为no),则fpga3在基于利用采样数除从该更新速率开始起直至结束为止的数据的累计值所得到的值而对电压有效值、电流有效值、电力平均值进行运算之后(步骤s7),返回至步骤s1。
基于图6对上述的固定更新模式时(步骤s3~s6)的动作进行说明。如该图所示,将2个周期的完整周期输入至最初的更新速率。此时,fpga3基于2个周期的数据的累计值(即,n=2至n=13的累计值)而对有效值等进行运算。将1个周期的完整周期输入至第2个更新速率。此时,fpga3基于1个周期的数据的累计值(即,n=20至n=27的累计值)而对有效值等进行运算。如果如第3个、第4个更新速率那样不存在完整周期,则fpga3基于从更新速率开始起直至结束为止的所有数据的累计值(即,n=35至n=51的累计值、n=52至n=68的累计值)而对有效值等进行运算。
与此相对,在autoupdate=1的情况下、即在自动更新模式的情况下,fpga3进入图3中的步骤s8。然后,如果更新速率结束(步骤s8中为yes),则fpga3判定在该更新速率内是否存在电压u1或电流i1的周期分割点(步骤s9)。如果存在周期分割点(步骤s9中为yes),则fpga3判定在此次的更新速率之前是否存在周期分割点(步骤s10)。
如果在此次的更新速率之前存在周期分割点(步骤s10中为yes),则fpga3在基于由采样数除从此次的更新速率之前的最后的周期分割点(=更新前周期分割点)起直至此次的更新速率内的最后的周期分割点(=此次最终周期分割点)为止的累计值所得到的值而对电压有效值、电流有效值、电力平均值进行运算之后(步骤s11),返回至步骤s1。
另一方面,如果在此次的更新速率之前不存在周期分割点(步骤s10中为no),则fpga3判定此次的更新速率内是否输入有大于或等于一个周期的完整周期(步骤s12)。如果存在完整周期(步骤s12中为yes),则fpga3在基于由采样数除输入至更新速率内的所有完整周期的数据的累计值所得到的值而对电压有效值、电流有效值、电力平均值进行运算之后(步骤s13),返回至步骤s1。如果不存在完整周期(步骤s12中为no),则fpga3不对电压有效值、电流有效值、电力平均值进行运算而是返回至步骤s1。
基于图7、图8对上述自动更新时、且后述的超时之前的动作(步骤s10~s13)进行说明。如图7所示,在第1个更新速率内输入有2个周期的完整周期。另外,不存在更新速率前周期分割点。此时,fpga3基于2个周期的数据的累计值(即,n=2至n=13的累计值)而对有效值等进行运算。
在第2个、第3个更新速率内存在周期分割点,在各更新速率之前存在周期分割点。此时,如果第2个、第3个更新分别结束,则fpga3基于从更新速率前周期分割点起直至第2个、第3个更新速率内的最后的周期分割点为止的数据的累计值(即,n=14至n=27的累计值,n=28至n=39的累计值)而对有效值等进行运算。
另一方面,如图8所示,在第1个更新速率内不存在周期分割点。因此,在第1个更新速率结束时不进行有效值的运算。在第2个更新速率内存在周期分割点,但在第2个更新速率之前不存在周期分割点。因此,在第2个更新速率结束时也不进行有效值的运算。在第3个~第5个更新速率内不存在周期分割点。因此,在第3个~第5个更新速率结束时不进行有效值的运算。在第6个更新速率内存在周期分割点,在第6个更新速率之前存在周期分割点。因此,在第6个更新速率结束时,基于从更新速率前周期分割点起直至第6个更新速率内的最后的周分隔符为止的数据的累计值(即,n=17至n=58的累计值)而对有效值等进行运算。
下面,在对图3中的步骤s14~s18的动作进行说明之前,参照图5对fpga3的超时计数功能进行说明。首先,在autoupdate=1时(步骤s20中为yes),每当更新速率结束时(步骤s21中为yes),fpga3判定该更新速率内是否存在周期分割点(步骤s22)。而且,如果存在周期分割点(步骤s22中为yes),则fpga3将超时计数器重置为0(步骤s23),返回至步骤s20。另一方面,如果不存在周期分割点(步骤s22中为no),则fpga3在使超时计数器进行累加之后(步骤s24),返回至步骤s20。即,超时计数器对持续判定为不存在周期分割点的更新速率的次数进行计数。但是,即使在存在周期分割点的情况下(步骤s22中为yes),在该周期分割点刚开始之后或者刚重置之后的周期分割点的情况下,也不将超时计数器重置为0,而是使该超时计数器进行累加。
下面,对图3中的步骤s14~s17的动作进行说明。如果在更新速率内不存在周期分割点(步骤s9中为no),则fpga3作为超时判定单元而起作用,判定上述超时计数器是否大于或等于超时次数(步骤s14)。如果小于超时次数(步骤s14中为no)而未超时,则fpga3返回至步骤s1。另一方面,如果大于或等于超时次数(=规定次数),则fpga3判定为超时(步骤s14中为yes)。而且,fpga3在判定为不存在完整周期的最初的更新速率之前判定是否存在周期分割点(步骤s15)。此外,通过适当地设定超时次数,还能够对长周期、直流信号进行测定。
如果存在周期分割点(步骤s15中为yes),则在基于由采样数除判定为不存在完整周期的最初的更新速率之前的最后的周期分割点(计数开始前周期分割点)之后的数据的累计值所得到的值而对电压有效值、电流有效值、电力平均值进行运算之后(步骤s16),进入步骤s18。如果不存在分隔符(步骤s15中为no),则在基于由采样数除判定为不存在完整周期的最初的更新速率开始之后的数据的累计值所得到的值而对电压有效值、电流有效值、电力平均值进行运算之后(步骤s17),返回至步骤s18。
在步骤s18中,fpga3对超时计数器进行重置,并且对此前的周期分割点也进行重置而返回至步骤s1。
基于图9~图11对上述自动更新时、且超时之后的动作(步骤s14~s17)进行说明。此外,在图9所示的情况下,设定为超时次数=2次。如图9所示,将2个周期的完整周期输入至第1个更新速率。另外,不存在更新速率前周期分割点。此时,fpga3基于2个周期的数据的累计值(即,n=2至n=13的累计值)而对有效值等进行运算。在第2个更新速率内不存在完整周期,因此不进行对有效值等的运算。另外,在第2个更新速率结束时,使超时计数器进行累加,变为计数值=1。
在第3个更新速率内不存在完整周期。在第3个更新速率结束时使超时计数器进行累加,变为计数值=2。此时,判定为超时,由于在判定为在不存在完整周期的最初的更新速率(第2个更新速率)之前存在周期分割点,因此基于从该周期分割点起直至判定为超时的更新速率结束为止的累计值(即,n=14至n=51的累计值)而对有效值等进行运算。
另外,在图10、图11所示的情况下,设定为超时次数=3次。如图10、图11所示,第1个、第2个更新速率内未输入完整周期。因此,不对有效值等进行运算。而且,每当第1个、第2个更新速率结束时,都使超时计数器进行累加。在第3个更新速率内也未输入完整周期,因此在第3个更新速率结束时也使超时计数器进行累加,变为计数值=3而判定为超时。此时,在判定为不存在完整周期的最初的更新速率(第1个更新速率)之前不存在周期分割点,因此基于从最初的更新速率开始起直至判定为超时的更新速率结束时为止的累计值(即,n=1至n=51的累计值)而对有效值等进行运算。
下面,再次参照图2对fpga3的详细结构进行说明。
定时控制电路307具有mest_1st·meend_last发生器307a、选择器307b、作为检测单元的边沿检测器307c、计数器、第1计数器重置单元、第1标志单元、第2计数器重置单元、计数器重置控制单元、第2标志单元、作为标志控制单元的zc边沿计数器307d。
在autoupdate=0时,mest_1st·meend_last发生器307a将0和mest_1st、meend_last一起输出。在autoupdate=1时,mest_1st·meend_last发生器307a在开始测定之后,在最开始将mest输出的定时输出mest_1st。另外,如果mest_1st·meend_last发生器307a输出了后述的meend_last,则在下一个mest时将其作为mest_1st而输出。另外,在autoupdate=1时,每当输出mest_1st时,mest_1st·meend_last发生器307a利用计数器对meend的数量进行计数,如果达到设定的超时次数,则将此次的meend作为meend_last而输出。在meend_last时、或者后述的count_zc≥2且是meend时将对该meend的数量进行计数的计数器初始化为0。即,mest_1st·meend_last发生器307a执行上述图5所示的动作。
选择器307b选择从零交叉检测器23输出的zcu和从零交叉检测器26输出的zci中的1个作为输出zc。边沿检测器307c对zc的上升沿进行检测并将其作为zc_edge而输出。即,零交叉检测器23、26、选择器307b以及边沿检测器307c作为检测单元而起作用,在检测出周期分割点的定时将zc_edge输出。
在autoupdate=0时,zc边沿计数器307d在来自mest·meend发生器301的mest的定时将count_zc初始化为0。另外,作为标志的flag_past_2over设定为0。
电压平方平均值运算电路308具有第1加法运算器重置单元、第2加法运算器重置单元、作为加法运算器重置控制单元的加法运算器308a、作为保存单元的选择器308b、存储器308c、加法运算器308d、存储器308e、加法运算器308f、选择器308g以及除法运算器308h。
加法运算器308a将u_sqr(n)和当前的加法运算值相加,将其结果作为sum_inst_u而输出。加法运算器308a在边沿检测器307c的输出zc_edge的定时也将加法运算值sum_inst_u初始化为0。另外,在autoupdate=0时,加法运算器308a在mest的定时将加法运算值sum_inst_u初始化为0,在autoupdate=1时,加法运算器308a在mest_1st的定时将加法运算值sum_inst_u初始化为0。
选择器308b在count_zc=1且是zc_edge时将sum_inst_u输出至sum_inst_prezc_u。存储器308c在该定时对sum_inst_prezc_u进行保存并作为sum_prezc_u而输出。选择器308b在count_zc≥2且是zc_edge时将sum_inst_u输出至sum_inst_zc_u。
如果在该定时count_zc=2,则加法运算器308d将sum_inst_zc_u保存于存储器308e。如果count_zc≥3,则加法运算器308d将sum_inst_zc_u和存储器308e的输出sum_zc_u相加并将其结果保存于存储器308e。存储器308e将保存的数据作为sum_zc_u而输出。
在autoupdate=0时,如果在meend的定时count_zc=0,则选择器308g将sum_inst_u作为sum_u而输出。如果count_zc=1,则选择器308g将利用加法运算器308f对sum_inst_u和sum_prezc_u进行加法运算而得到的输出sum_all_u作为sum_u而输出。如果count_zc≥2,则选择器308g将sum_zc_u作为sum_u而输出。
在autoupdate=1时,如果在meend_last的定时count_zc=0,则选择器308g将sum_inst_u作为sum_u而输出。如果在meend_last的定时count_zc=1且flag_past_2over=0,则选择器308g将利用加法运算器308f对sum_inst_u和sum_prezc_u进行加法运算所得到的输出sum_all_u作为sum_u而输出。如果在meend_last的定时count_zc=1且flag_past_2over=1,则选择器308g将sum_inst_u作为sum_u而输出。如果在meend的定时count_zc≥2,则选择器308g将sum_zc_u作为sum_u而输出。除法运算器308h进行sum_u/count_smp的运算并将运算结果作为avg_u而输出。
采样数运算电路309具有计数器309a、选择器309b、存储器309c、加法运算器309d、存储器309e、加法运算器309f以及选择器309g。
计数器309a对smpck的数量进行计数并将其结果作为count_smp_inst而输出。在autoupdate=0时,计数器309a在mest的定时初始化为0。在autoupdate=1时,计数器309a在mest_1st的定时初始化为0。另外,在zc_edge的定时,计数器309a也初始化为0。
在count_zc=1且是zc_edge时,选择器309b将count_smp_inst输出至count_smp_inst_prezc。存储器309c在该定时对count_smp_inst_prezc进行保存并作为count_smp_prezc而输出。在count_zc≥2且是zc_edge时,选择器309b将count_smp_inst输出至count_smp_inst_zc。如果在该定时count_zc=2,则加法运算器309d将count_smp_inst_zc保存于存储器309e。如果count_zc≥3,则加法运算器309d将count_smp_inst_zc和存储器309e的输出count_smp_zc相加并将其结果保存于存储器309e。存储器309e将保存的数据作为count_smp_zc而输出。
在autoupdate=0时,如果在meend的定时count_zc=0,则选择器309g将count_smp_inst作为count_smp而输出。如果count_zc=1,则选择器309g将利用加法运算器309f对count_smp_inst和count_smp_prezc进行加法运算所得到的输出count_smp_all作为count_smp而输出。如果count_zc≥2,则选择器309g将count_smp_zc作为count_smp而输出。
在autoupdate=1时,如果在meend_last的定时count_zc=0,则选择器309g将count_smp_inst作为count_smp而输出。如果在meend_last的定时count=1且flag_past_2over=0,则选择器309g将利用加法运算器309f对count_smp_inst和count_smp_prezc进行加法运算所得到的输出count_smp_all作为count_smp而输出。如果在meend_last的定时count_z=1且flag_past_2over=1,则选择器309g将count_smp_inst作为count_smp而输出。如果在meend的定时count_zc≥2,则选择器309g将count_smp_zc作为count_smp而输出。
平方根运算器310对avg_u的平方根进行运算,将其结果作为rms_u而输出并向cpu4传送。
与电压平方平均值运算电路308相同地,电流平方平均值运算电路311具有加法运算器308a、选择器308b、加法运算器308d、存储器308c、308e、加法运算器308f、选择器308g以及除法运算器308h。电流平方平均值运算电路311被供给来自与电压平方平均值运算电路308共用的定时控制电路307的mest、mest_1st、zc_edge、count_zc、meend、meend_last、flag_past_2over、来自采样数运算电路309的count_smp。而且,电流平方平均值运算电路311将在与电压平方平均值运算电路308同样的定时对i_sqr(n)进行累计所得到的sum_u除以count_smp所得到的值作为avg_i而输出。
平方根运算器312对avg_i的平方根进行运算,将其结果作为rms_i而输出并向cpu4传送。
与电压平方平均值运算电路308相同地,电力平均值运算电路313具有加法运算器308a、选择器308b、加法运算器308d、存储器308c、308e、加法运算器308f、选择器308g以及除法运算器308h。电力平均值运算电路313也被供给来自与电压平方平均值运算电路308共用的定时控制电路307的mest、mest_1st、zc_edge、count_zc、meend、meend_last、flag_past_2over、来自采样数运算电路309的count_smp。而且,电力平均值运算电路313将在与电压平方平均值运算电路308同样的定时对p(n)进行累计所得到的sum_u除以count_smp所得到的值作为avg_p而向cpu4输出。
参照图6~图10对上述结构的fpga3的动作进行说明。
图6表示固定更新模式下的各处理的输出的时序图。此外,1个更新速率期间的采样时钟smpck的个数实际上更多,这里为了便于说明而减少其个数。1个更新速率由mest至meend进行划分。在meend的定时,求出其更新期间的电压有效值rms_u。sum_inst_u是将u(n)∧2相加得到的值,这里将其最终值记作s1、s2···。最终值是指直至zc_edge之前为止的加法运算值、或者直至meend为止的加法运算值。
在n=17的meend的定时,count_zc=3,因此avg_u=(s2+s3)/12,此时变为
在n=34的meend的定时,count_zc=2,因此avg_u=s6/8,此时变为
在n=51的meend的定时,count_zc=1,因此avg_u=(s8+s9)/17,此时变为
在n=68的meend的定时,count_zc=1,因此avg_u=(s10+s11)/17,此时变为
图7是表示autoupdate=1时的各处理的输出的时序图的例1。此外,1个更新速率期间的采样时钟smpk的个数实际上更多,但这里为了便于说明而减少其个数。
1个更新速率由mest至meend进行划分。在meend的定时,如果count_zc≥2,则求出此时的最新的电压有效值rms_u。如果在meend的定时count_zc≤1,则不求出rms_u。
sum_inst_u是将u(n)∧2相加所得到的值,这里将其最终值记作s1、s2···。最终值是指直至zc_edge之前为止的加法运算值、或者直至meend_last为止的加法运算值。
在n=17的meend的定时,count_zc=3,因此avg_u=(s2+s3)/12,此时变为
在n=34的meend的定时,count_zc=3,,因此avg_u=(s4+s5)/14,此时变为
在n=51的meend的定时,count_zc=2,因此avg_u=s6/12,此时变为
在n=68的meend的定时,count_zc=2,因此avg_u=s7/18,此时变为
图8是表示autoupdate=1时的各处理的输出的时序图的例2。
在n=11的meend的定时,count_zc=0,因此不求出rms_u。
在n=22的meend的定时,count_zc=1,因此不求出rms_u。
在n=33的meend的定时,count_zc=1,因此不求出rms_u。
在n=44的meend的定时,count_zc=1,因此不求出rms_u。
在n=55的meend的定时,count_zc=1,因此不求出rms_u。
在n=66的meend的定时,count_zc=2,因此avg_u=s2/42,此时变为
图9是表示autoupdate=1时的各处理的输出的时序图的例3。为了表示超时时的动作,是将超时次数设定为2的情况下的例子。例如如果更新速率=50ms、超时时间为1s,则实际的超时次数为20,如果超时时间为20s,则实际的超时次数为400。
在n=17的meend的定时,count_zc=3,因此avg_u=(s2+s3)/12,此时变为
在n=34的meend的定时,count_zc=1,因此不求出rms_u。
在n=51的meend的定时,meend的计数值达到超时次数,因此将meend_last输出。此时,count_zc=1且flag_past_2over=1,因此avg_u=s4/38,此时变为
在n=68的meend的定时,count_zc=2,因此avg_u=s6/6,此时变为
图10是表示autoupdate=1时的各处理的输出的时序图的例4。为了表示超时时的动作,是将超时次数设定为3的情况下的例子。
在n=17的meend的定时,count_zc=0,因此不求出rms_u。
在n=34的meend的定时,count_zc=1,因此不求出rms_u。
在n=51的meend的定时,meend的计数值达到超时次数,因此将meend_last输出。此时,count_zc=1且flag_past_2over=0,因此avg_u=(s1+s2)/51,此时变为
在n=68的meend的定时,count_zc=1,因此不求出rms_u。
图11是表示autoupdate=1时的各处理的输出的时序图的例5。为了表示超时时的动作,是将超时次数设定为3的情况下的例子。
在n=17的meend的定时,count_zc=0,因此不求出rms_u。
在n=34的meend的定时,count_zc,因此不求出rms_u。
在n=51的meend的定时,meend的计数值达到超时次数,因此将meend_last输出。此时,count_zc=0,因此avg_u=s1/51,此时变为
在n=68的meend的定时,count_zc=1,因此不求出rms_u。
根据上述实施方式,fpga3对周期分割点进行检测。而且,在判定为在更新速率内输入有大于或等于一个周期的情况下(即,在更新速率内检测出多个周期分割点的情况下),关于检测出大于或等于一个周期的更新速率,fpga3至少对以多个周期分割点而规定的所有周期的u_sqr(n)、i_sqr(n)、p(n)进行累计而对有效值等进行运算。关于检测出1个周期分割点的更新速率,fpga3对由1个周期分割点和1个周期分割点的1个之前的周期分割点规定的一个周期的u_sqr(n)、i_sqr(n)、p(n)进行累计而对有效值等进行运算。
由此,如果在更新速率内输入有大于或等于一个周期的电压u1或者电流i1,则针对每个更新速率而求出有效值或平均值,如果在更新速率内未输入大于或等于一个周期的电压u1或者电流i1,则针对每一个周期的电压u1或者电流i1而求出有效值或平均值。由此,即使在电压u1或者电流i1的频率较低的情况下,也能够准确地求出有效值或平均值。
即,电压波形的频率相对于更新速率较低且未输入大于或等于1个周期,因此即使在无法准确地进行测定的情况下,根据本实施方式,也能够改善为跨越多个更新速率地对运算区间进行处理,作为周期的整数倍的运算区间而能够准确地进行测定。此时,电力计1的使用者无需如以往那样对电力计1的更新速率进行变更,可以自动地决定跨越更新速率的次数。
当前,如果预先将更新速率设定为较长,则以较低的频率也能够进行测定,但却耗费时间,在电压波形的频率较高的情况下,变为无用的等待时间,但根据本实施方式,能够将更新速率设为最短,因此在频率较高的情况下能够以1次的更新速率进行测定,因此不会产生无用的等待时间。
当前,在电压波形的频率变化的情况下,每次都对更新速率进行变更,较为繁琐,另外,在频率的变化较快的情况下,有时更新速率的变更跟不上,但根据本实施方式,自动地追随频率,因此即使在这种情况下也能够准确地进行测定。
另外,当前,在更新速率内输入有大于或等于一个的周期的电压u1或电流i1的情况下,关于跨越更新速率与更新速率之间而输入有一个周期的电压u1或电流i1,并非累计的对象,无法对该部分进行测定。
根据上述实施方式,在更新速率内输入有大于或等于一个的周期的电压u1或电流i1、且在上一次的更新速率内存在电压u1或电流i1的周期分割点的情况下,fpga3对从该上一次的更新速率的最后的周期分割点起直至此次的更新速率的最后的周期分割点为止的u_sqr(n)、i_sqr(n)、p(n)进行累计而对有效值或所述平均值进行运算。
由此,关于跨越更新速率与更新速率之间而输入有一个周期的电压u1或电流i1,也包含在累计区间内,因此基本上能够消除除了运算对象以外的部分。
根据上述实施方式,如果判定为超时,则fpga3对未输入大于或等于一个周期的电压u1或电流i1的最初的更新速率的开始起直至判定为超时的更新速率的结束为止的u_sqr(n)、i_sqr(n)、p(n)进行累计而对有效值等进行运算。
在电压u1或电流i1为dc的情况下,在上述的判定为超时时运算的有效值或平均值是适当的值。由此,即使在电压u1或电流i1为dc的情况下,也能够对有效值或平均值进行测定。
根据上述实施方式,在autoupdate=1的情况下,加法运算器308a在检测出周期分割点时(zc_edge的定时)以及判定为超时的定时(meend_last的定时)被重置。flag_past_2over在meend_last的定时被关闭,在count_zc在更新速率结束时(meend的定时)大于或等于2时被开启。另外,在判定为超时的定时且count_zc=0时、在判定为超时的定时且count_zc=1且flag_past_2over=1时、在更新速率结束的定时且count_zc大于或等于2时,选择器308g基于加法运算器308a的加法运算值而对有效值或平均值进行运算,在判定为超时的定时且count_zc=1且flag_past_2over=0时,选择器308g基于对加法运算器308a的加法运算值加上存储器308c的值所得到的值而对有效值或平均值进行运算。
通过设定flag_past_2over,例如在图9所示的情况下,在超时之后,不在n=14至n=51的累计值的基础上加上存储器308c中存储的n=1的累计值s1。
由此,不将cpu等用作运算单元,可以利用能以低成本而高速地进行乘积和运算的fpga。
另外,根据上述实施方式,在autoupdate=0的情况下,在检测出周期分割点时以及更新速率开始的定时(mest的定时)对加法运算器308a进行重置。始终将flag_past_2over关闭。另外,在更新速率开始的定时且count_zc=0时、在更新速率开始的定时且count_zc=大于或等于2的值时,基于加法运算器308a的加法运算值而对有效值或平均值进行运算,在更新速率开始的定时且count_zc=1时,基于对加法运算器308a的加法运算值加上存储器308c的值所得到的值而对有效值或平均值进行运算。
由此,fpga3能够以简单的结构对自动更新模式和固定更新模式这2种模式进行切换而进行动作。
此外,在上述实施方式中,将电压u1或电流i1的上升沿作为周期分割点而进行了检测,但并不局限于此。也可以利用边沿检测器307c对下降沿进行检测并将该下降沿作为周期分割点。
并且,不将上升、下降固定,如果mest_1st之后的最初的边沿上升,则对于此后的边沿也将上升沿作为周期分割点而进行检测。如果mest_1st之后的最初的边沿下降,则对于此后的边沿也可以将下降沿作为周期分割点而进行检测。
另外,在上述实施方式中以电压有效值、电流有效值作为对象,但也可以将图2中的平方运算器304、305改变为绝对值运算器而设为mean(有效值换算平均值)、或者不通过平方运算器304、305地设为dc(平均值)。
另外,在上述实施方式中,如果在更新速率内例如输入有3个周期,则对3个周期的数据进行累计,但并不局限于此。只要至少对一个周期的数据进行累计即可,如上所述,即使在更新速率内输入有3个周期,也可以仅对一个周期的数据进行累计。
另外,在上述实施方式中,具有超时功能,但该功能并非必不可少,也可以不具有该功能。
另外,在上述实施方式中,电力测定要素设为1个(输入电路为u1、i1的1组),但是,例如也可以如两相交流、三相交流那样设为2个(输入电路为u1、i1、u2、i2的2组)、3个(输入电路为u1、i1、u2、i2、u3、i3的3组)或者大于或等于该数量。
例如在设为3个要素的情况下,如图12、图13所示,可以分别准备3个除了图2中的mest·meend发生器301、autoupdate设定302、采样时钟发生器303以外的部分。
在该情况下,即使zc的定时根据每个要素而不同、或者频率根据每个要素而不同,也能够进行测定。另外,即使只有1个要素超时,其他要素也不会受到其影响而变为连续的运算区间。
另外,不仅根据相同要素的zcu、zci而选择选择器307b,还可以根据其他要素的zcu、zci而进行选择,从而还能够设为3个要素均相同的zc的定时的运算区间。
rms_u、rms_i、avg_p设置有专用的电压平方平均值运算电路308、电流平方平均值运算电路311、电力平均值运算电路313而进行并行处理,但电路308、311、313的处理是共通的,因此与采样频率相比,如果系统时钟的频率足够高,则可以以时间分割的方式将u_sqr(n)、i_sqr(n)、p(n)输入并使电路308、311、313形成为1个电路。另外,即使在前述的大于或等于2个的要素的情况下,也可以以时间分割的方式将u1_sqr(n)、u2_sqr(n)、u3_sqr(n)、···、i1_sqr(n)、i2_sqr(n)、i3_sqr(n)、···、p1(n)、p2(n)、p3(n)···输入而使得电路308~313形成为1个电路。
另外,在上述实施方式中,将模拟的电压输入电路21、电流输入电路24的输出输入至零交叉检测器23、26而求出zcu、zci,但并不局限于此。也可以使用对a/d变换后的u(n)、i(n)的数据是正还是负进行判定、并与其相应地将zcu、zci输出的零交叉检测器23、26。
此外,前述的各实施方式不过表示本发明的代表性的方式而已,本发明并不限定于实施方式。即,本领域技术人员能够根据当前公知的见解而在不脱离本发明的本质的范围内进行各种变形而实施。通过这样的变形,此外,只要具有本发明的运算装置的结构,当然也包含在本发明的范围中。