AnsweredAssumed Answered

ADE 7878A SPI communication issue

Question asked by pratik.isea on Apr 5, 2018
Latest reply on Apr 9, 2018 by pminc48

Hello,

I am using Raspberry pi 3 to collect data from the ADE7878A Evaluation board. I have successfully integrated current and voltage inputs and have verified that it is working properly using the USB and the proprietary software. But to achieve my goal I am supposed to access the registers on the chip and receive data from there. 

I am using spidev python library on raspberry pi to interface with ADE7878A. My main issue is that I am not able to receive any relevant data from ADE7878A. There seems to be issue on the MISO data line since everything else seems to be working just as expected on the piscope, where I can observe the logical states of the pins. Few things to consider-

 

- I have tested the raspberry pie's MISO and MOSI lines (by shorting them and sending arbitrary data) if they are working properly and yes they seem fine.

- I am using P11 connector (before isolation).

- I have shorted PM1 line to GND to make sure that the device starts in PSM0 mode.

- Chip is supplied with 3.3 V supply and I tried both configurations, one in which JP11 is connected between pin 1 and 2 (VDD and VDD2) and one without. The results when the JP11 wasn't connected are quite bizarre, contrary to my expectation.

 

 

Photos: 1. Jumper J21 connected

              2. Jumper J21 disconnected

               3. Data while J21 connected, Data while J22 Disconnected

Jumper J21 connected

 

 

J21 Disconnected

 

Data output. Above: J21 connected, Below J21 Disconnected

 

Issue-

-As you can see in the graph, there seem to be unnecessary data spikes on the MISO line, when it is actually supposed to be active low. According to my observation, the state of the MISO line seems highly dependent on the present state of the MOSI and SCLK line which is weird.

- In the attached code I have programmed the ADE7878A to first reset as per the datasheet, then writing 0x00 to the register 0xEBFF random value 0x2 thrice so that the preferred mode, SPI is selected, after that I try to lock the ports using (0x44, 1,0x01) as per the datasheet and read the response from the chip simultaneously. But the output seems to be just what I have sent on the MOSI line that is (68,1,1).

 

I have tried all what I could think of but I am out of clues. I would appreciate if you guys could support me as soon as possible.

Disclaimer: I am trying my hand first time at SPI communication and interfacing albeit at any form of communication. Hence my skill level can be considered fairly newbie

Attachments

Outcomes