I can communicate with ADE7880 via SPI and i2c (but not simultaneously as you know) and read rms and waveform registers without any problem.When I choose i2c and enable hsdc, HSCLK is OK and HSA pin goes low at a rate of 8Khz , but I can't read valid data via HSD pin. At first, data(registers content) on HSD changes but after a few seconds, waveform registers value becomes constant on HSD pin while HSCLK and HSA pins work fine.
It is worthy of note that I test HSDC with different configurations ( with or without gap, 4 or 8 MHz clock, etc), everything about communication times is OK but HSD data becomes unvalid after a few seconds.
How can I read waveform registers continuously without any problem?
Is there anything important about receiving data at slave side that can affect on ADE to send valid data?
Is there any necessary config except setting HSDEN bit in CONFIG register and setting HSDC_CFG register?