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.

DS90UB954 和 DS90UB953 的连接问题

TI工程师你好,我这边的板子根据EVB的资料设计的,954的IDX配置为对地10K,954的MODE为Rh:78.7K,Rl:98.7K;954初始化了,但连接953的板子时,但没检测到953的IIC地址,这是什么原因呢?谢谢

  • 您好,一旦link建立,SER ID是自动加载的,如果没有检测到953的地址, 很有可能是link的问题。
    建议做下BIST检测,看下954这边的输出pass是否为高? 如果pass通过,说明link没问题。
  • 多谢 Kailyn Chen,

    我这检测 DEVICE STS: 一直是0xd3,是何原因?

    运行脚本如下:
    #!/bin/sh

    # i2c bus num
    export I2C_BUS_NUM=1

    #
    # ds90ub954 deserializer
    #
    export primary_devaddr_7bit=0x3d
    export slave_devaddr_7bit=0x18
    export remote_slave_devaddr_7bit=0x34

    # register
    export I2C_DEVICE_ID_REG=0x00
    export RESET_CTL_ADDR=0x01
    export FPD3_PORT_SEL_ADDR=0x4c
    export BCC_CONFIG_ADDR=0x58
    export SER_ALIAS_ID_ADDR=0x5c
    export SLAVE_ID0_ADDR=0x5d
    export SLAVE_ALIAS_ID0_ADDR=0x65
    export RX_PORT_CTL_ADDR=0x0c
    export FPD3_RX_ID0_ADDR=0xf0

    echo "Read device id of deserializer:"
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${I2C_DEVICE_ID_REG}
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} 0x04

    #
    # reset
    #
    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${RESET_CTL_ADDR} 0x01
    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} 0xb3 0x0
    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} 0x1f 0x0

    #
    # config 954 deserializer regs
    #
    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${FPD3_PORT_SEL_ADDR} 0x01
    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${RX_PORT_CTL_ADDR} 0x3d

    sleep 1

    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${BCC_CONFIG_ADDR} 0xfe
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} 0x04

    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SER_ALIAS_ID_ADDR} ${slave_devaddr_7bit}
    i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ID0_ADDR} ${slave_devaddr_7bit}
    #i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ALIAS_ID0_ADDR} ${slave_devaddr_7bit}

    i2cset -y ${I2C_BUS_NUM} ${slave_devaddr_7bit} 0x02 0x33

    #
    # check ds90ub954 deserializer regs
    #
    i2cget -y ${I2C_BUS_NUM} 0x30 ${I2C_DEVICE_ID_REG}
    sleep 1

    echo "Read TI954_REG_RX_PORT_CTL"
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${RX_PORT_CTL_ADDR}
    echo "Read BCC_CONFIG"
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${BCC_CONFIG_ADDR}
    echo "Read SER_ALIAS_ID_ADDR"
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SER_ALIAS_ID_ADDR}
    echo "Read SLAVE_ID0_ADDR"
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ID0_ADDR}
    echo "Read SLAVE_ALIAS_ID0_ADDR"
    i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ALIAS_ID0_ADDR}


    输出结果:
    Read device id of deserializer:
    0x7a
    0xd3
    0xd3
    hibvt-i2c 4561000.i2c: wait rx no empty timeout, RIS: 0x10, SR: 0xa0000
    0xdc
    Read TI954_REG_RX_PORT_CTL
    0xbd
    Read BCC_CONFIG
    0xfe
    Read SER_ALIAS_ID_ADDR
    0x18
    Read SLAVE_ID0_ADDR
    0x18
    Read SLAVE_ALIAS_ID0_ADDR
    0x00
  • 您好,状态寄存器读出的值为0XD3,其中lock和pass都为0,这两bit应该是和输出引脚Pass和LOCK 一致。 那么UB954的pass和lock引脚输出也都为低电平吗?
    Pass为低,说明整个FPD link没有建立,检查下cable连接方面。