What symptoms would be observed if the crystal in an ADE7878 circuit is not performing adequately. Would poor crystal performance affect SPI communication, proper initialization, measurement accuracy, etc?
You you are correct, especially this clock is being used the the ADC in sampling, so your codes will be inaccurate so the metrology measurements would have a higher percent error than the usual. I recommend using crystals with the following attributes:- temp operating: -40 to 85 deg C.- Frequency tolerance: |50 ppm| or less.- Frequency stability: |30 ppm |or less.
Thank you for the reply. I have a custom circuit using the ADE7878 and am having some issues with serial communication and am trying to determine the source of the problem. Could the crystal performance affect the serial communication or are they unrelated?
I see, There are two timings or clocking in the chip, one is the crystal clocking which is the clock used by the chip in processing the data from the ADC, etc. The second one is the clock provided to the communications interface whether SPI or I2C, this is where your issue is coming. Regarding the level of how related the two timings are, the crystal circuit is so sensitive that it might affect the communications timing. Have you tried using the recommended crystal circuit and see if the communications work properly by reading default registers like IDs, versions.
Can you also validate by driving using an external oscillator, bypassing your crystal oscillator, and see if this will work fine?
I do not have access to an external oscillator.
I tried reading default registers and when the serial communication (SPI) is working I am able to read default registers. I learned that the die version is 2. However, even when it seems that the serial communication is working and I write to a register, such as COMPMODE and read it back it returns either 0xFFFF or 0x00FF.
When the serial communication is not working at all (which is most of the time) and I try to read the Version register it returns 0xFF.
I am able to get the serial communication with the ADE7878 to work only by powering up the board and resetting the attached micro controller once. On first power up the serial communication with the ADE7878 does not work and if I reset the microcontroller more than once the serial communication stops working. The microcontroller is functioning, there are several other SPI devices that communicate with the microcontoller and all serial communication is reliable except for with the ADE7878.
This behavior makes me think that there may be some issue with how I am initializing the ADE7878. Can you suggest an initialization sequence including pin states and register writes and reads to initialize the ADE7878 in a stable way?