This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB913A/14A-CXEVM: I2C communication with Remote slave attached to Remote SER

Hi,

I want to communicate to a remote slave to Remote SER.

MCU =­­> DES => SER => MCU

I tried the following configuration :

Local I2C

MCU => DES

I2C device ID = 0x60

I read 0xC0 at reg addr 0x00 (0x60<<1)

Communication works fine. I read and write to the DES register.

Communication with remote SER

MCU => DES => SER

I wrote :

reg(0x07) SER Alias == 0xB2 (0x59<<1)

Communication works fine. I read and write to the DES register and the SER register.

Access to DES address == 0x60 :

reg(0x00) == 0xC0 == 1100 0000

reg(0x03) == 0xC5 == 1110 1001

reg(0x06) == 0xB0

reg(0x07) == 0xB2

Access to SER address == 0x59 :

reg(0x00) == 0xB0

reg(0x06) == 0xC0

The PROBLEM is when I try to communicate with a remote slave attaced to Remote SER.

Communication with Remote slave attached to Remote SER


At the DES I2C header, I see a good I2C transaction.

At the SER I2C header, I have this waveform on the SDA and SCL pins.


I have 320 mV on the SDA line and 2.5 V on the SCL.

These signal are supposed to be pull-up the 3.3V when idle right?

The pull-up are populated on the evalboard ?

When I try to access the Remote Slave with the Slave Alias, the clock start but nothing happen on the data line.

access with address 0x50

I`m just probing the I2C line without any slave attached. Just want to check what does the data line at the beginning of the transaction.

How come the data line on the I2C SER header is low (without any I2C access to remote slave) (while all access to DES and SER reg is working).

Regards,

Christian

  • Hello Christian,

    My apologies for the delayed reply. If you only supply power to the 913A board individually and don't connect a 914A eval board to it, do you still see the same voltages (320mV on SDA and 2.5V on SCL) on these I2C pins?

    It is possible that a resistor went bad on the pullup networks; have you tried measuring the pullup resistor with an ohmmeter on the SDA and SCL lines when the 913A eval board is off? It should measure 4.7kOhms. Also, please probe with a voltmeter when the board is ON to ensure that 3.3V (VDD_IO) is being supplied to these lines - this voltage will be the VDD_I2C header pin.

    After measuring these values, please also measure the resistances and voltage on the 914A EVM. Resistance (4.7k) and voltage (3.3V) should be identical to the 913A EVM.

    Finally, what I would try now is the opposite configuration of your current setup as shown below:

    MCU ==> SER ==> DES.

    With this configuration, try writing remotely to the DES but don't yet connect a remote slave. In doing so, now probe the I2C header pins for SDA and SCL on the DES and see if the voltage matches what you were seeing on your previous config (320mV on SDA and 2.5V on SCL)

    -Sean
  • Hi Sean,

    Thank you for the reply.

    I supply power only to the 913A board. Nothing else is connected
    I still observe the same voltages on the IC2 pins.
    SDA = 230mV and SCL = 2.5V

    When the board is powered, I have a good 3.3V on the VDD_I2C header pin.

    The value of the pull-up resistors are wrong.
    SCL => R26 = 2.26 K
    SDA => R27 = 3.68 K

    With the opposite configuration, I can't access even the SER registers.

    MCU => SER

    Best Regards,

    Christian
  • Hello Christian,

    If the SER registers can't be access directly over the I2C header pins then this points almost directly to replacing the pullup resistors on SDA and SCL. Please change their values to 4.7k and see if this fixes the issue. Please also ensure that the GND pin on the 913A I2C header is reading a stable voltage of 0V.

    -Sean

  • ChristianAre the I2C passall bits set on the Ser and Des? Mark
  • Hey Mark, yes the I2C passall bits are set on both the Ser and the Des.

    I don't know what else I can do.

    Maybe the IC is damaged?