I am using ADE7878 for Energy meter purpose. I have started communication b/w ADE7878 & my micro controller. When i read Voltage RMS registers, values are reading from the registers when i apply voltage to the corresponding ADC pins of ADE7878. But the reading voltage is lower than the actual voltage. Actual voltage is 229V but the value from ADE7878 is coming as 223V.

There is six voltage difference. How to correct this to read exact actual value.

Whether i need to use PGA, GAIN or OFFSET registers for this?. Please guide me to do this.

Expecting the early reply.

With Regards,


  • Hi Sathish

    I am assuming you are just observing a gain shift in your results and not an accuracy issue, based on your post. In that case, by using the xVGAIN register you can scale it to match your expectations. Page 33 of the datasheet will help you do this.

    To check the accuracy of your measurement, set two known input voltages and get their corresponding RMS register values. For better analysis, take multiple readings and average them. Compare these two readings (mean) to check if they scale exactly as the two input voltages. For this test, use voltages within the specified dynamic range of the chip.

    One other important point to note about RMS measurements is that you must wait for the register reading to settle. How much time do you wait before you read the register value after setting the input?



  • Thanks for the reply. Can you please tel me how to calculate the Gain register value. Now I am displaying the voltage value based on the below calculation.

    Full scale reading - 288V

    Max. ADC output for full scale - 5928256

    Display Output voltage = (5928256/288) X RMS Register value.

    Kindly suggest the above calculation is correct? & Please guide me to do this..

  • Hi Sathis,

    It is important to note that to increase the accuracy of the xVRMS register reading, it is recommended to read the register AT LEAST 50 or 60 times in one second for a 50Hz and 60Hz line respectively and then average the values.

    Then with respect to the gain, it can be adjusted using the following equation:

    xVGAIN =                 Voltage Input [V] * 2^23         

                     V Constant[Volts/LSB] * xVRMS[LSBs]

    What is the Volts/LSB constant you are using?



  • Hi Dlath,

    Thanks for the reply.

    I am not used any Volts/LSB constant here. Please explain me how to do this to achieve exact reading.



  • Dear hmani,

    Thanks for the reply.

    I am reading the xVRMS registers with 500msec delay. Please explain me how to correct this.

    Awaiting your reply.