我们系统为 Sensor->UB953->UB954->SOC, 我们用的Sensor ID是 0x60, 0x60>>1 = 0x30, 当954寄存器TI954_REG_SLAVE_ID0 设为0x30, TI954_REG_ALIAS_ID0 为0x60 时,写Sensor初始化寄存器序列只有0x0100寄存器会返回错误,其余都成功,在写期间用示波器观察953端i2c无波形,也观察到在未对TI954_REG_SLAVE_ID0寄存器写入前,读出的缺省值也为0x30,所以我怀疑对0x30的写入没有到达953端的I2C上?
当Sensor ID 为 0x30 时 TI954_REG_SLAVE_ID0和TI954_REG_ALIAS_ID0如何设置才能让命令到达953端的I2C上?还有其它需要设置吗?
ming wang1:
另外再补充下,我的954 ID 为 0x3D,953 ID为 0x18, 953 ALIAS_ID 0x11
,
Kailyn Chen:
您好, sensor的地址应该是左移一位,您这里是右移了一位,7bit sensor address 是不是1100000?这样的话sensor地址应该为0XC0才对。
,
ming wang1:
谢谢Kailyn Chen,
我这样说吧,Sensor 地址7bit : 0x30,8bit :0x60, 直接挂在SOC边的时候i2cdetect 检测到的是7bit地址
,
Kailyn Chen:
您好,需要配置954的remote slave ID,寄存器(Address 0x5D)以及slave alias(0X65)。
remote slave ID即为sensor ID,如果没有重复的地址那么slave alias ID 可以和sensor ID相同,也可以不相同。
比如sensor ID 为0X 30, 那么slave alias ID可以配置为0X31. 其他再看下是否pass through 已经enable了?
其他不需要配置了。