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.

DS90UB933-Q1的I2C接口没有响应



        我这边用FPGA对DS90UB933进行配置,用的I2C接口,器件的ID[x]这个管脚也接地了,这样器件的I2C地址应该是0xb0(7bit地址是0x58)。但是结果发现,DS90UB933对fpga发出的读写命令根本不响应,刚开始fpga肯定要发送地址命令出去,933就没有ACK信号响应。

        请问这是怎么回事呢?我的DS90UB933是能正常工作的,能够收发数据,在另一侧的DS90UB934也能正常接收并还原图像,之前没有配置寄存器,用的都是默认配置,所以I2C接口没有用过,现在想用I2C进行配置,发现不通。请问大家有谁遇到过这个问题吗,感激不尽!

  • 刚开始的话,需要主机发送起始start条件,然后主机再发送从机地址,从机产生ACK信号。
    Start条件为clock为高的时候,DATA 由高到低的变化,为I2C的起始条件。
  • 谢谢你回复!

    我这边I2C的读写流程是没有问题的,因为相同的I2C总线上还挂了其他的slave,其他的slave的读写并没有问题。我这边配置的I2C_scl的频率从10khz到100khz都试过了,就感觉ds90ub933的I2C接口不通,没有任何响应。因为ID[x]接地了,根据datasheet,器件的地址应该是0x58,地址配的也应该没有问题。

    我看了一下,ds90ub933的寄存器0x03中的bit位“I2C pass-through”是默认为“1”的,这个表示我主机发送的I2C transaction被ds90ub933从高速差分线上发出去了?那不论怎样,本地的I2C(特别是我给的I2C slave地址是0x58)应该没有问题才对吧?