I'm using ADE7878 in my unit.
I have strange reading problem..Sometimes the contance of the RMS register (AIRMS, BVRMS etc) get unlogic value.
I try to locate the problem and I notice that I get in the RMS register another value for other register.
step 1: I keep reading the STATUS1 register to wait for the ZXA bit (cross zero)
step 2: I read the AVRMS
sometimes in the AVRMS I get the STATUS1 register.
I Also get values in the RMS register that has no logic..
I solved this problem by reading the same register 3 times , mask out the least 8 bits - and if they are all the same I accept the value.
Any other solution?