TI中文支持网
TI专业的中文技术问题咨询交流网站

DS90UB954 和 DS90UB953 的连接问题

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

Kailyn Chen:

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

user6522687:

回复 Kailyn Chen:

多谢 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} 0xb30x0
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} 0x1f0x0

#
# 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

Kailyn Chen:

回复 user6522687:

您好,状态寄存器读出的值为0XD3,其中lock和pass都为0,这两bit应该是和输出引脚Pass和LOCK 一致。 那么UB954的pass和lock引脚输出也都为低电平吗?
Pass为低,说明整个FPD link没有建立,检查下cable连接方面。

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB954 和 DS90UB953 的连接问题
分享到: 更多 (0)