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.

DS90UB948-Q1: 根据框图,确认I2C是否有冲突

Part Number: DS90UB948-Q1


Hi,TI

根据我们的使用框图,两个947使用同一种I2C,947地址不同,948的地址相同,slave device地址相同

在这种情况下

1. 在947侧配置slave IDalias可以避免slave device配置冲突

2. 配置948会出现冲突吗?

3. 如出现948配置冲突该怎么规避?应该配置0x06寄存器吗?如果是,0x06的bit0应该配置成什么?bit[7:1]将948地址变更吗?

  • 2. 配置948会出现冲突吗?

    948一旦和947 的link建立,948的device ID 0x2C 会自动加载到947中。

    上面948的DES Alias和下面948的DES Alias 配置不一样即可。

    参考这篇应用手册的Figure8的应用,和您的的应用类似https://www.ti.com/lit/an/snla222/snla222.pdf

  • 您好

    947的式样书中没有DES Alias这个寄存器,只有slaveID alias,请问该如何配置?

    1. 通过哪个寄存器配置DES alias?

    2. 947的0x06寄存器是用途是什么?bit[0]和bit[7:4]的作用?

  • 您好,没有DES Alias或SER Alias寄存器的,我想可以使用这个method 2:先enable I2C pass through和I2C pass through all。允许和remote DES ID 或者remote SER ID进行通信。 所以这种方法是不需要DES 或SER Alias的,只使用remote SER/DES  ID.

    947的0x06寄存器是用途是什么?bit[0]和bit[7:4]的作用?

    bit[7:4】就是指的remote DES ID。 也就是主机要通过947和remote 948进行通讯的地址。

    bit0可以看出,就是上述附图的method1和method2的区别,如果使用method 1, remote DES948 ID 自动加载到947中,然后可以再分配一个remote DES Alias地址,即上述method1的方法。

    比如bit0=0,防止自动加载,我想就是method2的方法,因为没有DES Alias的寄存器,那么remote DES ID就不需要自动加载,我们需要给它配置一个地址,哦然后通过947 对948进行通讯。

    总之,我的理解是,如果由remote DES/SER  Alias 寄存器,就使用method1的方法,然后0x06 bit0=1 auto loaded。

    如果有些器件没有Remote DES/SER Alias 寄存器,我们就按照method2的方法,enable I2C pass through all的方法。