ADE7903 Data Sheet
REFERENCE CIRCUIT
The nominal reference voltage at the REF pin is 1.2 V. This
reference voltage is used for the ADCs in the ADE7903.
Because the on-chip dc-to-dc converter cannot supply external
loads, the REF pin cannot be overdriven by a standalone
external voltage reference.
The voltage of the ADE7903 reference drifts slightly with
temperature. Table 1 lists the gain drift over temperature
specification of each ADC channel. This value includes the
temperature variation of the ADC gain, together with the
temperature variation of the internal voltage reference.
CRC OF ADC OUTPUT VALUES
Every output cycle, the ADE7903 computes the cyclic
redundancy check (CRC) of the ADC output values stored in
the IWV, V1WV, and V2WV registers. Bits[5:4] (ADC_FREQ)
in the CONFIG register determine the ADC output frequency
and, therefore, the update rate of the CRC. The CRC algorithm
is based on the CRC-16-CCITT algorithm. The registers are
introduced into a linear feedback shift register (LFSR) based
generator one byte at a time, least significant byte first, as shown in
Figure 26. Each byte is then used with the MSB first. The 16-bit
result is written in the ADC_CRC register.
Figure 26. CRC Calculation of ADC Output Values
Figure 27. LFSR Generator Used for ADC_CRC Calculation
Figure 27 shows how the LFSR works. The IWV, V1WV, and
V2WV registers form the [a71, a70,…, a0] bits used by the LFSR.
Bit a0 is Bit 7 of the first register to enter the LFSR; Bit a71 is
Bit 16 of V2WV, the last register to enter the LFSR. The
formulas that govern the LFSR are as follows:
bi(0) = 1, where i = 0, 1, 2, …, 15, the initial state of the bits that
form the CRC. Bit b0 is the LSB, and Bit b15 is the MSB.
gi, where i = 0, 1, 2, …, 15 are the coefficients of the generating
polynomial defined by the CRC-16-CCITT algorithm as
follows:
G(x) = x16 + x12 + x5 + 1 (1)
g0 = g5 = g12 = 1 (2)
All other gi coefficients are equal to 0.
FB(j) = aj − 1 XOR b15(j − 1) (3)
b0(j) = FB(j) AND g0 (4)
bi(j) = FB(j) AND gi XOR bi − 1(j − 1), i = 1, 2, 3, …, 15 (5)
Equation 3, Equation 4, and Equation 5 must be repeated for
j = 1, 2, …, 72. The value written into the ADC_CRC register
contains Bit bi(72), i = 0, 1, …, 15.
The ADC_CRC register can be read by executing an SPI
register read access or as part of the SPI burst mode read
operation. See the SPI Read Operation and the SPI Read
Operation in Burst Mode sections for more details.
TEMPERATURE SENSOR
The ADE7903 contains a temperature sensor that is multiplexed
with the V2P input of the voltage channel. Bit 3 (TEMP_EN) of
the CONFIG register selects what the third ADC of the
ADE7903 measures. If the TEMP_EN bit is 0, its default value,
the ADC measures the voltage between the V2P and VM pins.
If the TEMP_EN bit is 1, the ADC measures the temperature
sensor. In the ADE7903, the conversion result is stored in the
V2WV register. The time it takes for the temperature sensor
measurement to settle after the TEMP_EN bit is set to 1 is 5 ms.
The expression used to calculate the temperature in the
microcontroller, when Bit 7 (BW) in the CONFIG register is set
to the default value of 0, is
temp =
8.72101 × 10−5 × (V2WV + TEMPOS × 211) − 306.47
where temp is the temperature value measured in degrees Celsius.
The gain value is different depending on the value of Bit 7 (BW)
in the CONFIG register. When Bit 7 (BW) is set to 0, the gain
used to convert the bit information provided by the ADE7903 into
degrees Celsius has a default value of 8.72101 × 10−5°C/LSB;
when Bit 7 (BW) is set to 1, this gain value is 9.26171 × 10−5°C/LSB.
The temperature measurement accuracy is ±5°C. TEMPOS is the
8-bit, signed, read-only register in which the temperature sensor
offset is stored. The offset information is calculated during the
manufacturing process, and it is stored with the opposite sign.
For example, if the offset is 5, −5 is written into the ADE7903.
One LSB of the TEMPOS register is equivalent to 211 LSBs of the
V2WV register.
Instead of using the default gain value, the gain can be
calibrated as part of the overall meter calibration process.
Measure the temperature, TEMP, of the ADE7903, read the
V2WV register containing the temperature sensor reading of
the ADE7903, and compute the gain as follows:
11
22 ×+
=TEMPOSWVV
TEMP
gaineTemperatur
(6)
+LFSR
GENERATOR
a71 a48 a47 a24 a23 a0
07
815
1623
IWV REGIST ER
0 78 1516 23
07
8151623
V1WV REGISTERV2WV REGISTER
0 78 1516 23
07
8151623
0 78 1516 23
12458-026
b0
LFSR
FB
g0g1g2g15
b1
g3
b2b15
a71
,
a70
,....,
a2
,
a1
,
a0
12458-027
Rev. 0 | Page 16 of 28