TPA6304-Q1: TPA6304 两片公用一组I2C,其中一片配置不成功
我有使用两片TPA6304,
1)其中一片配置成一片FAULT脚悬空 I2C addr 0x58;
2)另外一片FAULT脚接了47K上拉, I2C addr 0x5A ,
log信息如下, 0x5a一直不成功。帮忙分析一下会是哪方面的问题,谢谢!
TPA6304-AMP1=0x58 Init...
wr_addr=30, val=80
wr_addr=1, val=80
wr_addr=3, val=aa
wr_addr=36, val=20
wr_addr=37, val=22
wr_addr=38, val=a0
wr_addr=39, val=40
wr_addr=3a, val=62
wr_addr=4, val=0
rd_addr=30, val=0
rd_addr=1, val=0
rd_addr=3, val=aa
rd_addr=36, val=20
rd_addr=37, val=22
rd_addr=38, val=a0
rd_addr=39, val=40
rd_addr=3a, val=62
rd_addr=4, val=0
---TPA6304-AMP1 Init OK---!
TPA6304-AMP2=0x5A Init...
wr_addr=30, val=80
wr_addr=1, val=80
---IIC_Stop---
---IIC_Stop---
---IIC_Stop---
wr_addr=3, val=aa
---IIC_Stop---
---IIC_Stop---
---IIC_Stop---
wr_addr=36, val=20
wr_addr=37, val=22
wr_addr=38, val=a0
wr_addr=39, val=40
wr_addr=3a, val=62
wr_addr=4, val=0
rd_addr=30, val=0
rd_addr=1, val=0
rd_addr=3, val=ff
rd_addr=36, val=0
rd_addr=37, val=22
rd_addr=38, val=a0
rd_addr=39, val=40
rd_addr=3a, val=62
rd_addr=4, val=0
---TPA6304-AMP2 Init NG---!
排除AMP2芯片问题,我把AMP2的FAULT悬空 也配置成0X58 也是没问题的~ 难道0x5a 配置有问题?
DVDD 3.3V
我尝试了2.7K 2K、 100K 都不行,也尝试直接用LED把FAULT脚跟DVDD3.3V相连,还是不行.可以帮忙确认一下0x5a的有效配置是多少吗?
理论上来说,总线上挂两片从机是没问题,I2C总线会受总线电容的影响,最大不超过400pF。我担心是不是由于走线过长,或者其他寄生电容的原因导致超过这个总线电容,识别不到另一个地址,所以我们可以断开另一片,只使用0x5A的地址试试呢?