I have a custom PCB design that I use for data acquisition that includes an ADE7878 for monitoring three-phase power. The circuit design for the ADE7878 and its external components follow the test circuit in figure 23 of the data sheet. I have had two small batches of the boards made, the first batch I assembled in our lab and soldered them on a custom computer controlled hotplate. The first batch is working fine. The second batch was professionally fabricated and I am having issues with maintaining consistent SPI communication. I do not believe it is an error in the PCB fabrication if anything, the results of the reflow soldering is much better than what we achieved in our lab.
The main symptom that I am observing is that under most conditions the data received by the microcontroller on the MISO line is either all 1's (The MISO line is held high) or, less often, seemingly random. There are 4 other SPI devices on the board and there are no errors in communication with those components, this problem only occurs with the ADE7878. There is a small set of repeatable conditions in which the ADE7878 SPI communication works as expected.
How the board is powered seems to have the most influence on whether the SPI communication with the ADE7878 functions properly. These boards are normally powered by an AC/DC converter (RAC04-15SC/230) which provides 15V DC. The 15V is used to power some components directly and is converted by several DC/DC converters to provide 3.3V (R-78AA3.3-1.0SMDV), 5V (R-78AA5.0-1.0SMD), and +/- 15V (RB-1215D). There are large decoupling capacitors on the outputs of the AC/DC converter and the DC/DC converters. Alternatively, for programming, the boards can be powered by USB which provides 5V which is converted to 3.3V by the above mentioned DC/DC converter to power the microcontroller and other components including the ADE7878.
When the board is powered by USB the SPI communication with the ADE7878 works as expected.
When the board is powered by the AC/DC converter, the ADE7878 holds the MISO line high when the SS pin is held low and the SCLK is driven by the microcontroller.
When USB and AC power are both connected to the board the SPI communication will work but only after a hardware reset of the microcontroller after the board is first powered up.
I cannot determine what is causing this behavior or why the first batch is working and the second batch is not. The first and second batch of the boards are identical in design except that a few of the capacitors and resistors are from different manufacturers but should be very similar. I was unable to source the exact crystal mentioned on page 76 of the datasheet. Instead I used ABLSG-16.384MHZ-D2Y-T which has a frequency of 16.384MHz, load capacitance of 18pF and an ESR of 40 Ohms. The ceramic capacitors attached to the crystal pins are 33pF. Could the crystal be causing my problems?
Please let me know if you have any suggestions on how to troubleshoot this problem. Thank you.