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,
我这检测 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=0xf0echo "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}0x3dsleep 1
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${BCC_CONFIG_ADDR}0xfe
i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} 0x04i2cset -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 1echo "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:
您好,状态寄存器读出的值为0XD3,其中lock和pass都为0,这两bit应该是和输出引脚Pass和LOCK 一致。 那么UB954的pass和lock引脚输出也都为低电平吗?
Pass为低,说明整个FPD link没有建立,检查下cable连接方面。