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.

DS90UB941AS-Q1: Two Chain of SER -> DESER (948) + Remote Device on the same I2C bus

Part Number: DS90UB941AS-Q1
Other Parts Discussed in Thread: DS90UB948-Q1,

Dear Ti, 

we have a question about the I2C alias address configuration beetween DS90UB941AS-Q1 and DS90UB948-Q1 and a remote device connected to its. 

The video chain is like this, from Your video in "https://training.ti.com/infotainment-ivi-back-channel-basics?context=1134310-1139225-1134308" :

But we have also the deserializers with the same I2C address.

We have changed successfully the I2C Address of the Deser using the DES_DEV_ID, SLAVE_ID0 and SLAVE_ALIAS_ID0 on the serializer but then the remote device on the deser side no longer answered on I2C bus.

Is it possible, using slave alias IDx registers on the ser, change the I2C address of both deser and remote device at the same time? If yes, which are and how we have to configure these registers?

Thank You

  • Hi,

    Yes it is possible, all you need to do is configure the SLAVE_ID and SLAVE_ALIAS_ID registers for the remote devices you want to communicate with.

  • Hi Michael,

    thank you for the answer.

    I try to go into the issue a little more in detail, as example we have this HW address configuration:

    SER Address 0x12;

    DESER Address 0x2C;

    Remote Device Address 0x38;

    We would like to modify these as follow (Desired final configuration):

    SER Address 0x12;

    DESER Address 0x2A;

    Remote Device Address 0x39;

    To do it, we have written on serializer the following register as follow: 

    Register DES_ID_DES_ID_1    0x06 <= 0x55 (0x2A<<1 + 1);

    Register SlaveID_0 Register     0x07 <= 0x58 (0x2C<<1);

    Register SlaveAlias_0 Register 0x08 <= 0x54 (0x2A<<1);

    Register SlaveID_1 Register     0x70 <= 0x70 (0x38<<1);

    Register SlaveAlias_1 Register 0x77 <= 0x72 (0x39<<1);

    But the remote device on the deser side no longer reply on I2C bus. 

    What is it wrong? How should we configure these registers to get the desired final configuration?

    Thank You

    MP

  • Hi,

    I tested out the register configurations in my lab and the 941AS is able to read and write from the 948.

    Steps:

    Set reg DES_ID_DES_ID_1 = 0x55

    Set reg SlaveID_0 = 0x58

    Set reg SlaveAlias_0 = 0x54

    Set reg SlaveID_1 = 0x70

    Set reg SlaveAlias_1 = 0x77

    Read from device 0x55 reg 0x00 =0x18

    Read from device 0x54 reg 0x00 =0x18

    Read from device 0x58 reg 0x00 =0x00

    Are these the steps that you are following?

  • Hi, 

    Yes, these are the same steps except for the Set reg SlaveAlias_1 = 0x72.

    We are able to read and write from the 948 too, but we are no more able to read and write from the remote device connected to the 948 with the new address 0x39 setted in Set reg SlaveAlias_1  = 0x72.

    How can we read and write from the remote device after change the deser address?

    Thank You

  • If you are setting SlaveAlias_1 = 0x72 and trying to read and write from the device using the address 0x72. Can you use an oscilloscope to verify that your I2C reads and writes are coming out of the 948?