Professional Documents
Culture Documents
Ade9000
Ade9000
Ade9000
Technical Support
Submit a technical question or find your regional support
number
* This page was dynamically generated by Analog Devices, Inc. and inserted into this data sheet. Note: Dynamic changes to
the content on this page does not constitute a change to the revision number of the product data sheet. This content may be
frequently modified.
ADE9000 Preliminary Technical Data
LDO ADE9000
PGA ADC
METROLOGY FEATURES
PGA ADC CF
(PER PHASE) 1-4
PGA ADC IRMS, VRMS
SINC WATT, VA
& WATT-Hr, VA-Hr
DECIMATION IRQ
PGA ADC ITHD, VTHD
WAVEFORM BUFFER 0-1
PGA ADC ½ CYCLE RMS
10/12 CYCLE RMS
DIP, SWELL SPI
PGA ADC LINE FREQUENCY
ETC.
PGA ADC
1
Protected by U.S. Patents 5,952,849; 6,873,065; 7,075,329; 6,262,600; 7,489,526; 7,558,080. Other patents are pending.
TABLE OF CONTENTS
Features ............................................................................................... 1 Applying ADE9000 to a 3-Wire Delta service ....................... 27
Applications ....................................................................................... 1 Applying ADE9000 to a Non-BLondel Compliant 4-Wire
ADE9000 Metrology Functions .................................................. 5 Wye service .................................................................................. 28
VA, VA-HR
SPECIFICATIONS
VDD = 2.97 to 3.63V, GND = AGND = DGND = 0 V, on-chip reference, CLKIN = 24.576 MHz XTAL, TMIN to TMAX = −40°C to +85°C, TA
= 25°C (typical).
Table 2.
Parameter Min Typ Max Unit Test Conditions/Comments
ACCURACY (Measurement Error per
Phase)
Total Active Energy 0.1 % typ Over a dynamic range of 5000 to 1, 10s
accumulation
0.2 % typ Over a dynamic range of 10000 to 1, 20s
accumulation
Total Reactive Energy 0.1 % typ Over a dynamic range of 5000 to 1, 10s
accumulation
0.2 % typ Over a dynamic range of 10000 to 1, 20s
accumulation
Total Apparent Energy 0.1 % typ Over a dynamic range of 1000 to 1, 2s
accumulation
0.5 % typ Over a dynamic range of 5000 to 1, 10s
accumulation
TBD % typ Over a dynamic range of 10000 to 1, 20s
accumulation
Fundamental Reactive Energy 0.1 % typ Over a dynamic range of 5000 to 1, 2s
accumulation
0.2 % typ Over a dynamic range of 10000 to 1, 10s
accumulation
Fundamental Active Energy 0.1 % typ Over a dynamic range of 5000 to 1, 2s
accumulation
0.2 % typ Over a dynamic range of 10000 to 1, 10s
accumulation
Fundamental Apparent Energy 0.1 % typ Over a dynamic range of 5000 to 1, 2s
accumulation
0.2 % typ Over a dynamic range of 10000 to 1, 10s
accumulation
Irms, Vrms 0.1 % typ Over a dynamic range of 1000 to 1
0.5 % typ Over a dynamic range of 5000 to 1
TBD % typ Over a dynamic range of 10000 to 1
Fundamental Irms, Vrms 0.1 % typ Over a dynamic range of 1000 to 1
0.5 % typ Over a dynamic range of 5000 to 1
Total Harmonic Distortion 1 % typ Over a dynamic range of 5000 to 1
(THDV, THDI)
1
Enables implementation of IEC61000-4-30 Class S
2
Tested during device characterization
2 DGND Digital Ground. This provides the ground reference for the digital circuitry in the ADE9000. Because the
digital return currents in the ADE9000 are small, it is acceptable to connect this pin to the analog ground
plane of the whole system.
3 DVDDOUT 1.8V Output of the Digital Low Dropout Regulator (LDO). Decouple this pin with a 0.1 μF ceramic capacitor
in parallel with a ceramic 4.7 μF capacitor.
4 PMO Power Mode Pin 0. PM0, combined with PM1, defines the power mode. For normal operation, PM0 and
PM1 should be grounded—see Power Modes section.
5 PM1 Power Mode Pin 1. PM1 combined with PM0, defines the power mode. For normal operation, PM0 and
PM1 should be grounded— see Power Modes section.
6 RESET Reset Input, Active Low. This pin must stay low for at least 1μs to trigger a hardware reset.
7 IAP Analog Inputs, Channel 0. The IAP (positive) and IAN (negative) inputs are fully differential voltage inputs
8 IAN with a maximum differential level of +/-1V. This channel also has an internal PGA of 1, 2 or 4
9 IBP Analog Inputs, Channel 1. The IBP (positive) and IAN (negative) inputs are fully differential voltage inputs
10 IBN with a maximum differential level of +/-1 V. This channel also has an internal PGA of 1, 2 or 4
11 ICP Analog Inputs, Channel 2. The ICP (positive) and CH2N (negative) inputs are fully differential voltage inputs
12 ICN with a maximum differential level of +/-1 V. This channel also has an internal PGA of 1, 2 or 4
13 INP Analog Inputs, Channel 3. The INP (positive) and INN (negative) inputs are fully differential voltage inputs
14 INN with a maximum differential level of +/-1 V. This channel also has an internal PGA of 1, 2 or 4
15 REFGND Ground Reference, Internal Voltage Reference—see layout recommendation for how to connect grounds.
16 REFIN The REFIN/OUT pin provides access to the on-chip voltage reference. The on-chip reference has a nominal
value of 1.25V. An external reference source of 1.2 to 1.25V can also be connected at this pin. In either case,
Rev. PrC | Page 11 of 111
ADE9000 Preliminary Technical Data
Pin
No. Mnemonic Description
decouple REFIN/OUT to REFGND with 0.1 μF ceramic capacitor in parallel with a ceramic 4.7 μF capacitor.
After reset, the on-chip reference is enabled. To use the internal voltage reference with external circuits, a
buffer is required.
17 NC1 No connect. It is recommended to tie this pin to ground.
18 NC2 No connect. It is recommended to tie this pin to ground.
19 VAN Analog Inputs, Channel 4. The VAP (positive) and VAN (negative) inputs are fully differential voltage inputs
20 VAP with a maximum differential level of +/-1 V. This channel also has an internal PGA of 1, 2 or 4
21 VBN Analog Inputs, Channel 5. The VBP (positive) and VBN (negative) inputs are fully differential voltage inputs
22 VBP with a maximum differential level of +/-1 V. This channel also has an internal PGA of 1, 2 or 4
23 VCN Analog Inputs, Channel 6. The VCP (positive) and VCN (negative) inputs are fully differential voltage inputs
24 VCP with a maximum differential level of +/-1 V. This channel also has an internal PGA of 1, 2 or 4
25 AVDDOUT 1.9 V Output of the Analog Low Dropout Regulator (LDO). Decouple AVDDOUT with a 0.1 μF ceramic
capacitor in parallel with a ceramic 4.7 μF capacitor. Do not connect external active circuitry to this pin.
26 AGND Analog Ground Reference—see layout recommendation for how to connect grounds.
27 VDD Supply Voltage. The VDD pin provides the supply voltage. Decouple VDD to GND with a ceramic 0.1 μF
capacitor in parallel with a ceramic 10 μF F capacitor.
28 GND Supply Ground Reference—connect all grounds GND, AGND, DGND, REFGND together at one point.
29 CLKIN Connect a crystal across CLKIN and CLKOUT to provide a clock source. See the Crystal Selection section for
details on choosing a suitable crystal. Alternatively, an external clock can be provided at this logic input.
30 CLKOUT Crystal Output. Connect a crystal across CLKIN and CLKOUT to provide a clock source. Note: when using
CLKOUT to drive external circuits, connect an external buffer.
31 IRQ0 Interrupt Request Outputs. These are active low logic outputs. See the Interrupts/EVENT section for
information about events that trigger interrupts.
32 IRQ1 Interrupt Request Outputs. These are active low logic outputs. See the Interrupts/EVENT section for
information about events that trigger interrupts.
33 CF1 Calibration Frequency (CF) Logic Outputs. The CF1, CF2, CF3 and CF4 outputs provide power information
based on the CFxSEL[2:0], bits in the CFMODE register. Use these outputs for operational and calibration
purposes. Scale the full-scale output frequency by writing to the CFxDEN, registers, respectively (see the
Digital to Frequency Conversion—CF Output section).
34 CF2 This pin is used to indicate CF2
35 CF3/ ZX This pin is used to indicate CF3 or zero crossing (ZX)
36 CF4/EVENT /DREADY This pin is used to indicate CF4, events (EVENT), or when new data is ready (DREADY)
37 SCLK Serial Clock Input for the SPI Port. All serial data transfers synchronize to this clock (see the Accessing
Onchip Data section). The SCLK pin has a Schmitt trigger input for use with a clock source that has a slow
edge transition time, for example, opto-isolator outputs.
38 MISO Data Output for the SPI Port
39 MOSI Data Input for the SPI Port
40 SS Slave Select for the SPI Port
EP Exposed Pad. Create a similar pad on the printed circuit board (PCB) under the exposed pad. Solder the
exposed pad to the pad on the PCB to confer mechanical strength to the package and connect all grounds
GND, AGND, DGND, REFGND together at this point.
TEST CIRCUIT
Figure 9. Test Circuit
TERMINOLOGY
Differential Input Voltage Range and Max Operating Crosstalk is measured by grounding one channel and applying a
Voltage on VxP, VxN, IxP and IxN Analog Input Pins full scale 50Hz or 60Hz signal on all the other channels. The
The differential input range describes the maximum difference crosstalk is equal to the ratio between the grounded ADC
between the IxP and IxN or VxP and VxN pins. The maximum output value and its ADC full-scale output value. The ADC
operating voltage given in Table 2 describes the maximum outputs are acquired for 0.5 to 1 sec. Crosstalk is expressed in
voltage that can be present on each pin, including any common decibels.
mode voltage. Figure 10 illustrates the maximum input with a Differential Input Impedance (DC)
between IP and IM, which is seen in the application when a
current transformer with center-tapped burden resistor is used. The differential input impedance represents the impedance
Figure 11 illustrates the maximum input voltage range between between the pair IxP and IxN or VxP and VxN. It varies with
V1P and VM when a pseudo-differential input is applied, as is the PGA gain selectizon as indicated in Table 2.
commonly seen when sensing the line voltage. ADC Offset Error
ADC offset error is the difference between the average
measured ADC output code with both inputs connected to
xP INPUT PIN GND and the ideal ADC output code of zero.
+0.6V
ADC Offset Drift over Temperature
+0.1V The ADC offset drift is the change in offset over temperature.
It is measured at −40°C, +25°C, and +85°C. The offset drift over
-0.4V
temperature is computed as follows:
+0.6V
xM INPUT PIN Drift
Offset 40 Offset 25 Offset 85 Offset 25
max ,
Offset 25 40 25 Offset 25 85 25
+0.1V
KEY FEATURES
VRMS½, IRMS½ rms of the vector current sum is compared to a user configured
RMS½ is a RMS measurement done over one line cycle, threshold. If it is greater than the threshold, a MISMATCH
updated every half cycle. The number of samples used in the interrupt is generated. This can help detect earth currents or
calculation varies with measured line frequency. It is also tamper, which is a safety hazard. (See Neutral Current RMS,
possible for the user to set the number of samples for the Vector Current Sum section for more details).
calculation manually. This measurement is provided for voltage MULTI-POINT PHASE/GAIN CALIBRATION
and current on all phases plus the neutral current.
To provide more accurate measurements when using current
10/12 CYCLE RMS transformers, ADE9000 provides a multipoint gain and phase
RMS measurement done over 10 cycles at 50Hz and 12 cycles at calibration option. If selected, the user can enter unique gain
60Hz, according to IEC 61000-4-30. The user inputs whether to and phase calibrations for up to five regions of CT operation.
do the calculation based on a 50Hz or 60Hz network. Then the The current rms, IRMS value is used to select the current region
number of samples used in the calculation varies with line of operation and to determine which gain and phase calibration
frequency. It is possible for the user to set the number of to apply. (See Multipoint Phase/Gain Calibration section for
samples for the calculation manually. This measurement is more details).
provided for voltage and current on all phases plus the neutral POWER FACTOR
current. (See 10/12 Cycle RMS section for more details).
The power factor is calculated for each phase and is updated at
DIP/SWELL MONITORS WITH CYCLE COUNTER the user configured power update rate which can be up to one
The VRMS½ is monitored to look for dips and swells over a second. PF = total active power/total apparent power. (See
user configured number of cycles and threshold levels . Power Factor section for more details).
Entering a dip or swell condition can generate an interrupt. ZERO CROSSING TIMEOUT DETECTION
There is also an EVENT pin, which can be configured to
A zero crossing timeout detection is provided on each phase
indicate the duration of a power quality event, by going low
voltage to indicate if the phase voltage has been low for a user
when at least one phase goes into a dip or swell condition and
configured time period. An interrupt is generated if this event
returning high when all phases are at normal levels. This can be
occurs. (See Zero-Crossing Timeout section for more details).
used to time the duration of the event externally. (See D section
for more details). LINE PERIOD MEASUREMENT
ITHD AND VTHD ADE9000 offers a highly accurate line period measurement
which provides 0.001Hz resolution. It is possible to measure the
Current and Voltage Total Harmonic Distortions are calculated
line period on all three phases as well as a combined signal
every second. (See Total Harmonic Distortion section for more
which reflects the line period, regardless of if there is one or
details).
many phases present. (See Line Period CalculationLine Period
FLEXIBLE WAVEFORM BUFFER WITH Calculation section for more details).
RESAMPLING
ANGLE MEASUREMENT
An integrated flexible waveform buffer stores samples at a fixed
Voltage to voltage, voltage to current, and current to current
data rate or a sampling rate that varies based on line frequency
angles are measured simultaneously with 0.036° resolution at
to ensure 128 points per line cycle. These two options make it
50Hz. This allows for fundamental power factor calculations
easy to implement harmonic anaylsis in an external processor
and to check the balance of the system. (See Angle
according to IEC 61000-4-7. There is a choice of data rate for
Measurement section for more details).
the fixed data rate samples: 8ksps or 32ksps—see Waveform
Buffer section for more details). PHASE SEQUENCE ERROR DETECTION
CURRENT VECTOR SUM MEASUREMENT Voltage channel zero crossings are monitored to indicate if there
is a phase sequence error in both three phase four wire (Wye)
ADE9000 offers a measurement of the vector current sum. This
and three wire (Delta) connections. (See Phase Sequence Error
can be used to get an estimation of the neutral current rms, if a
Detection section for more details).
neutral current sensor is not available. If a neutral current
sensor is used, then the vector current sum can include
IA+IB+IC+/-IN. Ideally, IA+IB+IC+/-INis equal to zero. The
ADC
OVERVIEW xP INPUT PIN
ADE9000 incorporates seven independent second-order sigma +0.6V
delta ADCs which sample simultaneously. Each ADC is 24-bits
and supports fully differential and pseudo-differential inputs +0.1V
which can go above and below ground. ADE9000 includes a low
-0.4V
noise, low drift internal band-gap reference. Set the EXT_REF
bit in the CONFIG1 register if using an external voltage xM INPUT PIN
+0.6V
reference. Each ADC contains a programmable gain amplifier
which allows a gain of of 1, 2 or 4. +0.1V
-0.4V
ANALOG INPUT CONFIGURATION
There is no internal buffering—the impedance of the ADE9000 CHANNEL (xx_PCF) WAVEFORM
depends on the programmable gain selected—see the DATA RANGE WITH xx_GAIN = 1
0x0470_7160 =
Specifications table. +74,477,920
Fully differential inputs 0
The input signals on IAP, IAN, IBP, IBN, ICP,ICN, VAP, VAN,
0xFB8F_8EA0 =
VBP, VBN, VCP and VCN pins should not exceed 0.6V. The –74,477,920
ADCs’ differential full scale input range is +1Vpeak Figure 12. Maximum Input signal with Differential Anti-Phase Input with
(0.707Vrms). Common Mode Voltage = +0.1V, Gain=1
Figure 12 and Figure 13 show two common types of input
xP INPUT PIN
signals for an energy metering application. Figure 12 shows the +0.6V
maximum input allowed with differential anti-phase signals. A
current transformer with center tapped burden resistor will +0.1V
generate differential, anti-phase signals. Figure 13 shows the
-0.4V
maximum input signal with pseudo-differential signals, similar
to those obtained when sensing the mains voltage signal
xM INPUT PIN
through a resistive divider or using a Rogowski coil current
sensor. +0.1V
The following conditions should be met for the input signals
CHANNEL (xx_PCF) WAVEFORM
with gain = 1: DATA RANGE WITH xx_GAIN = 2
i) |IAP, IAN, IBP, IBN, ICP,ICN, VAP, VAN, VBP, 0x0470_7160 =
+74,477,920
VBN, VCP and VCN| < +0.6Vpeak
0
ii) |IxP-IxN|< +1Vpeak, |VxP-VxN|< +1Vpeak
0xFB8F_8EA0 =
–74,477,920
Figure 13: Maximum Input signal with Psuedo-Differential Input with
Common Mode Voltage = +0.1V, Gain=2
0.3535Vrms
100Ω 1kΩ
IxN
22nF 22nF
SE ADC_DATA[23:0] 0000
The expected output code from the sinc filter, when input is at
+1Vpeak is 4,300,000d which corresponds to a value of
68,800,000d in the waveform buffer. The expected output code
from the decimator filter, when input is at +1Vpeak is
4,800,000d which corresponds to a value of 76,800,000d in the
waveform buffer—see the Waveform Buffer section for more
information.
VOLTAGE REFERENCE
The ADE9000 supports a 1.25V internal reference. The
temperature drift of the reference voltage is +5ppm/°C typ,
+20ppm/°C max. An external reference can be connected
between REFIN and REFGND pins. Set bit EXT_REF of the
CONFIG1 register when using an external voltage reference
which disables the internal reference buffer.
2.5kOhm 1.75kOhm CL1 and CL2: selected load capacitors to get the correct
combined CL for the crystal
The internal pin capacitances, Cin1 and Cin2, are 4 pF each, as
Cin1 Cin2 given in Table 2. To find the values of CP1 and CP2, measure the
CLKIN 29 26 GND 30 CLKOUT capacitance on each of the clock pins of the PCB, CLKIN and
CLKOUT respectively, with respect to AGND pin. If the
measurement is done after soldering the IC to the PCB, then
24.576MHz subtract out the 4 pF internal capacitance of the clock pins to
CP1 CL1 CL2 CP2 know the actual value of parasitic capacitance on each of the
crystal pins.
To select the appropriate capacitance value for the ceramic
Figure 18: Crystal Application Circuit capacitors, calculate CL1 and CL2, from the below expression:
POWER MANAGEMENT
POWER MODES
ADE9000 offers three operating modes, PSM0, PSM2 and The Current Peak Detect Mode, PSM2, checks if the input
PSM3. The entry into the power modes is controlled by the currents are above a user set amplitude.
PM1 and PM0 pins. These pins are checked continuously to In the application, the host microcontroller creates a duty cycle
determine which operating mode to enter. that puts the ADE9000 into PSM2, waits the required time to
Most applications will use PSM0—normal mode. If it is desired get a result indicated in Table 8, and then returns to PSM3. This
to put ADE9000 into a low power, reset state, then PSM3 may cycle will continue once per minute until the tamper checking
be used. cycle ends, seven days in some applications. If a tamper is
PSM2, in combination with PSM3, enables low power tamper detected in PSM2, then PSM0 is entered and the key
detection, which is required in some regions. These operating measurements are made. Once the time required to make the
modes enable the user to check for a tamper condition while measurements has elapsed, then the host microcontroller reads
minimizing the power consumption—since in tamper scenarios the results via the SPI interface, and changes the PM1 and PM0
a battery is typically used to power the ADE9000. pins to put the device back into PSM3. This cycle will continue
once per minute until the tamper checking cycle ends, seven
days in some applications
Table 8: Power Modes (PSM0, PSM2 and PSM3)
PSMx Description PM1, PM0 Power Time Functions available SPI Retained
power Pin Pin consumption Required Available? Registers
mode for when
Specified switching
Accuracy into power
mode
PSM0 Normal 0 0 12mA All functions Yes
Mode 0 1
PSM2 Current Peak 1 0 200uA 100ms Current Peak Detect No PSM2_CFG
Detect
PSM3 Idle 1 1 2uA None No PSM2_CFG
POWER ON SEQUENCE
VDD
2.97-3.6V
ADE9000
2.4-2.6V
V
1.9V AVDD
1.7V
1.3-1.5V DVDD
VREF
0V
After power is applied to the VDD pin of the ADE9000 IC, the The RSTDONE interrupt is triggered 26ms later, bringing the
device checks the state of the PM0 and PM1 pins to check the IRQ1pin low and setting the RSTDONE bit in the STATUS1
power supply mode—see Power Modes for more information. If register. This indicates to the user that the ADE9000 has
in PSM0 (PM1, PM0 = 00 or 01) and if the RESET pin is high, finished its powerup sequence. Then the user can configure the
then the AVDD and DVDD LDO’s are turned on once VDD IC via the SPI—see the Quick Start Guide section for a list of
reaches 2.4-2.6V. If the RESET pin is low, then the AVDD, important registers to configure. After configuring the part,
DVDD LDO’s are not be turned on. Note that there is a clamp write the RUN register to start the DSP so that it starts making
which limits the current used to charge the AVDD and DVDD measurements. Note that registers from addresses 0x000
LDO’s to 17mA/LDO. through 0x0FF and 0x400 through 0x5FF are restored to their
default values during poweron. Registers from addresses 0x200
When AVDD and DVDD are both above 1.3-1.5V and VDD is
through 0x3FF are cleared within 500us from when the RUN
above 2.4-2.6V, then a 20ms timer is started to allow additional
register value changes from 0x0000 to 0x0001. Also note that
time for the supplies to come to their normal potentials (VDD
the Waveform Buffer, addresses 0x800 through 0xFFF is not
between 2.97V and 3.6V, AVDD at 1.9V and DVDD at 1.7V).
cleared after reset.
After this timer has elapsed, then the crystal oscillator is started.
Rev. PrC | Page 23 of 111
ADE9000 Preliminary Technical Data
In PSM2 and PSM3, the AVDD and DVDD LDOs are not DVDD LDOs are turned off. The power on sequence resumes
turned on. The RSTDONE interrupt does not occur and the SPI from the point where AVDD, DVDD LDOs are turned on—see
port is not available—see the Power Modes section for more the Power On Sequence section for details. For applications
information on these modes. which require putting the ADE9000 into a low power reset stats,
it is recommended to use PSM3, which consumes roughly 2uA
BROWNOUT DETECTION
instead of holding the IC in reset with RESET pin low which
Power on reset circuits monitor VDD, AVDD and DVDD
consumes 100uA—see Table 2 for the exact PSM2 current
supplies. If AVDD or DVDD drop below 1.3 to 1.5V, or VDD
consumption.
drops below 2.4 to 2.6V, then the IC is held in reset and the
power on sequence begins again, waiting until AVDD and CHANGING TO PSM2 OR PSM3
DVDD are above 1.3-1.5V and VDD is above 2.4 to 2.6V, to The state of the PM1 and PM0 pins is continuously monitored.
start the 20ms POR timer. A RSTDONE interrupt on IRQ1 If the power mode changes from PSM0 to PSM2 or PSM3
indicates when the ADE9000 can be reinitialized via SPI. (PM1, PM0 = 10 or 11) for 1us, then the AVDD, DVDD LDOs
are turned off. When the power mode switches back to PSM0
RESET
then the power on sequence resumes from the point where
If RESET pin goes low for 1us or the SWRST bit is set in the AVDD, DVDD LDOs are turned on—see the Power On
CONFIG1 register to initiate a software reset, then the AVDD, Sequence section for details.
vb (t ) 2 sint 120
IC
180˚ IB
IA ˚
0
vc (t ) 2 sint 120
C
ia (t) 2 sint
A VCB
VNC ˚
270 LAGGING
IC
IA VNA A
˚
180 VN
C IB
˚
0
IA
180˚ IB
A
VNB ˚
0
N B
VN
B ˚
90 LAGGING A
Figure 21: 4-wire Wye Service Vector Diagram N
The figures below show common metering configurations: 3
B ˚
90 LAGGING
wire delta, 4 wire delta and 3-wire residential and network. Figure 24: 3-wire Residential 1PH Service Vector Diagram
ADE9000 can also measure multiple single phase circuits. ˚
270 LAGGING
IA VNA
180˚
IB
˚
0
VNB
A
N
B ˚
90 LAGGING
VCP
NEUTRAL
VAN
VCP
VAN
NEUTRAL
VAN
VBN
VBN
VCN
VCN
Figure 28: 4-wire Wye, Series Impedance on the Neutral Note that for this 3-wire Delta, Phase B connected to Ground
configuration, the phasor diagram of the VA, VC, VB
Phase sequence error detection is performed based on the
waveforms inside the ADE9000 IC, shown in Figure 30, is
expected ABC sequence—see the Phase Sequence Error
shifted compared to the service diagram given in Figure 22.
Detection section for more information.
xV_PCF, xI_PCF WAVEFORMS INSIDE IC
To get the overall power consumed by the system (active,
reactive and apparent), add the contribution from Phases A, B ˚
270 LAGGING
Figure 30: Phasor Diagram of xV_PCF and xI_PCF waveforms inside the IC
with 3-wire Delta with Phase B as ground and VCONSEL = 001
To use the same PCB for both 4-wire Wye and 3-wire Delta
circuits, another option is to wire Phase B to the Neutral
terminal of the meter, keeping the same circuit as used in Figure
27 or Figure 28. Note that VCONSEL[2:0] should be set to 001
if it is desired to obtain the VAC rms value, which will be
calculated in the BVRMS register and to use the correct phase
PHASE A
220V 0° VAP
PHASE B
220V -120°
VAP
PHASE B
220V -120° VBP
PHASE C
220V 120°
VBP
PHASE C
220V 120° VCP
VCP
NEUTRAL
VAN
VAN
VBN
VBN
VCN
VCN
AGND DGND
VCONSEL[2:0] = 100
Calculated VA, VB, VC: AGND DGND
Figure 31: 3-wire Delta, Series Impedance on Phase B and VCONSEL = 100
Figure 32: Non-Blondel Compliant 4-wire Wye
The phasor diagram of the VA, VB, VC waveforms computed
inside the ADE9000 for the 3-wire Delta with series impedance The phasor diagram follows Figure 21. Phase sequence error
on Phase B and VCONSEL = 100 matches the one shown in detection is performed based on the expected ABC sequence—
Figure 30. see the Phase Sequence Error Detection section for more
Phase sequence error detection is performed with the information.
expectation that the VC waveform leads VA—see the Phase To get the total power (active, reactive and apparent), add the
Sequence Error Detection section for more information. contribution from Phases A, B and C.
In a Blondel compliant 3-wire delta meter, only the overall APPLYING ADE9000 TO A NON-BLONDEL
power consumed by the system is meaningful; the individual COMPLIANT 4-WIRE DELTA SERVICE
phase powers are not meaningful because a line current is To use ADE9000 in a non-Blondel compliant 4-wire Delta
multiplied by a line to line voltage. To get the overall power Service, such as for ANSI Meter Forms 8S, 15S,and 24S, Phase
consumed by the system (active, reactive and apparent), add the A and Phase C voltages are measured and Phase B voltage is
contribution from Phases A and C.
calculated, VB = -VA. All three phase currents are measured.
For this configuration, write VCONSEL[2:0] = 011 and connect
as shown in Figure 33.
VCP
NEUTRAL
VAN
VBN
VCN
AGND DGND
VIN
SINC4 OUTPUT (xI_SINC_DAT) SINC4+IIR LPF (xI_LPF_DAT) RESAMPLED WAVEFORM CURRENT CHANNEL (xI_PCF)
DATA RANGE DATA RANGE DATA RANGE DATA RANGE
+1V 0x03FF_81C0 = 0x0470_7D80 = 0x0470_7160 =
+67,076,544 0x4708 = +74,477,920
+74,481,024 +18,184
0V 0V 0V 0V
0V
–1V 0xFC00_7E40 =
0xFB8F_8280 = 0xFB8F_8EA0 =
ANALOG INPUT RANGE -67,076,544 0xBDF8 = –74,477,920
–74,481,024 –18,184
WAVEFORM
BUFFER
RESAMPLING
FAST RMS1/2,
CONFIG0.
10/12 CYCLE RMS
RMS_SRC_SEL
CONFIG0. CONFIG0.
REFERENCE NIPHCAL
NIGAIN HPFDIS ININTEN
INP
VIN
SINC4 OUTPUT (NI_SINC_DAT) SINC4+IIR LPF (NI_LPF_DAT) RESAMPLED WAVEFORM CURRENT CHANNEL (NI_PCF)
DATA RANGE DATA RANGE DATA RANGE DATA RANGE
+1V 0x03FF_81C0 = 0x0470_7D80 = 0x0470_7160 =
+67,076,544 0x4708 = +74,477,920
+74,481,024 +18,184
0V 0V 0V 0V
0V
–1V 0xFC00_7E40 =
0xFB8F_8280 = 0xFB8F_8EA0 =
ANALOG INPUT RANGE -67,076,544 0xBDF8 = –74,477,920
–74,481,024 –18,184
where
2∗ ∗ /
The xPHCALx register value can be calculated from the desired
Phase Correction according to this equation:
sin sin
∗2
sin 2 ∗
For example, if fline = 50Hz, fDSP = 8kHz and the current leads
Figure 38: Digital Integrator magnitude and Phase Response with DICOEFF = the voltage by 0.1 degrees, then PhaseCorrection° = -0.1°. Write
0 xPHCALx = 0x FFD3_7760 to correct for this.
2∗ ∗ 50/8000 0.03927
Figure 39: Digital Integrator Magnitude and Phase Response from 40 to 80Hz
with DICOEFF = 0
° ∗ 360°
Rev. PrC | Page 35 of 111
ADE9000 Preliminary Technical Data
INPUT xIGAIN5, is applied based on the xIRMS current rms amplitude
VOLTAGE
INPUT
CURRENT OUTPUT and the MTTHR_Lx and MTTHR_Hx register values, as shown
CURRENT VOLTAGE
TRANSFORMER
in Figure 42.
SENSOR:
CURRENT LEADS OUTPUT Similarly, for the phase compensation, if multipoint phase and
VOLTAGE CURRENT gain compensation is enabled, then the applied current channel
phase compensation varies based on the xIRMS input signal
DELAY I
BY UP TO level.
17.25 DEGREES xIGAIN4
GAIN, xPHCAL4
DELAY V BY PHASE xIGAIN3
CORRECTION xIGAIN2 xPHCAL3
ONE SAMPLE xIGAIN1 xPHCAL2
xIGAIN0
2.25 DEGREES AT 50Hz xPHCAL0
xPHCAL1
IRMS
IF CONFIG0.MTEN = 1,
xIGAINx, PHASE COMP CHANGES BASED ON
xIRMS, MTTHR_Lx AND MTTHR_Hx
CURRENT_REGION
0: xIGAINx = xIGAIN0; PHASE COMP = xPHCAL0
1: xIGAINx = xIGAIN1; PHASE COMP = xPHCAL1
2: xIGAINx = xIGAIN2; PHASE COMP = xPHCAL2
3: xIGAINx = xIGAIN3; PHASE COMP = xPHCAL3
4: xIGAINx = xIGAIN4; PHASE COMP = xPHCAL4
CONFIG0. MTEN
CONFIG0. CONFIG0.
REFERENCE
xIGAINx HPFDIS INTEN
xIGAIN
IxP
ADC_
Σ-∆ PHASE CURRENT RMS TOTAL VA
VIN REDIRECT SINC4 LPF 4:1
MODULATOR HPF COMP (xIRMS) POWER
MUX
IB = -IA-IC CALCULATIONS
IxN INTEGRATOR
ACCMODE.ICONSEL* xI_PCF
NOTE: ACCMODE.ICONSEL ONLY AFFECTS IB CHANNEL CALCULATION TOTAL ACTIVE AND
REACTIVE POWER
VIN CALCULATION
SINC4 OUTPUT (xI_SINC_DAT) SINC4+IIR LPF (xI_LPF_DAT)
CURRENT CHANNEL (xI_PCF)
DATA RANGE DATA RANGE FUNDAMENTAL ACTIVE
+1V 0x03FF_81C0 = DATA RANGE AND REACTIVE POWER
0x0470_7D80 = 0x0470_7160 =
+67,076,544 +74,481,024 CALCULATION
+74,477,920
CURRENT PEAK
0V 0V 0V DETECTION
0V
FUNDAMENTAL CURRENT
RMS, VA, THD
–1V 0xFC00_7E40 = CALCULATIONS
-67,076,544 0xFB8F_8280 = 0xFB8F_8EA0 =
ANALOG INPUT RANGE –74,481,024 –74,477,920
ZX DETECTION
Figure 43: Current Channel with Mullti-Point Gain and Phase Correction
VOLTAGE CHANNEL value is also monitored in the voltage peak detection circuit.
Finally, angle measurements indicate the time between the
The voltage channel datapath is shown in Figure 35. The voltage voltage channel zero-crossing and the current channel zero
channel ADC waveforms can be sampled at the Sinc4 output, in crossing on the same phase or voltage channels on the other
the xV_SINC_DAT registers, at 32ksps or further decimated by phases, updating at CLKIN/24 = 1024ksps in the ANGLx_xxx
an IIR low pass filter, in xV_LPF_DAT registers at fDSP=8ksps. registers. The line period measurement xPERIOD indicates the
Gain and phase compensation are applied, creating the xV_PCF line period—as described in the Line Period Calculation
instantaneous voltage waveforms which update at fDSP=8ksps. section.
The xV_PCF waveforms are used for Total Watt, VAR, IRMS,
VA as well as Fundamental VAR calculations. The xV_PCF
ADE9000 VOLTAGE CHANNEL xV_PCF
WFB_CFG.WF_SRC
WFB_CFG.WF_CAP_SEL FUNDAMENTAL VOLTAGE
RMS, VA, THD
CONFIG0. CALCULATIONS
WAVEFORM RMS_SRC_SEL
FAST RMS1/2, FUNDAMENTAL ACTIVE
BUFFER
10/12 CYCLE RMS AND REACTIVE POWER
RESAMPLING CALCULATIONS
VIN SINC4 OUTPUT (xV_SINC_DAT) SINC4+IIR LPF (xV_LPF_DAT) VOLTAGE CHANNEL (xV_PCF) RESAMPLED WAVEFORM
DATA RANGE DATA RANGE DATA RANGE DATA RANGE
0x03FF_81C0 = 0x0470_7D80 = 0x0470_7160 = 0x4708 =
+1V +74,477,920 +18,184
+67,076,544 +74,481,024
0V 0V 0V 0V 0V
0xFC00_7E40 = 0xBDF8 =
0xFB8F_8280 = 0xFB8F_8EA0 =
–1V -67,076,544 –74,477,920 –18,184
ANALOG INPUT RANGE –74,481,024
AV_SINC_DAT VA Sinc4 Filter Output 32ksps APERIOD Line period measurement fDSP=8ksps
on VA
BV_SINC_DAT VB Sinc4 Filter Output 32ksps
BPERIOD Line period measurement fDSP=8ksps
CV_SINC_DAT VC Sinc4 Filter Output 32ksps on VB
AV_LPF__DAT VA Sinc4 + IIR LPF Filter fDSP=8ksps CPERIOD Line period measurement fDSP=8ksps
Output on VB
BV_LPF__DAT VB Sinc4 + IIR LPF Filter fDSP=8ksps COM_PERIOD Line period measurement fDSP=8ksps
Output on combined signal from
VA, VB, VC—see
CV_LPF__DAT VC Sinc4 + IIR LPF Filter fDSP=8ksps Combined Voltage Zero
Output Crossing
AV_PCF Instantaneous current on fDSP=8ksps ANGLx_xxx Voltage to current or CLKIN/24 =
VA current to current phase 1024ksps
angle—see Angle
BV_PCF Instantaneous current on fDSP=8ksps
Measurement section
VB
Voltage Channel Gain
CV_PCF Instantaneous current on fDSP=8ksps
VC The xVGAIN registers can be used to calibrate the voltage
channel of each phase. The xVGAIN register has the same
AVRMS Filtered-based Total RMS fDSP=8ksps scaling as the xIGAIN register. See the Current Channel Gain,
of VA xIGAIN section for the equation.
Figure 45: Per Phase Power and Energy Calculations from xI_PCF and xV_PCF waveforms
The xFRMS value at full scale is 52,675,621d. The fundamental reactive power at a power factor of 0 has a
For high performance at small input signals, below 1000:1, it is similar ripple to the total active power at a power factor of 1—
recommended to calibrate the offset of this measurement using see Figure 48.
the xxFRMSOS register. The offset should be calibrated at the xFVAROS has the same scaling as xFVAR—see equation 2 to
smallest input signal which requires good performance—do not understand how to calculate this register value.
calibrate this measurement with zero input signal. Fundamental Apparent Power
The following equation indicates how the xxFRMSOS register ADE9000 offers fundamental rms measurements using the
value modifies the result in the xxFRMS register. proprietary fundamental estimation technique described in the
Fundamental Measurements and Fundamental RMS sections.
2 ∗ The fundamental rms measurements, AIFRMS and AVFRMS,
Where xxFRMS0 is the initial xxFRMS register value before are multiplied together to get fundamental apparent power. This
offset calibration. is then gained by APGAIN and stored in the AFVA register.
Figure 54 shows the signal chain for the AFVA measurement.
At 1000:1, the expected xxFRMS0 =
52,675,621/1000=52675.621. Then one bit in the xxFRMSOS Note that offset correction can be performed by calibrating the
register changes xxFRMS by (52675.932-52675.621)/ 52675.621 AIFRMS and AVFRMS measurements.
= 0.0006%
APGAIN
52675621
2 ∗1 52675.932
1000 AIFRMS
FUNDAMENTAL AFVA
ENERGY/POWER/
AVFRMS VA
Fundamental Active Power CF ACCUMULATION
ADE9000 offers fundamental active power measurements using Figure 54: Fundamental Apparent Power, AFVA
the proprietary fundamental estimation technique described in
the Fundamental Measurements section. The fundamental Power Factor
active power is then gained by APGAIN and offset correction is The total active power and total apparent power are
applied according to the AFWATTOS register. accumulated over 1.024s. Then the power factor is calculated on
each phase according to this equation:
The AFWATTOS register allows offset calibration to provide
even better performance with low input signal levels. Figure 52 1.024
shows the signal chain for the AFWATT measurement. 1.024
The sign of the APF calculation follows the sign of AWATT.
APGAIN AFWATTOS
To figure out what quadrant the energy is in, look at the sign of
AI_PCF
the total or fundamental reactive energy in that phase along
FUNDAMENTAL AFWATT
AV_PCF WATT
ENERGY/POWER/ with the sign of the xPF or xWATT value, as indicated in Figure
CF ACCUMULATION
55. The quadrants with capacitive power factors are indicated in
Figure 52: Fundamental Watt, AFWATT, calculation dark gray while the quadrants with inductive power factor are
indicated in light gray. Note that for most applications, the watts
Rev. PrC | Page 43 of 111
ADE9000 Preliminary Technical Data
are received (imported) from the grid and so the Watt and VAR Total Harmonic Distortion
stay within Quadrants I and IV. Total harmonic distortion is calculated once per second using
VAR total and fundamental rms values as shown in this equation:
˚
270 LAGGING
WATT (-) WATT (+)
VAR (-) VAR (-)
QUADRANT III QUADRANT IV
INDUCTIVE: CAPACITIVE:
CURRENT LAGS CURRENT LEADS
VOLTAGE VOLTAGE
The THD calculation is stored in signed 5.27 format. The
highest THD value is 0x2000_0000 which corresponds to a
θ1= -30° PF1 = 0.866 CAP
WATT THD of 400%. To get the THD value as a percentage, use this
V
θ2= 60° PF2 = 0.5 IND equation
% ∗2 ∗ 100%
CAPACITIVE:
CURRENT LEADS INDUCTIVE:
VOLTAGE I
CURRENT LAGS A THD calculation is available on the IA, IB, IC, VA, VB, VC
VOLTAGE
WATT (-) WATT (+)
VAR (+)
channels in the AITHD, BITHD, CITHD, AVTHD, BVTHD,
VAR (+)
QUADRANT II QUADRANT I CVTHD registers, respectively. Note that a THD measurement
˚
90 LAGGING is not available on the IN channel.
WATT(+) INDICATES POWER RECEIVED (IMPORTED FROM GRID)
WATT(-) INDICATES POWER DELIVERED (EXPORTED TO GRID) ENERGY ACCUMULATION
Figure 55: Watt and VAR Sign for Capacitive and Inductive Loads Figure 56 shows how AWATT is accumulated into the
The power factor results is stored in 5.27 format. The highest AWATTHR and AWATT_ACC registers. A no-load threshold is
power factor value is 0x07FF_FFFF which corresponds to a applied and the energy sign is checked to determine whether to
power factor of 1. A power factor of -1 is stored as accumulate the AWATT sample into the internal energy
0xF800_0000. To determine the power factor from the xPF accumulator. The internal energy accumulator is either added
register value, use this equation: to the AWATTHR register or overwrites it at a EGYRDY rate.
The AWATT value is directly accumulated into the internal
∗2
power accumulator and latched into AWATT_ACC at a
PWRRDY rate. Set the EGY_PWR_EN bit in EP_CFG register
to run the energy and power accumulator.
4.096MHz
CFx
WTHR
DIGITAL STATUS0.
CF1DEN TO CFx
FREQUENCY
CF_LCFG CONVERTER STATUS0.
AWATT REVPSUMx
CFMODE
LOW PASS
FILTERED
ENERGY
TOTAL ACTIVE
POWER
fDSP
POWER 41 31 0
+
+
INTERNAL POWER ACCUMULATOR
PWRRDY
Figure 56: AWATT accumulation into Energy and Power, using No-load Threshold and Signed Accumulation Mode
Signed Energy Accumulation Modes and capacitive loads, it is desirable to bill for the absolute value
Total Active Energy Accumulation Modes of reactive energy. ADE9000 offers a way to do this using the
VARACC[1:0] bits in the ACCMODE register. To set the total
In some installations, it is desirable to bill for only positive total
and fundamental reactive energy register and any
active energy. ADE9000 offers a way to do this using the
corresponding CF pulse output to accumulate the absolute
WATTACC[1:0] bits in the ACCMODE register. To set the total
value of reactive energy, write VARACC[1:0] to 01.
and fundamental active energy accumulation and any
corresponding CF pulse output for positive energy only, write If VARACC[1:0] is equal to zero, then the total and
WATTACC[1:0] to 10. fundamental reactive energy accumulation is signed. The MSBit
of the AVARHR_HI and AFVARHR_HI register indicates
If WATTACC[1:0] is equal to zero, then the energy
whether the energy is negative or positive.
accumulation is signed. The MSBit of the AWATTHR_HI and
AFWATTHR_HI registers indicates whether the energy is Other accumulation modes offered include positive only
negative or positive. accumulation mode with VARACC[1:0] equal to 10, and
negative only accumulation mode where only negative reactive
Other accumulation modes include absolute accumulation
energy is accumulated with VARACC[1:0] equal to 11.
mode with WATTACC[1:0] equal to 01, where the absolute
value of AWATT is accumulated, and negative only No-Load Detection
accumulation mode where only negative active energy is No load detection prevents energy accumulation due to noise,
accumulated, with WATTACC[1:0] equal to 11. when the input currents are below a given meter start current.
Reactive Energy Accumulation Modes To determine if a no-load condition is present, the ADE9000
In some installations, since reactive energy may change evaluates if the accumulated energy is below a user defined
frequently between positive and negative values with inductive
Rev. PrC | Page 45 of 111
ADE9000 Preliminary Technical Data
threshold over a user defined time period. This is done on a per 20803756 ∗ 64
_ 26,628 0 6804
phase and per energy basis. 50000
The NOLOAD_TMR[2:0] bits in the EP_CFG register When a phase is in no-load, every fDSP=8ksps, zero energy is
determine whether to evaluate the no-load condition over 64 to accumulated into the energy registers and CF accumulation.
4096 samples, 64/8ksps = 8ms to 512ms, by writing to the bits Note that the x_ACC registers are not affected by no-load
in the EP_CFG register, as described in Table 13. No-load detection. Even when in no-load, any power calculated in the
detection is enabled by default, over the minimum time of respective xWATT, xVAR, xVA register is accumulated into the
64/8ksps = 8ms. No-load detection is disabled when the corresponding x_ACC register every fDSP=8ksps.
NOLOAD_TMR[2:0] bits in the EP_CFG are equal to 111b.
No Load Indications
Table 13: No-load Condition Evaluation Time
The PHNOLOAD register indicates whether each phase of
NOLOAD_TMR[2:0] Samples to Time that no- energy is in no-load. For example, the PHATNL[2:0] bits in the
evaluate No load detection PHNOLOAD indicate whether Phase A total apparent energy,
load over is evaluated reactive energy and active energy are in phase on Bits 2 through
over 0 respectively. If a bit is set, it indicates that the phase energy is
in no-load—if it is clear then the phase is not in no-load.
0 64 8ms
The user can enable an interrupt to occur when one of the per
1 128 16ms phase energy’s no-load status changes, either going into or out
of no-load. There is an interrupt enable bit for each type of
2 256 32ms energy. Set the VAFNOLOAD, RFNOLOAD, AFNOLOAD,
VANLOAD, RNLOAD, ANLOAD bits in the STATUS1 register
3 512 64ms
to enable an interrupt on IRQ1 when one or more phases of
4 1024 128ms Fundamental VA, Fundemantal VAR, Fundamental Watt, Total
VA, Total VAR and Total Watt no load changes status.
5 2048 256ms
There is also an option to indicate the no-load status on the
6 4096 512ms EVENT pin—see the Interrupts/EVENT section for more
information.
7 No-load No-load
Figure 57 shows what happens when the xWATT, low pass
disabled disabled
filtered Watt, value goes above the user-configured no-load
The user defined no-load thresholds are written into the threshold and then back down below it again. The same concept
ACT_NL_LVL, REACT_NL_LVL, and APP_NL_LVL registers. applies to all of the energy values (total and fundamental VAR,
The ACT_NL_LVL register sets the no-load threshold for total total VA) with the corresponding REACT_NL_LNL and
and fundamental active energy. Correspondingly the APP_NL_LVL no-load thresholds.
REACT_NL_LVL register sets the no-load threshold for total
and fundamental reactive energy while the APP_NL_LVL sets
the no-load threshold for total and fundamental apparent LOW PASS
FILTERED
energy. ACTIVE POWER (xWATT)
_ _ ∗ 64 ACTIVE ENERGY
_ NO-LOAD ACCUMULATOR
X
NOLOAD INDICATION
where (STATUS1.ANOLOAD)
scale, X = 50,000 in the equation above. Figure 57: No-load Detection and Indication
13.3 seconds with the nominal full scale AWATT value of ZX_LP_SEL. 1
ZX_SEL
20673283. CONFIG1.
CF3_CFG
2
13.3 POWER
20673283 ∗ 8000 fDSP
COUNTER PWRRDY UPDATE RATE
EQUAL?
PWR_TIME[12:0] + 1 STATUS0.PWRRDY
AWATT +
+ 41 31 0 EP_CFG.EGY_TMR_MODE = 0
INTERNAL ENERGY ACCUMULATOR
EP_CFG.RD_RST_EN = 1
AWATTHR_HI AWATTHR_LO EP_CFG.EGY_PWR_EN = 1
31 0 31 19 0
EGY_TIME = 1
Figure 59: Internal Energy Register to AWATTHR_HI and AWATTHR_LO Output:
The expected user energy accumulation can be calculated Read just the xxHR_HI register which has
according to this formula based on the average AWATT value. enough resolution for most applications. The
_ _ AWATT ∗ EGY_TIME 1 xxHR_LO register is maintained and
accumulated and does not need to be read by
Then AWATTHR_HI contains the 32 most significant bits
the user.
which can be calculated by rounding this equation down to the
nearest whole number: Maximum Time before reading xxHR_HI to
_ prevent overflow with full scale inputs:
∗2 105.7 seconds
Finally AWATTHR_LO is calculated based on the two previous
To accumulate energy over a defined number of line cycles, use
values:
the following settings:
_ _ _
Configuration Register Settings:
_ ∗2 ∗2
EP_CFG.EGY_LD_ACCUM = 1
For example, if 4000 samples of AWATT are accumulated, with
full scale inputs, then the expected value of AWATTHR_HI is EP_CFG.EGY_TMR_MODE = 1
0x009B_0003 and AWATTHR_LO is 0xFC00_0000: EP_CFG.RD_RST_EN = 0
_ 20803756 ∗ 3999 1 EP_CFG.EGY_PWR_EN = 1
83215024000
Rev. PrC | Page 48 of 111
Preliminary Technical Data ADE9000
EGY_TIME = Desired # of half line cycles EP_CFG.RD_RST_EN = 0
Output: EP_CFG.EGY_PWR_EN = 1
The xxHR_HI register has enough EGY_TIME = Desired # of samples
resolution for most applications. Output:
To maintain perfect synchronication with CF The xxHR_HI register has enough
pulse output, the xxHR_LO must be read as resolution for most applications.
well since it is cleared at every EGYRDY
cycle. To maintain perfect synchronication with CF
pulse output, the xxHR_LO must be read as
Maximum Time before reading xxHR_HI to prevent well since it is cleared at every EGYRDY
overflow with full scale inputs: cycle.
26.4 seconds Maximum Time before reading xxHR_HI to prevent
To accumulate energy over a defined number of samples overflow with full scale inputs:
Configuration Register Settings: 26.4 seconds
EP_CFG.EGY_LD_ACCUM = 1
EP_CFG.EGY_TMR_MODE = 0
0
0
xWATT 000 PHASE A 4.096MHz
xVAR 1
001
COMPMODE.
xVA 010 TERMSELx[0]
xFWATT 011
fDSP
0 +
xFVAR 0 +
100 DIGITAL CFMODE.
xFVA PHASE B 1
101 + TO CFxDIS
xWATT COMPMODE. 512
110 TERMSELx[1] FREQUENCY
xWATT 0 STATUS0. CFx
111
1 1
0
0 CF_LCFG.
CFMODE. PHASE C CFxDEN
PULSE CFx PIN
1 CFx_LT
CFxSEL[2:0] COMPMODE.
WIDTH
CF_LCFG.
TERMSELx[2] WTHR 000 CF_LTMR[18:0]
CONFIG
VARTHR 001 CONFIG1.
VATHR CF_ACC_CLR
010
WTHR 011
VARTHR 100
VATHR 101
WTHR 110
WTHR 111
CFMODE.
CFxSEL[2:0] ADE9000
CFx_LT Active Low Pulse Width Active Low Pulse Active Low Pulse Width Behavior when Entering No-Load
for Low Frequencies (ms) Width for High for High Frequencies
Frequencies when when CFxDEN is odd
CFxDEN is even
1 CF_LTMR*6/CLKIN*1000 50% (1+1/CFxDEN)*50% If CFx is low, keep CFx low until no-load state
is finished.
CF Pulse Sign on each phase and REVxxx status bits in STATUS0 to indicate if
the power changes sign.
Some applications must record positive and negative energy
usage separately. To enable this, the SUMxSIGN bits in the Power Accumulation Details
PHSIGN register indicate whether the sum of the energy which Figure 56 shows how AWATT values are accumulated into an
went into the last CFx pulse was positive or negative. internal power accumulator and then are latched into the
SUMxSIGN is zero if the sum of the energy which went into the xWATT_ACC register at a rate of PWRRDY.
CFx pulse is positive and equal to one if the sum of the energy PWRRDY is set after PWR_TIME+1 8ksps samples have been
was negative. accumulated. The power accumulation time can be calculated
Also the REVPSUMx bits in the STATUS0 register and according to this equation:
EVENT_STATUS register indicate if the CF polarity changed
sign. For example, if the last CF2 pulse was positive reactive _ 1
energy and the next CF2 pulse is negative reactive energy, the 8000
the REVPSUM2 bit in the STATUS0 and EVENT_STATUS The PWR_TIME[12:0] register allows up to (8191+1) = 8192
registers will be set. This can be enabled to generate an samples to be accumulated which corresponds to 8192/8000 =
interrupt on IRQ0. 1.024s:
Clearing the CF Accumulator 8191 1
It can be desirable to clear out a partial CF accumulation, for 8000
example during the power up and initialization process. To clear 1.024
the accumulation in the digital to frequency converter and The internal power accumulator overflows at the same rate as
CFDEN counter, write the CF_ACC_CLR bit in the CF_LCFG the internal energy accumulator—see the Internal Energy
register to one. The CF_ACC_CLR bit automatically clears Register Overflow Rate section.
itself. Accessing the User Power Registers
Disabling the CF Pulse Output and CFx Interrupt Each 45-bit user accessible signed power accumulator is divided
To disable the CFx pulse output and keep the CFx output high, into a register containing the 32 most significant bits, xx_ACC,
write a one to the CFx_DIS bit in the CFMODE register. If the as shown in Figure 59.
CFx_DIS bit in the CFMODE register is set, then the CFx bit in fDSP
STATUS0 is not set when a new CF pulse is ready. Note that the
+
REVPSUMx bits which indicate if CF pulses were positive or AWATT +
INTERNAL POWER ACCUMULATOR
negative, are not affected by the CFx_DIS setting. 41 31 13 0
AWATT_ACC
POWER ACCUMULATION 31 0
the Power Accumulation Details section for more information. Figure 62: Power Accumulation and Power Sign
VOLTAGE CHANNEL
ACCMODE.VCONSEL*
VA = VA-VB; CONFIG0.
VB = VA-VC; 100 ZX_SRC_SEL
VC = VC-VB; CONFIG0.
xVGAIN VB = -VA 011 HPFDIS
÷32 ZX DETECTION
VB = -VA-VC 010 LPF1
VB = VA-VC 001 PHASE
000
HPF COMP
xV_PCF
*ACCMODE.VCONSEL SUPPORTS SEVERAL THREE-WIRE AND FOUR_WIRE HARDWARE CONFIGURATIONS
CURRENT CHANNEL
CONFIG0.
CONFIG0. MTEN
CONFIG0. ZX_SRC_SEL
CONFIG0.
xIGAINx HPFDIS INTEN
xIGAIN ÷32 ZX DETECTION
LPF1
PHASE
HPF COMP
IB = -IA-IC xI_PCF
INTEGRATOR
ACCMODE.ICONSEL**
The ZX_SRC_SEL in the CONFIG0 register sets whether data indication, with a 50Hz input signal. Zero crossings are
going into the zero crossing detection circuit comes before or generated on both negative to positive and positive to negative
after the high pass filter, integrator and phase compensation. By transitions.
default, the data after phase compensation is used. Note that the
4.3ms @ 50Hz
high pass filter has 500ms settling time with a step change in the 1
input so for a fast response, it is recommended to set 0.86
ZX_SRC_SEL to look for a zero crossing before the high pass
ZX
filter. If highpass filter is disabled with CONFIG0.HPFDIS 0V
ZX ZX ZX
equal to one or if CONFIG0.ZX_SRC_SEL is equal to one, note
that a dc offset on the input may cause the time between IA, IB, IC,
LPF1 OUTPUT
OR VA, VB, VC
negative to positive and positive to negative zero crossings and
Figure 64: Zero Crossing Detection on Voltage and Current Channels
positive to negative to negative to positive zero crossings to
change, indicating that the ZX detection does not have a 50% To provide protection from noise, voltage channel zero-crossing
duty cycle. events, ZXVA, ZXVB, ZXVC are not generated if the absolute
The current and voltage signals are low pass filtered to remove value of the LPF1 output voltage is smaller than the threshold,
harmonics. The low pass filter, LPF1, has a corner of 82Hz and ZXTHRSH. The Current Channel ZX detection outputs, ZXIA,
the equation is shown below: ZXIB, ZXIC are active for all input signals levels.
The zero crossing threshold, ZXTHRSH, can be calculated from
2 the following equation
1 1 4
The low pass filter settling time is 71 samples, 71/8ksps means
_ ∗ 1_
8.875ms.
∗ 32 ∗ 2
Figure 64 shows the delay between the detected zero crossing
signal and the input. Note that there is a 4.3ms delay between where
the input signal zero crossing and the ZX zero crossing
Rev. PrC | Page 53 of 111
ADE9000 Preliminary Technical Data
X is the Dynamic Range that the zero-crossing should be For example, to prevent signals 100 times lower than full scale
blocked below from generating a ZX output, set ZXTHRSH to 78d:
V_PCF at Full Scale is ±74,680,000d. 74,680,000 ∗ .86
78
LPF1_Attenuation is 0.86 at 50Hz, and 0.81 at 60Hz, the gain 100 ∗ 32 ∗ 2
attenuation of the LPF1 filter. Additionally, to prevent false zero crossings, after a ZX is
generated, 1ms must elapse before the next ZX can be output.
Combined Voltage Zero Crossing
Phase A, B, and C voltage channel signals signals are combined to generate one zero crossing signal, ZX_COMB, that is stable even if one
or more phases drops out.
CONFIG0.
CONFIG0. ZX_SRC_SEL
HPFDIS
PHASE A
PHASE
HPF COMP
AV_PCF
CONFIG0.
CONFIG0. ZX_SRC_SEL
HPFDIS (VA+VB-VC)/2
PHASE B
PHASE 0 ÷2 ZX DETECTION,
HPF COMP ACCMODE. LPF1 LINE PERIOD
BV_PCF VCONSEL[2:0]
CALCULATION
CONFIG0.
CONFIG0. ZX_SRC_SEL
HPFDIS
PHASE C
PHASE
HPF COMP
CV_PCF
The input to the zero crossing detection is (VA+VB-VC)/2 with the VB component in the combined zero crossing circuit is set
the signal chain corresponding to Figure 65. As described in the to zero.
Applying ADE9000 to Different metering configurations, The same precautions are used to prevent noise from generating
ADE9000 can be used to meter different polyphase zero crossing interrupts on this output. As described in Zero-
configurations. The ACCMODE.VCONSEL[2:0]bits are used to Crossing Detection section, signals below the ZXTHRSH
indicate this selection. If VCONSEL[2:0] is not equal to 0, then threshold do not generate ZXCOMB outputs and a minimum of
1ms is required between ZXCOMB generation.
Zero-Crossing Output Rates
There are seven zero-crossing detection circuits which monitor IA, IB, IC, VA, VB, VC and the combined (VA+VB-VC)/2 signal. The
zero-crossing detection circuits have two different output rates: 8ksps and 1024 ksps. The 8ksps zero-crossing signal is used to calculate
the line period, sent to the ZXx bits in the STATUS1 register and is monitored by the Zero-Crossing Timeout, Phase Sequence Error
Detection, Resampling and Energy Accumulation functions. The 1024 ksps signal is used for ANGLE measurements and is output on the
CF3/ZX pin if the CF3_CFG bit in the CONFIG1 register is equal to one.
Table 15 indicates which zero-crossing edges (negative to positive and positive to negative) are used for each function and indicates what
happens if a zero-crossing is blocked because the input signal is below the user configured ZXTHRSH.
Table 15: Zero Crossing Use in Other Functions
Functions using Zero- ZX transitions Corresponding Selecting which Phase to Effect if ZX does not occur
crossing used STATUS1 register bits use for Measurement
The CF3/ZX output pin goes from low to high when a negative to positive transition is detected and from high to low when a positive to
negative transition occurs. The ZX_SEL[1:0] bits in ZX_LP_SEL select the zero crossing output used for line cycle energy accumulation
and ZX output pin.
ZERO-CROSSING TIMEOUT 8000 ∗ 2
f Hz
The zero-crossing timeout feature alerts the user if a zero- xPERIOD 1
crossing event is not generated after a user configured amount With a 50Hz input, the xPERIOD register is 0x00A0_0000,
of time. If a zero-crossing on is not received after ZXTOUT 10485760d, and with 60Hz, it is 0x0085_5554, 8738132d.
8ksps clocks, then the corresponding ZXTOx bit in the
STATUS1 register is set. For example, if ZXTOUT is equal to If the calculated period value is outside the range of 40 to 70Hz,
8000, then if a zero crossing is not received on Phase A for or if the negative to positive zero-crossings for that phase are
8000/8ksps = 1s, then the ZXTOA bit is set in the STATUS1 not detected, the xPERIOD register be coerced to correspond to
register. The maximum value which can be written to the 50Hz or 60Hz, according to the setting of the SELFREQ bit in
ZXTOUT register is 0xFFFF/8000 = 8.19 seconds. the ACCMODE register. With SELFREQ equal to 0 for a 50Hz
network, xPERIOD register is coerced to 0x00A0_0000. If
LINE PERIOD CALCULATION SELFREQ is one, indicating a 60Hz network, then the
The ADE9000 line period measurement is done by taking the xPERIOD register is coerced to 0x0085_5554.
values low pass filtered by LPF1, as described in the Zero- The line period is calculated for the Phase A, B and C voltages
Crossing Detection section and then using the two values near and the combined voltage signal, as described in the Combined
the positive to negative zero crossing to calculate the exact zero Voltage Zero Crossing section, and stored in the APERIOD,
crossing point using linear interpolation. This information is BPERIOD, CPERIOD and COM_PERIOD registers
used to precisely calculate the line period, which is stored in the respectively.
xPERIOD register.
The line period calculation is used for the resampling
4.3ms @ 50Hz measurement. Select which Phase Voltage Line Period is used as
1 the basis for resampling calculation using the LP_SEL[1:0] bits
0.86
in the ZX_LP_SEL register or select a user configured value
Ix,Vx x x LPF1 OUTPUT written in USER_PERIOD using the UPERIOD_SEL bit in the
0V
x x CONFIG2 register, as shown in Figure 68. For more
information see the Resampling section.
pos1 pos2 pos1 pos2
ZX_LP_SEL.LP_SEL
Figure 67: Line Period Calculation using Zero Crossing Detection and Linear WFB_CFG.WF_CAP_SEL
COM_PERIOD 11 WFB_CFG.WF_SRC
Interpolation CPERIOD 10 SINC4 OUTPUT
BPERIOD 01 SINC4 + IIR LPF OUTPUT
CONFIG2. WAVEFORM
APERIOD 00 xI_PCF, xV_PCF BUFFER
The line period, TL can be calculated from the xPERIOD UPERIOD_SEL
RESAMPLING
register, according to the equation below:
USER_PERIOD
FAST RMS 1/2
xPERIOD 1
T sec RMS 10/12
ADE9000
8000 ∗ 2
Similarly, the line frequency can be calculated from the Figure 68: Line Period Selection for Resampling
ANGL_VAVC
A, B, C PHASE
Figure 69: Voltage to Voltage Phase Angle VOLTAGES AFTER
LPF1
The Angle in degrees can be calculated from the following
equation with a 50Hz line period:
ZXA ZXB ZXC
Angle(degrees) = ANGL_VA_VB*0.017578125/LSB
For a 4-wire Wye configuration, the expected ANGL_VA_VB
and ANGL_VB_VC is 120degrees/0.017578125 = 3413d. Note NORMAL PHASE SEQUENCE
STATUS1.SEQERR=0
that the expected ANGL_VA_VC from Phase A voltage to
Phase C voltage is 240 degrees/0.017578125 = 13653d, which Figure 71: 4-wire Wye and 4-wire Delta Normal Phase Sequence
corresponds to a 120 degree angle between Phase C and Phase For a 4-wire wye or 4-wire delta system, VCONSEL[2:0] is 000,
A. 010, or 011, as described in Applying ADE9000 to Different
The current to current zero crossings are also measured. This is metering configurations section. In these 4-wire systems, the
done similarly to the voltage to voltage phase angle described negative to positive transitions on ZXVA, ZXVB and ZXVC are
previously, except the current channel zero crossings are used as monitored, to determine if there is a phase sequence error as
the reference. The time between the zero-crossing on Phase A shown in Figure 73. To detect a phase sequence error, set how
and Phase B is stored in the ANGL_IA_IB register. The time many sequences to observe in the SEQ_CYC register. It is
between the zero-crossing on Phase B and C is stored in the recommended to set SEQ_CYC to 1. Figure 72 shows a phase
ANGL_IB_IC register and the time in between the zero
Rev. PrC | Page 57 of 111
ADE9000 Preliminary Technical Data
sequence error for a 4-wire Wye or 4-wire Delta due to a wiring Write SEQ_CYC to indicate how many consecutive incorrect
or installation error. transitions should be observed before raising the SEQ_ERR
interrupt. It is recommended to set SEQ_CYC to 1. Figure 75
shows an installation error for 3-wire delta which results in a
detected Phase Sequence Error.
A, B, C
PHASE
VOLTAGES PHASE C PHASE A
AFTER
LPF1
VA, VB, VC
ZXC ZXB ZXA AFTER LPF1
STATUS1.
ZXC_pos ZXC_neg
SEQERR
ZXA_pos ZXA_neg
PHASE SEQUENCE ERROR
(SEQERR = 1)
Figure 72: 4-wire Wye and 4-wire Delta Phase Sequence Error (Wiring Error) STATUS1.
SEQERR
Figure 73 shows that in an installation with the normal phase
sequence, a phase sequence error is generated if a phase voltage IRQ1
drops below the ZXTHRSH.
WRITE STATUS1.SEQERR = 1
STATUS1.SEQERR
TO ACKNOWLEDGE THIS EVENT
SET TO 1
AND CLEAR STATUS1.SEQERR
STATUS1.
SEQERR PHASE C PHASE A
PHASE SEQUENCE ERROR
VA, VB, VC
Figure 73: 4-wire Wye, 4-wire Delta Phase Sequence Error from a Phase AFTER LPF1
Voltage dropping below ZXTHRSH with SEQ_CYC = 1
3-Wire Delta
ZXA_pos ZXA_neg ZXA_pos ZXA_neg ZXA_pos ZXA_neg
For a 3-wire delta system, VCONSEL[2:0] is 001 or 100 as ZXC_pos ZXC_neg
described in Applying ADE9000 to Different metering
configurations section. In a 3-wire delta system, the ZXVC and STATUS1.
SEQERR
ZXVA positive to negative and negative to positive transitions
IRQ1
are monitored to detect a phase sequence error. Figure 74 shows
the normal phase sequence for a 3-wire delta with STATUS1.SEQERR
SET TO 1 WRITE STATUS1.SEQERR = 1
VCONSEL[2:0]=001. TO ACKNOWLEDGE THIS EVENT
AND CLEAR STATUS1.SEQERR
PHASE C PHASE A Figure 76: 3-wire Delta Phase Sequence Error from a Phase Voltage dropping
=VCB =VAB below ZXTHRSH with SEQ_CYC = 1
VA, VC
AFTER LPF1
This measurement is provided for voltage and current on all The samples used for the RMS½ calculation can come from
phases plus the neutral current. All the half cycle rms before the high pass filter or after the integrator as selected in
measurements are done over the same time interval and update the RMS_SRC_SEL bit in the CONFIG0 register.
at the same time, as indicated by the RMSONERDY bit in the Since the high pass filter has a significant settling time
STATUS0 register. The results are stored in the AIRMSONE, associated with it, it is recommended to use the data from
BIRMSONE, CIRMSONE, NIRMSONE, AVRMSONE, before the high pass filter for the fastest response time.
BVRMSONE, CVRMSONE registers. An offset correction register is provided for even better
By default, the number of samples used in the calculation varies performance with small input signal levels, xxRMSONEOS.
with measured line frequency. The LP_SEL bits in the The xxRMSONE register reading with full scale inputs is
ZX_LP_SEL select which line period measurement is used to 52675621d.
set the number of samples used in the RMS½ measurement.
The signal chain is shown in Figure 77.
Alternatively, the user can set the number of samples used in
the calculation by setting the UPERIOD_SEL bit in CONFIG2
where the user configured USER_PERIOD register will be used
CONFIG0. CONFIG0.
HPFDIS INTEN
CURRENT
CHANNEL
SAMPLES PHASE xI_PCF
HPF COMP
xIRMSONE
INTEGRATOR CONFIG0. xIRMSONEOS FAST RMS 1/2
RMS_SRC_SEL
COM_PERIOD xIRMS1012
11 xIRMS1012OS RMS 10/12
CPERIOD 10
ACCMODE.
BPERIOD 01
SELFREQ
APERIOD 00
WAVEFORM
ZX_LP_SEL.LP_SEL RESAMPLING BUFFER
CONFIG2.
USER_PERIOD UPERIOD_SEL
ADE9000
Figure 77: RMS1/2, 10/12 Cycle RMS Measurement
10/12 CYCLE RMS if the voltage went above a threshold for a specified number of
The 10/12 cycle rms measurement is done over 10 cycles on a cycles.
50Hz network or 12 cycles on a 60Hz network. The SELFREQ Set the DIP_LVL register to correspond to the RMS1/2 value to
bit in the ACCMODE register selects whether the network is 50 trigger the dip event, according to this equation
or 60Hz. Then the UPERIOD_SEL bit in the CONFIG2 register DIP_LVL xVRMSONE ∗ 2
selects whether to use a measured line period or a user
Configure the number of cycles to observe the RMS1/2 value
configured value in the USER_PERIOD register to set the
over in the DIP_CYC register.
number of samples used in the calculation.
The RMS1/2 voltages on Phase A, B and C is compared to the
An offset correction register is provided for even better
DIP_LVL over the specified DIP_CYC. If the RMS1/2 voltage is
performance with small input signal levels, xxRMS1012OS.
low for the specified number of DIP_CYC, then the dip event
The xxRMS1012 register reading with full scale inputs is has occurred on that phase and the corresponding DIPA, DIPB
52675621d. and DIPC bits are set in the STATUS1 register. The dip event
The signal chain is shown in Figure 77. See the Fast RMS½ can generate an interrupt on the IRQ1 pin.
Measurement for more information about the signal chain. The dip event can be configured to generate an event on the
DIP/SWELL INDICATION CF4/EVENT /DREADY pin, if the corresponding bits are set in
Dip indicates if the voltage went below a specified threshold for the EVENT_MASK register. This allows the user to precisely
a user configured number of cycles. Conversely, swell indicates time the duration of a dip or swell, using the CF4/EVENT
Rev. PrC | Page 59 of 111
ADE9000 Preliminary Technical Data
/DREADY pin in combination with a timer on an external VPPHASE[2] indicates if Phase C had the peak voltage value,
microcontroller. VPPHASE[1] indicates Phase B and VPPHASE[0] indicates
The minimum RMS1/2 value measured during the dip is stored Phase A.
in the corresponding DIPA, DIPB, DIPC registers. When the user reads the IPEAK register, its value is reset. The
Similarly, the swell indication has a SWELL_LVL register to set same is true for reading VPEAK.
the swell threshold, according to this equation: TEMPERATURE
SWELL_LVL xVRMSONE ∗ 2 ADE9000 includes a temperature measurement with +/-2°C
There is also a SWELL_CYC register. The maximum RMS1/2 accuracy from -40°C to +85°C, which is +/-1°C from -10°C to
value measured during the swell is stored in the corresponding 40°C. This measurement uses a temperature sensor in
SWELLA, SWELLB, SWELLC registers. conjunction with a 12-bit SAR ADC.
OVERCURRENT INDICATION
Overcurrent indication monitors the RMS1/2 current
measurements. If a RMS1/2 current is greater than the user
configured OILVL, overcurrent threshold, then this is indicated Figure 78: Temperature Measurement Block Diagram
in the OI bit in the STATUS1 register. The temperature sensor has 0.349°C/LSB resolution, meaning
OILVL xIRMSONE ∗ 2 that one bit in the output is equal to 0.349°C. There is a
The OC_EN[3:0] bits in the CONFIG3 register select which background measurement mode where the temperature engine
phases to monitor for overcurrent events. has a new reading available at a configurable rate of 0.001s,
0.25s, 0.5s or 1s.
The OIPHASE[3:0] bits in the OISTATUS register indicate
which current channels had RMS1/2 measurements greater Enable the temperature sensor by setting the TEMP_EN bit in
than the threshold. the TEMP_CFG register.
If a phase is enabled, with the corresponding OC_EN bit set TEMP_TIME[1:0] allows 1, 256, 512 or 1024 temperature
and the RMS1/2 current is greater than the threshold, then the readings to be averaged, producing a result from every 1ms to
OI status is set and the RMS1/2 value is stored in the 1s.
corresponding OIx register. If a phase is disabled, or an It is also possible to request a new temperature sensor reading
overcurrent event does not occur on that phase, then the OIx manually by setting the TEMP_START bit in the TEMP_CFG
register keeps the last value. register. After setting this bit, a new temperature sensor reading
PEAK DETECTION will be available in 1ms.
ADE9000 records the peak value measured on the current and Set the TEMP_RDY bit in the MASK0 register to get an
voltage channels, from the xI_PCF and xV_PCF waveforms. interrupt when a new temperature measurement is available.
The PEAKSEL[2:0] bits in the CONFIG3 register allow the user The temperature measurement result is stored in the
to select which phases to monitor. Set PEAKSEL[2] to monitor TEMP_RSLT register.
Phase C, PEAKSEL[1] for Phase B and PEAKSEL[0] for Phase The temperature reading offset is measured during production
A. Set PEAKSEL[2:0]=111b to monitor all three phases. test and stored in the TEMP_TRIM register. To convert the
The IPEAK register stores the peak current value in temperature readings in TEMP_RSLT into a temperature in
IPEAKVAL[23:0] and indicates which phase(s) currents degrees Celcius use this equation:
reached the value in the IPPHASE[2:0] bits. IPEAKVAL is equal Temperature (°C) =
to xI_PCF/2^5. TEMP_TRIM.TEMP_GAIN*TEMP_RSLT+TEMP_TRIM.TE
IPPHASE[2] indicates that Phase C had the peak value, MP_OFFSET-273.15°C
IPPHASE[1] indicates Phase B and IPPHASE[0] indicates Phase The temperature sensor readings are available in PSM0 mode
A. only.
Similarly, VPEAK stores the peak voltage value in VPEAKVAL
[23:0]. VPEAKVAL is equal to xV_PCF/2^5.
In this mode, the input currents (IA, IB, IC) are compared 14 1500:1
against a user selected level set in PSM2_CFG register. If any of 15 1600:1
the three currents exceeds the threshold, then the IRQ0 and
After the configured measurement time set in (LPLINE[3:0] +
IRQ1 is generated. The amount of time allowed for the 4)/50 sec has elapsed, the IRQ0 and IRQ1 pins indicate if a
detection is decided by the user and set in the LPLINE[3:0] bits tamper has occurred. If IRQ0 = low, then all the currents have
of the PSM2_CFG register. The measurement time is the
had less than LPLINE[3:0]+1 peaks—no tamper has been
measurement period is (LPLINE[3:0] + 4)/50 sec. The
detected. If IRQ1 = low, then at least one current was above
ADE9000 indicates that a tamper has been detected if at least
LPLINE[3:0]+1 peaks and a tamper has been detected.
LPLINE[3:0]+1 peaks are obtained on a current channel. The
maximum allowed value in LPLINE[3:0] is 0x0A. After the tamper is detected, switch to PSM0 power mode, by
changing the PM1 and PM0 pins to 0, 0 to make the required
measurements.
~
SCLK
for information about the length of each register.
15 0
Figure 79 shows the connection between the ADE9000 SPI and
~ ~
MOSI
CMD_HDR=0x6078
a master device that contains a SPI interface.
31 0 15 0
~ ~ ~ ~
~ ~ ~ ~
MISO
BURST_EN = 0 AIRMS @0x607, 32-BITSCRC, 16-BITS
Address 0x500-0x6FF
31 0 31 0
MISO
ADExxxx SPI Master BURST_EN = 1, AIRMS @0x607, 32-BIT BIRMS @0x608, 32-BIT
Address 0x500-0x6FF
MOSI MOSI
Figure 80: SPI Read Protocol Example—CRC or Next Data can follow1
MISO MISO
SS
SCLK SCK
--- ---
~
SCLK
SS CS
15 0 31 0
~ ~
~ ~
MOSI
CMD_HDR=0x00B0 AVGAIN @0x00B
Figure 79: Connecting the ADE9000 slave SPI port to a Master SPI Device
MISO
The SS pin is the chip select input. It is used to start the SPI
communication with the ADE9000. Figure 81: SPI Write Protocol Example1
There are three parts to the ADE9000 SPI protocol: first a 16-bit The maximum serial clock frequency supported by this
command is sent which indicates whether a read or write interface is 20MHz.
operation will be performed and which register to access. This The SPI read/write operation starts with a 16-bit command
is followed by the 16 or 32 bit data to be written, in the case of a (CMD_HDR), which contains the following information:
SPI write, or the data read from the register, in the case of a SPI
read operation. Finally, in the case of a SPI read operation, a 1. CMD_HDR [15:4], the 12 most significant bits of the
CRC of the register data follows unless the address is in a region command header, contains the address of the register
which supports burst reading, in which case the data from the ADDR [11:0] to be read or written.
next register will follow—see the SPI Burst Read section for 2. CMD_HDR [3] is the bit that specifies if the current
more information. operation is read/write. Set this bit to 1 for read and 0
The SS input should stay low for the whole SPI transaction. for write.
Bringing SS high during a data transfer operation aborts the 3. CMD_HDR [2:0] bits are required for internal chip
transfer. A new transfer can be initiated by returning the SS timing and can be 1’s or 0’s. Note that these bits are
logic input low. It is not recommended to tie SS to ground since read back as 000 in the LAST_CMD register.
the high to low transition on SS starts the ADE9000 SPI Figure 82 shows the information contained in the command
transaction. header.
Data shifts into the device at the MOSI logic input on the falling
edge of SCLK, and the device samples the input data on the
rising edge of SCLK. Data shifts out of the ADE9000 at the
MISO logic output on the falling edge of SCLK and should be
sampled by the master device on the rising edge of SCLK. The
most significant bit of the word is shifted in and out first.
MISO has an internal weak pullup of 100kOhms, making the
default state of the MISO pin high. It is possible to share the SPI
bus with multiple devices, including multiple ADE9000 if 1
The Default state of the MOSI pin depends on the Master SPI device. Here, it
is assumed to be HIGH (Logic 1).
desired.
Rev. PrC | Page 62 of 111
Preliminary Technical Data ADE9000
Table 17: Data clocked out after addressed data, in SPI Read operation
~
SCLK
MOSI
BURST_EN = 0 and the address is within the range of CMD_HDR=0x00B8
0x000-0x6FF 31 0 15 0
~ ~ ~ ~
~ ~ ~ ~
MISO
BURST_EN = 0 and The address is in the waveform BURST_EN = 0 AVGAIN @0x00B CRC, 16-BITS
Address 0x000-0x4FF
buffer, 0x800 – 0xFFF and BURST_CHAN is equal to 31 0 31 0
MISO
1111b. BURST_EN = 1, AVGAIN @0x00B AVGAIN @0x00B
Address 0x000-0x4FF
The ADE9000 provides a SPI Burst Read functionality—instead
Figure 83: SPI Read Protocol Example where the following data is the CRC or
of sending the CRC, the following data will be from the next the initial data is repeated1
address if these conditions apply—see the SPI Burst Read
section for more information: SPI BURST READ
BURST_EN = 1 and the address is within the range of SPI Burst read allows multiple registers to be read after sending
0x500-0x63C or 0x680-0x6BC. one CMD_HDR. After the register data has been clocked out,
the ADE9000 will auto-increment the address and start
The address is within the range of 0x800 to 0xFFF and clocking out the data from the next register address.
BURST_CHAN is not equal to 1111b.
SPI Burst read access is available on registers with addresses
If none of these cases apply, and extra clocks are sent, the ranging from 0x500-0x6FF and in the waveform buffer, with
original read data is resent. addresses 0x800 to 0xFFF. SPI Burst read is not available on
Table 17 summarizes which data will be sent after the data from other register addresses. A SPI Burst Read operation will occur
the register addressed in the CMD_HDR—it varies based on for the options in Table 17, where “Next address” is written.
the address being accessed and the BURST_EN selection. To enable burst read functionality on the registers from 0x500-
0x6FF, set the BURST_EN bit in CONFIG1 register to 1.
The waveform buffer burst read functionality is enabled by
default and is managed by BURST_CHAN[3:0] bits of the
Rev. PrC | Page 63 of 111
ADE9000 Preliminary Technical Data
WFB_CFG register. If these bits are set to 1111b, then the burst MISO 32-bit Data
The ADE9000 SPI port calculates a CRC16 (Cyclic-Redundancy Figure 86. LFSR Generator Used for CRC_SPI Calculation
Check) of the data sent out on its MOSI pin so that the integrity Figure 86 shows how the LFSR works. The MISO 32-bit data
of the data received by the master can be checked. The CRC of forms the [a31, a30,…, a0] bits used by the LFSR. Bit a0 is Bit 24 of
the data sent out on the MOSI pin during the last register read the first MISO 32-bit data to enter the LFSR while the last data
is offered in a 16-bit register, CRC_SPI, and can be appended to to enter the LFSR, Bit a31 corresponds to Bit 7 transmitted on
the SPI read data as part of the SPI transaction. MISO. The formulas that govern the LFSR are as follows:
The CRC_SPI register value is appended to the 16/32 bit data bi(0) = 1, where i = 0, 1, 2, …, 15, the initial state of the bits that
read from the register addressed in the CMD_HDR for the form the CRC. Bit b0 is the least significant bit, and Bit b15 is the
cases in Table 17 where “CRC” is written—see the SPI Read most significant bit.
section for more information.
gi, where i = 0, 1, 2, …, 15 are the coefficients of the generating
The CRC result can always be read from the CRC_SPI register polynomial defined by the CRC-16-CCITT algorithm as
directly. follows:
There is no CRC checking as part of the SPI write register G(x) = x16 + x12 + x5 + 1 (1)
protocol. To ensure the data integrity of the SPI write operation,
read the register back to verify the value has been written to the g0 = g5 = g12 = 1 (2)
ADE9000 correctly. All other gi coefficients are equal to 0.
ADE9000 CRC Algorithm FB(j) = aj − 1 XOR b15(j − 1) (3)
The CRC algorithm implemented within ADE9000 is based on b0(j) = FB(j) AND g0 (4)
the CRC-16-CCITT algorithm. The data output on MISO is bi(j) = FB(j) AND gi XOR bi − 1(j − 1), i = 1, 2, 3, …, 15 (5)
introduced into a linear feedback shift register (LFSR) based
generator one byte at a time, most significant byte first without bit Equation 3, Equation 4, and Equation 5 must be repeated for j =
reversal, as shown in Figure 84 and Figure 85. The 16-bit result 1, 2, …, 32. The value written into the CRC_SPI register contains
is written in the CRC_SPI register. Bit bi(32), i = 0, 1, …, 15.
A similar process is followed for 16-bit data—see Figure 85 for
information about how the bits are ordered into the LFSR.
WAVEFORM BUFFER
ADE9000 has a waveform buffer comprised of 2048 32-bit Resampled waveforms with 128points per line cycle
memory locations with address from 0x800 to 0xFFF. This processed by the DSP: data rate varies with line period
memory can be filled with samples from the sinc4 or sinc4+IIR
Figure 87 and Figure 88 show the current and voltage channel
LPF or current and voltage waveform samples processed by the
datapaths, indicating which waveforms can be stored into the
digital signal processor.
waveform buffer.
Resampled waveforms make it easy to do harmonic analysis in
Filling and accessing of the waveform buffer depends on which
an external processor which can use the 16-bit 128points per
type of data is being filled in the buffer. The waveforms with a
line cycle samples directly in a FFT, without having to perform
fixed data rate, 32ksps or 8ksps are referred to as “fixed data
any windowing functions.
rate” waveforms. Refer to the corresponding section to
The data in the waveform buffer can come from four locations understand what modes/access are available for resampled
in the signal chain: waveforms versus fixed data rate waveforms.
SINC4 outputs, xI_SINC_DAT, xV_SINC_DAT: The waveform buffer samples can be accessed using the SPI
32ksps Burst Read functionality so that multiple samples can be read
using only one SPI command header—see the Burst Read
SINC4+IIR LPF output, xI_LPF_DAT, xV_LPF_DAT:
Waveform Buffer Samples From SPI section.
8ksps
Current and Voltage Channel Waveforms processed
by the DSP (xI_PCF, xV_PCF): 8ksps
VIN
SINC4 OUTPUT (xI_SINC_DAT) SINC4+IIR LPF (xI_LPF_DAT) RESAMPLED WAVEFORM CURRENT CHANNEL (xI_PCF)
DATA RANGE DATA RANGE DATA RANGE DATA RANGE
+1V 0x03FF_81C0 = 0x0470_7D80 = 0x0470_7160 =
+67,076,544 0x4708 = +74,477,920
+74,481,024 +18,184
0V 0V 0V 0V
0V
–1V 0xFC00_7E40 =
0xFB8F_8280 = 0xFB8F_8EA0 =
ANALOG INPUT RANGE -67,076,544 0xBDF8 = –74,477,920
–74,481,024 –18,184
VIN SINC4 OUTPUT (xV_SINC_DAT) SINC4+IIR LPF (xV_LPF_DAT) VOLTAGE CHANNEL (xV_PCF) RESAMPLED WAVEFORM
DATA RANGE DATA RANGE DATA RANGE DATA RANGE
0x03FF_81C0 = 0x0470_7D80 = 0x0470_7160 = 0x4708 =
+1V +74,477,920 +18,184
+67,076,544 +74,481,024
0V 0V 0V 0V 0V
0xFC00_7E40 = 0xBDF8 =
0xFB8F_8280 = 0xFB8F_8EA0 =
–1V -67,076,544 –74,477,920 –18,184
ANALOG INPUT RANGE –74,481,024
SE ADC_DATA[23:0] 0000
0x9FF
Table 19 indicates the WFB_SRC selection for each fixed data
Page3
rate waveform source. Each fixed data rate sample is 32-bits 0x980
0x97F
however the data format varies between the three sources, as Page2
indicated in Table 19. When the waveform buffer is enabled, the 0x900
0x8FF
data from all seven channels is stored into the buffer. One
Page1
“sample set” consists of one sample per channel, 7 samples total, 0x880
which are taken at the same point in time. 0x87F
Page0
Figure 89 shows how the fixed data rate samples are stored into 0x800
the buffer. Every sample set is separated in memory, from the Figure 90: Waveform Buffer Page Arrangement—for Fixed Data Rate
adjacent one, by the use of spare cells, do not contain any Samples Only
sample data, as shown in Figure 89. In this way, every 8th 32-bit
memory location in the buffer is reserved as a spare cell. If the
7th channel is disabled, with the WF_IN_EN bit in the
WFB_CFG register equal to zero, then the IN sample locations
are treated as spare cells as well.
0xFFF
IN
VC
IC
IN, if WFB_CFG.WF_IN_EN = 1
Spare cell, if WFB_CFG.WF_IN_EN = 0
Spare cell
0x807
IN
0x806
VC
0x805
IC
0x804
VB
0x803
IB
0x802
VA
0x801
IA
0x800
31 0
There are 256 (2048/8) sample sets that can be stored in the
buffer. In ADE9000, the sinc4 outputs at 32ksps so the buffer
can contain (256/32000) = 8ms of data from the sinc4. The
sinc4+IIR LPF samples and DSP processed xI_PCF and
xV_PCF waveform samples are filled at 8kHz, and the buffer
can contain 32ms (256/8000) of this data.
When used with fixed data rate samples, the waveform buffer is
divided into 16 pages, Page0 to Page15. Each page contains 128
32-bit memory locations. Figure 90 illustrates this arrangement.
Rev. PrC | Page 69 of 111
ADE9000 Preliminary Technical Data
Waveform Buffer Filling Indication—Fixed Data Rate or 3. Write the WF_CAP_EN bit in the WFB_CONFIG register
Samples to start filling the buffer from address 0x800.
The WFB_PG_IRQEN register allows the user to monitor if In this mode, the waveform buffer is filled continuously. Once
specific pages have been filled, with one bit available per page. the entire buffer is filled up to address location 0xFFF, the filling
For example, if Bit 0 and Bit 3 of WFB_PQ_IRQEN is set, then continues from address location 0x800, in a circular fashion.
the user will receive an indication when address 0x87F has been
In this mode, it is important to monitor the filling status of the
written, when Page 0 is full, and when address 0x9FF has been
buffer using WFB_PQ_IRQEN register in conjunction with the
written, meaning that Page 3 is full . The PAGE_FULL bit of the
PAGE_FULL bit in the STATUS0 register and
STATUS0 register is set to 1 when a page enabled in the
WFB_LAST_PAGE bits in the WFB_TRG_STAT register, as
WFB_PG_IRQEN register has been filled. The user can enable
described in
an interrupt to occur on IRQ0 when the PAGE_FULL bit is set
by setting the PAGE_FULL bit in the STATUS0 register.
The WFB_LAST_PAGE bits in the WFB_TRG_STAT register
indicate which page was filled last, when filling with fixed data
rate samples.
FIXED DATA RATE WAVEFORMS FILLING AND
TRIGGER BASED MODES
The waveform buffer offers different filling modes to be used
with fixed data rate samples:
Stop when buffer is full
Continuous filling
ADE9000 allows a selection of events to trigger waveform
buffer captures and there is an option to store the current
waveform buffer address during an event, to allow the user to
synchronize the event with the waveform samples. These are the
waveform buffer actions which can be associated with an event
when the buffer is filling contonuously:
Stop filling on trigger
Center capture around trigger
Save Event Address and keep filling
Stop when Buffer is Full Mode
“Stop when Buffer is Full” mode is enabled when
WF_CAP_SEL = 1 and the WF_MODE bits are equal to 0 in
the WFB_CFG register. Set the WF_CAP_EN bit in the
WFB_CFG register to start filling the buffer from address
0x800.
Once the address location 0xFFF in Page15 is written, the filling
operation stops. To get an indication when the buffer is full, set
Bit 15 of the WFB_PG_IRQEN register prior to starting the
capture. Then the PAGE_FULL bit in STATUS0 is set when the
buffer is full. This PAGE_FULL status change can be enabled to
generate an interrupt on IRQ0 as well.
To perform the next filling operation, disable the waveform
buffer by clearing bit WF_CAP_EN of the WFB_CFG register
to 0, and enable it again by setting the same bit to 1.
Continuous Fill Mode
Continuous Fill mode is enabled when WF_CAP_SEL = 1 and
WF_MODE[1:0] in the WFB_CONFIG register is equal to 1, 2
Bit Bit Mnemonic Comment Then enable the desired waveform buffer events in the
# WFB_TRG_CFG register and set the
WFB_TRIG_IRQ bit in the STATUS0 to generate an
10 TRIG_FORCE Set this bit to trigger an event to stop the interrupt when the event has occurred and the
waveform buffer filling waveform buffer has stopped filling.
9 ZXCOMB ZXCOMB event
When the WFB_TRIG_IRQ occurs, read the
8 ZXVC ZX event in phase C voltage WFB_TRIG_ADDR to get the address of the trigger
7 ZXVB ZX event in phase B voltage event which is, within a sample or two of when the
6 ZXVA ZX event in phase A voltage event occurred and is the last filled address.
5 ZXIC ZX event in phase C current Waveform buffer values are retained when the waveform buffer
is disabled by clearing the WF_CAP_EN in the WFB_CFG
4 ZXIB ZX event in phase B current
register; however the LAST_PAGE and WFB_TRIG_ADDR are
3 ZXIA ZX event in phase A current reset when that bit is cleared. Read the LAST_PAGE and
2 OI Overcurrent event WFB_TRIG_ADDR registers prior to writing WF_CAP_EN =
1 SWELL Swell event 0.
0 DIP Dip event Trigger events given in Table 20 should be enabled or disabled
prior to enabling the waveform buffer by writing to the
The trigger events in WFB_TRG_CFG[10:0] correspond to WFB_TRG_CFG register.
interrupt events within the ADE9000 with the exception of the
TRIG_FORCE bit. The user can set the TRIG_FORCE bit, Then, to perform the next filling operation in the “Stop Filling
on Trigger” mode, disable the waveform buffer by clearing bit
WF_CAP_EN of the WFB_CFG and then enable it again by
Rev. PrC | Page 71 of 111
ADE9000 Preliminary Technical Data
setting the same bit to 1. Note that if the TRIG_FORCE bit was event occurred. The last filled address is 1024 samples
set to force a trigger, that it should be cleared in the later.
WFB_TRG_CFG register prior to starting the next capture— Save Event Address and keep filling
before writing WF_CAP_EN = 1.
To record the waveform buffer address when a trigger event
Center capture around trigger occurs, while still filling the buffer, select WF_MODE = 3 for
The “center capture around trigger” mode is enabled when continuous filling. When a trigger event that is enabled in the
WF_CAP_SEL = 1 and WF_MODE = 2 and is similar to the WFB_TRG_CFG register occurs, the WFB_TRIG bit in the
stop on trigger, except that the waveform buffer does not stop STATUS0 register is set. This can be configured to generate an
filling after the trigger event. Even after the occurrence of the interrupt on the IRQ0 pin. Read the WFB_TRIG_ADDR bits in
trigger event, the filling of the buffer continues to take place for the WFB_TRIG_STAT register to get the waveform buffer
the next 1024 32-bit memory locations before stopping. It is address for the event. Only the first enabled trigger address is
recommended to use this mode to analyze samples before and stored, any later trigger events are ignored.
after an event. Refer to the Stop Filling on Trigger section for
RESAMPLED WAVEFORMS
more information about trigger events.
When resampling is enabled, the data from all seven channels is
Note that in the center trigger mode, the WFB_TRIG bit in
calculated and stored into the buffer. One “sample set” consists
STATUS0 is set when the enabled trigger event occurs while the
of one sample per channel, 7 samples total, which are from the
WFB_TRG_IRQ bit in STATUS0 is set when the 1024
same point in time. Each resampled waveforms sample is 16-
additional memory locations have been filled and the waveform
bits.
buffer filling stops. Both of these status bits can be configured
to generate an interrupt on the IRQ0 pin. Calculate the last Figure 91 shows how the resampled waveforms are stored into
filled address, using WFB_TRIG_ADDR: the buffer. Every sample set is separated in memory from the
adjacent one, by the use of spare cells, as shown in Figure 91.
If (WFB_TRIG_ADDR+1024>0xFFF, These spare cells do not contain any sample data. There is one
Last Filled Address = WFB_TRIG_ADDR-1024; 16-bit spare cell at the end of every 4th consecutive 32-bit
Else memory location. If the neutral current channel is disabled, the
16-bit location that stores IN samples also act as spare c ells.
Last Filled Address = WFB_TRIG_ADDR+1024;
0xFFF IN
To ensure that a buffer’s worth of samples has been captured VC IC
before the event, follow this sequence: VB IB
= 1, WF_MODE = 2
Disable all trigger events by writing WFB_TRG_CFG
=0 IN, if WFB_CFG.WF_IN_EN = 1
Spare cell, if WFB_CFG.WF_IN_EN = 0
Make sure that at least half of the the buffer has been
Spare cell
filled by enabling an interrupt to occur on IRQ0 when
IN
the Page 7 is filled by setting only Bit 7 in the VC IC
WFB_PQ_IRQEN register and enabling the VB IB
PAGE_FULL bit in the STATUS0 register. VA IA
Alternatively, the LAST_PAGE register can be read IN
instead of using the interrupt. 0x802 VC IC
0x801 VB IB
Start the capture by writing WF_CAP_EN = 1
0x800 VA IA
Wait for the buffer to be filled—indicated by when the 31 15 0
PAGE_FULL interrupt occurs or LAST_PAGE = 15. Figure 91: Resampled Waveform Sample Storage
Then enable the desired waveform buffer events in the The waveform buffer contains 2048 32-bit memory locations
WFB_TRG_CFG register and set the and can hold 512 (2048/4) set of samples in coherent fill mode.
WFB_TRIG_IRQ bit in the STATUS0 to generate an In ADE9000, the buffer is filled with 128 points per line cycle,
interrupt when the event has occurred and the which implies that the buffer can hold 4 line cycles worth of
waveform buffer has stopped filling. data at any instant in time. With 50Hz line frequency, the buffer
contains 80 ms worth of resampled data.
When the WFB_TRIG_IRQ occurs, read the
WFB_TRIG_ADDR to get the address of the trigger First, clear the WF_CAP_EN bit to disable the waveform buffer.
event which is, within a sample or two of when the Then clear the WF_CAP_SEL bit in the WFB_CFG register to
Rev. PrC | Page 72 of 111
Preliminary Technical Data ADE9000
select resampled data to be stored in the waveform buffer. BURST_CHAN bits in the WFB_CFG register, as shown in
Finally, set the WF_CAP_EN bit to start the resampling Table 21.
process. The waveform buffer will start filling from its first Table 21: Waveform Buffer Burst Read
address location, 0x800. When the waveform buffer is full, the
COH_WFB_FULL bit of STATUS 0 will go high, which can be BURST_CHAN Channels to burst
enabled to generate an interrupt on IRQ0. Note that this is the [3:0]
only status bit available for the resampled waveforms.
The time taken to fill the buffer depends on the line frequency. 0000 (default) All channels
The waveform buffer values are retained even when the
0001 IA and VA
waveform buffer is disabled, by clearing the WF_CAP_EN in
the WFB_CFG register. 0010 IB and VB
To get a new set of resampled data, disable the waveform buffer
0011 IC and VC
by resetting bit WF_CAP_EN of the WFB_CFG register to 0,
and enable it again by setting the same bit to 1. 1000 IA
CONFIGURING THE WAVEFORM BUFFER
1001 VA
The waveform source, type of capture (fixed data rate or
resampled) and fill mode (continuous, one time, based on 1010 IB
trigger) should be configured in the WFB_CFG register. To do
this, first disabled the waveform buffer by writing 1011 VB
WF_CAP_EN = 0. Then write the WF_SRC, WF_CAP_SEL
1100 IC
and WF_MODE to the WFB_CFG register.
When the WF_CAP_EN bit is set, whichever mode is selected 1101 VC
by the WF_CAP_SEL and WF_MODE bits in WFB_CFG is
1110 IN if WF_IN_EN = 1 in the
initiated.
WFB_CFG register
For example, if WF_CAP_SEL = 0, then resampled waveforms
are stored into the buffer. If WF_CAP_SEL = 1, then fixed data 1111 Single address read (SPI Burst mode
rate samples are stored into the buffer and the WF_MODE bits is disabled)
indicate whether the buffer will be filled continuously, or only
one time and if trigger events will affect the buffer filling. All of The same BURST_CHAN options are available for both fixed
these bits must be configured before writing the WF_CAP_EN data rate samples and resampled data.
bit in the WFB_CFG register.
The waveform buffer sample which is read out depends on the
When the waveform buffer is disabled, by clearing the selection in BURST_CHAN and whether the stored data is fixed
WF_CAP_EN bit, the waveform buffer data remains valid; data rate data or resampled data.
However, the LAST_ADDR and WFB_TRIG_ADDR registers
are reset. If BURST_CHAN is not equal to 1111, and fixed data rate data
is stored in the waveform buffer, when WF_CAP_SEL = 1, then
To start a new waveform capture, disable the waveform buffer the three least significant bits of the address are masked out
by writing WF_CAP_EN = 0. Then configure the when determining which sample set to read out.
WF_CAP_SEL and WF_MODE bits as desired by writing to
WFB_CFG register. Finally, set the WF_CAP_EN bit in If BURST_CHAN is not equal to 1111, and resampled data is
WFB_CFG register to start the capture. Do not change the stored in the waveform buffer, when WF_CAP_SEL = 0, then
WF_CAP_SEL or WF_MODE bits while the WF_CAP_EN bit the two least significant bits of the address are masked out when
is set. determining which sample set to read out.
If BURST_CHAN =is equal to 1111, then whichever address
BURST READ WAVEFORM BUFFER SAMPLES
was written in the CMD_HDR is read out.
FROM SPI
These cases are summarized in Table 22.
The waveform buffer contents can be read using the SPI burst
read mode. The SPI burst read mode allows many samples of Table 22: SPI Address Interpretation when Reading from Waveform Buffer
data to be read while only sending one SPI command header.
Address of Address of Sample
To make it easier to read out the desired data using the SPI Sample Set
burst read functionality, the user can indicate which channels of
data to read out of the waveform buffer, using the BURST_CHAN BURST_CHAN=1111
not equal to
Rev. PrC | Page 73 of 111
ADE9000 Preliminary Technical Data
1111 is interpreted as a read to the sample set starting at address
0x800. The first 16 SPI clocks return the IC waveform from
Fixed Data Rate ADDR[11:3] ADDR[11:0] address 0x802, followed by VC from address 0x802. Then the
Samples sample set auto-increments and the next data is IC from address
(WF_CAP_SEL 0x806, followed by VC from the same address. Then IC from
= 1) address 0x80A and VC from 0x80A and so on—see Figure 93.
Resampled Data ADDR[11:2] ADDR[11:0] Example 3: Fixed Data Rate Data, Single Address Read
(WF_CAP_SEL Mode
= 0) WFB_CAP_SEL = 1 and BURST_CHAN = 1111 in the
WFB_CFG register, indicates that there is fixed data rate data in
the waveform buffer and the user would like to read out one a
Example 1: Fixed Data Rate Data, Seven Channel single address. Then a command is sent to read address 0x801,
Samples which is interpreted as a read to address 0x801. The first 32 SPI
WFB_CAP_SEL = 1, WF_IN_EN = 1, and BURST_CHAN = clocks return the VA waveform from address 0x801, followed by
0000 in the WFB_CFG register, indicates that there is fixed data the CRC if BURST_EN = 0. If BURST_EN = 1, then the VA
rate data in the waveform buffer and the user would like to read waveform data from address 0x801 is repeated again. This
out samples from all seven channels. A command is sent to read example is shown in Figure 94.
address 0x801, which is interpreted as a read to the sample set Example 4: Resampled Data, Single Address Read Mode
starting at address 0x800. The first 32 SPI clocks return IA from
WFB_CAP_SEL = 0 and BURST_CHAN = 1111 in the
address 0x800, followed by VA from address 0x801, and so on
WFB_CFG register, indicates that there is resampled data in the
until IN from address 0x806. Then the sample set auto-
waveform buffer and the user would like to read out one a
increments and the next data is IA from address 0x808,
single address. Then a command is sent to read address 0x801,
followed by VA—this example is depicted in Figure 92.
which is interpreted as a read to address 0x801. The first 16 SPI
Example2: Resampled Data, Phase C (I and V samples) clocks return the VA waveform from address 0x801, followed by
WFB_CAP_SEL = 0 and BURST_CHAN = 0011 in the the IA waveform from address 0x801 and finally the CRC if
WFB_CFG register, indicates that there is resampled data in the BURST_EN = 0. If BURST_EN = 1, then the VA and IA
waveform buffer and the user would like to read out IC and VC waveform data from address 0x801 is repeated again—see
samples. Then a command is sent to read address 0x801, which Figure 95.
SS
~
~
~
~
SCLK
~ ~
MOSI
CMD_HDR=0x8018
31 0 31 0 31 0 31 0 31 0 31 ~ ~ 0
~ ~
~ ~
~ ~
~ ~
~ ~
~ ~
MISO
IA @0x800, 32-BITS VA @0x801, 32-BITS IB @0x802, 32-BITS VB @0x803, 32-BITS IN @0x806, 32-BITS IA @ 0x808, 32-BITS
Figure 92: Waveform Buffer SPI Burst Read of Fixed Data Rate Samples, with BURST_CHAN = 0, to Read out all Channels1
SS
~
~
SCLK
~ ~
MOSI
CMD_HDR=0x8018
15 0 15 0 15 0 15 0 15 0
~ ~
~ ~
~ ~
~ ~
~ ~
MISO
IC @0x802, 16-BITS VC @0x802, 16-BITS IC @0x806, 16-BITS VC @0x806, 16-BITS IC @0x80A, 16-BITS
Figure 93: Waveform Buffer SPI Burst Read of Resampled Data, with BURST_CHAN = 0011, to Read out IC and VC data1
1
The Default state of the MOSI pin depends on the Master SPI device. Here, it is assumed to be HIGH (Logic 1).
~
SCLK
15 0
~ ~
MOSI
CMD_HDR=0x8018
31 0 15 0
~ ~
~ ~
MISO
BURST_EN = 0 VA @0x801, 32-BITS CRC, 16-BITS
Address 0x800-0xFFF
BURST_CHAN = 1111
31 0 31 0
~ ~
~ ~
MISO
BURST_EN = 1 VA @0x801, 32-BITS VA @0x801, 32-BITS
Address 0x800-0xFFF
BURST_CHAN = 1111
Figure 94: Waveform Buffer SPI Single Address Read of Fixed Rate Data with BURST_CHAN = 11111
SS
~
~
SCLK
15 0
~ ~
MOSI
CMD_HDR=0x8018
15 015 0 15 0
~ ~
~ ~
MISO
BURST_EN = 0 VA @0x801 IA @0x801 CRC, 16-BITS
Address 0x800-0xFFF
BURST_CHAN = 1111
15 015 0 15 015 0
~ ~
~ ~
MISO
BURST_EN = 1 VA @0x801 IA @0x801 VA @0x801 IA @0x801
Address 0x800-0xFFF
BURST_CHAN = 1111
Figure 95: Waveform Buffer SPI Single Address Read of Resampled Data with BURST_CHAN = 1111
SPI CRC when Reading Waveform Buffer is not updated. It is recommended to read the waveform buffer
When reading fixed data rate samples, with WF_CAP_SEL = 1, a second time to check the integrity of the SPI read data.
data read out of the waveform buffer has a CRC calculated SPI Last Data Register when Reading Waveform Buffer
which is stored into the CRC_SPI register and can be read back If BURST_CHAN = 1111, then the LAST_DATA_32 register is
after the waveform buffer burst read. updated after reading a sample in the waveform buffer.
When reading a single address of waveform buffer data, the Note that the LAST_DATA_32 registers are not updated when
CRC_SPI is calculated and appended after the 32-bit data, as reading the waveform buffer samples if BURST_CHAN is not
shown in Figure 94. equal to 1111.
Note that when reading resampled data out of the waveform
buffer, when WF_CAP_SEL = 0 , the SPI_CRC _RSLT register
INTERRUPTS/EVENT
The ADE9000 has three pins, IRQ0, IRQ1 and CF4/EVENT To activate this, set the IRQ0_ON_IRQ1 bit in the CONFIG1
/DREADY which can be used as interrupts to the host register. Note that the IRQ0 pin will still indicate the enabled
processor. The IRQ0 and IRQ1 pins go low when an enabled IRQ0 events while in this mode the IRQ1 indicates both IRQ1
interrupt occurs and stay low until the event is acknowledged and IRQ0 events.
by setting the corresponding status bit in the STATUS0 and
The meaning of each individual interrupt source is given in the
STATUS1 registers, respectively. The EVENT function, which
related datasheet section—please refer to these for more
is multiplexed with the CF4 and DREADY options on the information.
CF4/EVENT /DREADY pin, tracks the state of the enabled
signals and will go low and high with these internal signals. The EVENT
EVENT is especially useful for measuring the duration of The EVENT function is multiplexed with CF4 and DREADY on
events, such as dips or swells, externally. the CF4/EVENT /DREADY pin. To enable the EVENT
INTERRUPTS (IRQ0 AND IRQ1) function to be output on this pin, write CF4_CFG = 10 in the
CONFIG1 register.
The IRQ0 and IRQ1 pins are managed by 32-bit interrupt mask
There are 16 signals which can be incorporated into the EVENT
registers, MASK0 and MASK1, respectively. Every event which
pin and are selected in the EVENT_MASK register. All of these
can generate an interrupt has a corresponding bit in the MASK0
events sources are maskable and disabled by default.
or MASK1 register and STATUS0 and STATUS1 register.
The logic level of the EVENT output is solely dependent on the
To enable an interrupt, set the corresponding bit in the MASK0
or MASK1 register. To disable an interrupt, the corresponding enabled events; it cannot be changed by the user. If any of the 16
bit in MASK0 or MASK1 must be cleared. events are enabled by setting their corresponding mask bit to 1
in the EVENT_MASK register, then the EVENT pin will go
Two STATUS0 and STATUS1 registers indicate if an event
low whenever one of the enabled events occurs and will stay low
which can generate an interrupt has occurred. If the
until all the enabled signals have gone high. Then the EVENT
corresponding bit in the MASK0 or MASK1 register is set, then
pin will go high. Note that the status sources used to generate
an interrupt will be generated on the corresponding IRQ0 or
the EVENT are not latched— if one event source is selected,
IRQ1 pin and the pin will go low.
the EVENT will track the status of that source.
To determine the source of the interrupt, read the
corresponding STATUS0 or STATUS1 register and identify STATUS BITS IN ADDITIONAL REGISTERS
which enabled bits are set to 1. To acknowledge the event and Several interrupts are used in conjunction with other status
clear bits in the STATUSx register, write to the STATUSx registers.
register with the desired bit positions set to 1. Then the Overcurrent
corresponding IRQ0 or IRQ1 pin will go high.
The OI bit in the MASK1 register works in conjunction with the
For example, if a zero crossing occurs on the Phase A voltage OIPHASE status bits in the OISTATUS register.
input and the ZXVA bit is set in the MASK1 register, then the
No-Load
IRQ1 pin will go low indicating that an enabled event has
The VAFNOLOAD, RFNOLOAD, AFNOLOAD, VANLOAD,
occurred. To acknowledge the event, write a one to the ZXVA
RNLOAD, ANLOAD bits in the MASK1 register work in
bit in the STATUS1 register and then the IRQ1 will go low. The
conjunction with additional status bits in the PHNOLOAD
ZXVA STATUS1 bit is set regardless of whether the ZXVA bit is
register.
enabled in MASK1.
The following bits in the MASK0 register work with the status
There are a few interrupts which are non-maskable, meaning
bits in the PHSIGN register: REVAPx, REVRPx, REVPSUMx)
that they will be generated even if the corresponding bit in the
MASKx register is 0. These non-maskable interrupts include
Read the additional registers to get more information when the
RSTDONE and ERROR0.
corresponding bits are set in the STATUSx register.
There is an option to combine all the interrupts onto a single
interrupt pin, IRQ1, instead of using two pins, IRQ0 and IRQ1.
TROUBLESHOOTING
SPI READ/WRITE IS NOT WORKING
Check PM pins to ensure PM0, PM1 are set for the correct power mode—see the Power Modes section.
PSM2_CFG REGISTER VALUE IS NOT RETAINED WHEN GOING FROM PSM2 OR PSM3 TO PSM0
This is expected. PSM2_CFG must be rewritten after entering PSM0—see the Power Modes section.
OUTLINE DIMENSIONS