Post Go back to editing

ADE7880 reading register using I2C while HSDC is running

Category: Software
Product Number: ADE7880

Hi

I am working with ADE7880 and have the high speed data delivered to an STM32H7. This all works fine.

I can read and write registers into eADE7880 using I2c ok.

When I enable HSDC on an ADE7880 the I2C interface seems to no longer operate for reading other registers in the chip.

Is this expected?

Regards

Kevin

  • I2c will function with HSDC running so I am not sure what "When I enable HSDC on an ADE7880 the I2C interface seems to no longer operate for reading other registers in the chip" what other registers?

    One possibility is you are not locking the communications to the I2C port. 

    pg75 www.analog.com/.../ADE7880.pdf

    Dave

  • I write:

    0x08 toE706  HSD _CFG 

    0x0042 to E618 CONFIG

    0x00C8 to E60C LINE_CYC

    0x8F to E702 LCYCMODE

    0x02 to EC01 CONFIG2

    0x0001 to E228 RUN to start the DSP

    The I read 8 bytes from 0x43C0 after which the I2C faults so I cannot read any further data

    the read 12 bytes from 0xE400

    If I don't write the RUN register the reads of registers at 0x43c0 and 0xE400 complete as expected

    Kevin

  • 0x02 to EC01 CONFIG2  try lockin the port first. 

    0x08 toE706  HSD _CFG 

    0x0042 to E618 CONFIG

    0x00C8 to E60C LINE_CYC

    0x8F to E702 LCYCMODE

    0x0001 to E228 RUN to start the DSP

    Can you share the schematic?

    Are any of these shorted to SSB on the pcb? SSb should not have any signal on it before you lock the comms with config2 can you monitor SSB and see if it has some noise?

  • Hi Dave

    So I have moved the lock to first action.

    The issue seems to starts when DSP run is turned on, regardless of HSD settings, so I don't see it as a design issue as it works OK if DSP RUN is off.

    When I address the chip in I2C the chip id (byte 0x70) is ack'd correctly but the address 0xE400 gets NAKs for each byte of the address or sometimes just the second byte.

    With the DSP running is there a window to access registers?

    Note we have a MAX14850 isolator in the bus using the i/o channels for SCL and SDA

    Kevin