ADE9000 Technical Reference Manual
UG-1098
Rev. 0 | Page 23 of 86
CF Pulse Sign
Some applications must record positive and negative energy usage
separately. To facilitate this, the SUMxSIGN bits in the PHSIGN
register indicate whether the sum of the energy that went into
the last CFx pulse was positive or negative. SUMxSIGN is zero
if the sum of the energy that went into the CFx pulse is positive,
and equal to one if the sum of the energy was negative.
Furthermore, the REVPSUMx bits in the STATUS0 register and
EVENT_STATUS register indicate if the CF polarity changed sign.
For example, if the last CF2 pulse represents positive reactive
energy and the next CF2 pulse represents negative reactive energy,
the REVPSUM2 bit in the STATUS0 and EVENT_STATUS
registers is set. This event can be enabled to generate an interrupt
on IRQ0.
Clearing the CF Accumulator
It can be desirable to clear out a partial CF accumulation, for
example, during the power-up and initialization process. To
clear the accumulation in the digital to frequency converter and
CFDEN counter, write the CF_ACC_CLR bit in the CONFIG1
register to 1. The CF_ACC_CLR bit automatically clears itself.
Disabling the CF Pulse Output and CFx Interrupt
To disable the CFx pulse output and keep the CFx output high,
write a 1 to the CFx_DIS bit in the CFMODE register. If the
CFx output is disabled, the CFx bit in STATUS0 is not set when
a new CF pulse is ready. Note that the REVPSUMx bits, which
indicate if CF pulses were positive or negative, are not affected
by the CFx_DIS setting.
POWER ACCUMULATION
Figure 21 shows how AWATT low-pass filtered active power
samples are accumulated to provide an accurate active power
value in the AWATT_ACC register. The sign of the Phase A
total active power accumulation is monitored in the REVAPA
status bit, and interrupts can be enabled if the power changes
sign. There are corresponding x_ACC accumulations for each
power on each phase and REVx status bits in STATUS0 to
indicate if the power changes sign.
Power Accumulation Details
Figure 21 shows how AWATT values are accumulated into an
internal power accumulator and then are latched into the
xWATT_ACC register at a rate of PWRRDY.
PWRRDY is set after PW 1 samples at 8 ksps have
been accumulated. The power accumulation time can be
calculated according to the following equation:
+
=
8000
1
_
(sec)
TIME
PWR
Time
on
Accumulati
Power
Internal
The PWR_TIME[12:0] register allows up to (8191 + 1) =
8192 samples to be accumulated, which corresponds to
8192/8000 = 1.024 sec:
sec
024
.
1
8000
1
8091
(sec)
=
+
=
Time
on
Accumulati
Power
Internal
The internal power accumulator overflows at the same rate as
the internal energy accumulator (see the Internal Energy
Register Overflow Rate section).
Accessing the User Power Registers
Each 42-bit user accessible signed power accumulator is divided
into a register containing the 32 most significant bits, x_ACC,
as shown in Figure 24.
f
DSP
0
INTERNAL
POWER
ACCUMUL ATOR
41
31
+
+
31
0
AWATT_ACC
AWATT
13
15523-
025
Figure 25. Internal Power Register to AWATT_ACC
The expected user power accumulation can be calculated
according to this formula based on the average AWATT value.
USER_POWER_ACCUMULATION
=
AWATT
× (
PWR_TIME
+ 1)
Then, expected data in the 32-bit power accumulation registers
(xWATT_ACC, xVAR_ACC, and xVA_ACC) can be calculated
as follows:
Power accumulation register
=
ROUNDDOWN(
USER_POWER_ACCUMULATION
× 2
−13
)
For example, if 4000 samples of AWATT are accumulated, at
8 ksps with full-scale inputs, the expected value of
AWATT_ACC is 0x009B_0003:
USER_POWER_ACCUMULATION
=
20,694,066 × (3999 + 1) = 82776264000
AWATT_ACC
= ROUNDDOWN(82776264000 × 2
−13
) =
10104524 = 0x009A_2ECC
To determine the consumption in watts, multiply xWATT_ACC
by the W/LSB constant: xWATT_ACC × W/LSB.
Note that W/LSB varies with PWR_TIME accumulation time.
Power Sign Detection
The REVRPC, REVRPB, REVRPA, REVAPC, REVAPB, and
REVAPA bits in the STATUS0 register allow the user to monitor
if the active or reactive power on any phase has changed sign.
The PWR_SIGN_SEL[1:0] bits allow the user to select whether
the power sign change follows the total or fundamental
energies. To have the REVAPx power sign status bits track total
watt, PWR_SIGN_SEL[0] = 0. To track fundamental VAR on
REVRPx bits, write PWR_SIGN_SEL[1] = 1.