I am trying to use Line Cycle Accumulation Mode for Active/Reactive Energy Calibration and Establishing Wh/LSB constant.
Here I have followed these steps:
1) LOCK the ADE7816 in SPI Model (I have verified communication).
2) Initialize basic register as per datasheet. (Page16)
3) Current Channel Gain Matching Registers Set
4) Initialize Line Cycle Accumulation Mode (i.e. Address=0xE702 Data=0x0B ; Address=0xE60C Data=0x1773)
a) I have Initialized RSTREAD : 0, ZX_SEL : 1, LVAR : 1, LWATT : 1 in LCYCMODE registers.
b) Then I have added value 0x1773 in LINECYC register, this approx. 1 minute time duration.
5) And then started the DSP
Once this is done I check STATUS0 register for LENERGY Flag. Initially i.e. during boot I get a proper time duration of 1 minute and I was able to read the xWATTHR and xVARHR registers. Once read these register have values of zero and the value remains zero until next reboot/reset.Also the LENERGY Flag remains high even if it is Initialized to zero.
Here do I need to do software reset every time I read the xWATTHR and xVARHR register?