1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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的地址试试呢? |
|
相关推荐
10个回答
|
|
把47Kohm电阻改成4.7Kohm试试呢?怀疑数据手册这里的电阻写错了,应该是4.7Kohm。
|
|
|
|
|
|
|
|
不是通过SWITCH切换的fault, 硬件配置的,直接上拉47K, 另外一个Fault脚悬空。共用一直I2C总线
1)0x58 正常(硬件配置fault脚悬空) 2)0x5a 异常找不到设备 (硬件配置fault脚接47K上拉电阻)此脚没跟外部控制器相连。 |
|
|
|
看到数据手册里有给出上拉阻值的范围,fault上拉阻值数据手册这里的47Kohm是有问题的,最高不超过10Kohm。所以像我上述说的改成4.7Kohm。我看EVM使用的是4.99Kohm,但是您已经改4.7还是不行,另外,上拉4.7KOhm到数字电压DVDD 3.3V是吗?您确认下上拉电压没问题吧?
|
|
|
|
去确认下这个0x5A的值是否有效。
另外,我也怀疑是不是七位从机地址为1011010,datasheet是最高位补0,得到的0x5A。 同样上拉47Kohm,您把地址改成0xB4试试看是否可以? |
|
|
|
|
|
|
|
|
|
|
|
两片都使用同一个地址,会发生地址冲突,总线寻址的时候会发生冲突
|
|
|
|
0x5A地址时,fault除了上拉,是否有和MCU或者其他Soc连接?如果有的话,断开fault的其他连接。
因为tpa6304上电期间,会抓取fault的电压来 决定I2C 地址,担心由于和外部电路连接,导致电压不准而无法获得I2C 地址。
|
|
|
|
从您提供的信息来看,您正在使用两片TPA6304音频放大器,并通过I2C总线进行通信。其中一片的I2C地址为0x58,另一片的I2C地址为0x5A。您遇到了一个问题,即无法成功配置地址为0x5A的TPA6304。
以下是一些建议和可能的原因: 1. **检查硬件连接**: - 确保I2C总线的SDA和SCL线连接正确,并且没有短路或断路。 - 检查0x5A地址的TPA6304的FAULT脚是否正确接上了47K上拉电阻。 - 确保所有电源和地线连接正确。 2. **检查I2C地址**: - TPA6304的I2C地址通常是0x58或0x59,这取决于设备的配置。请确认0x5A是正确的I2C地址。 3. **检查上拉电阻**: - 确保47K上拉电阻正确连接到FAULT脚和地线之间。 4. **检查I2C总线冲突**: - 如果I2C总线上有其他设备,可能会发生地址冲突。确保没有其他设备使用0x5A地址。 5. **检查I2C总线速率**: - 确保I2C总线的速率适合TPA6304。TPA6304支持的速率通常在100kHz到400kHz之间。 6. **检查软件配置**: - 确保您的I2C通信代码正确无误,并且能够正确地发送和接收数据。 7. **使用I2C扫描工具**: - 使用I2C扫描工具(如I2C-Scanner)来检测I2C总线上的所有设备,看看0x5A地址是否被识别。 8. **检查TPA6304的配置**: - 确保TPA6304的配置寄存器设置正确。您提供的日志显示了一些写入和读取操作,但需要确保这些操作的值是正确的。 9. **检查电源**: - 确保TPA6304的电源电压稳定,并且符合规格要求。 10. **检查故障排除步骤**: - 尝试将0x5A地址的TPA6304单独连接到I2C总线上,以排除其他设备可能的干扰。 如果以上步骤都无法解决问题,可能需要进一步检查TPA6304本身是否有损坏,或者考虑使用替代的音频放大器。 |
|
|
|
只有小组成员才能发言,加入小组>>
332 浏览 1 评论
528 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
772 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
649 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1124 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
54浏览 29评论
94浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
248浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
196浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
54浏览 13评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 22:17 , Processed in 1.170010 second(s), Total 101, Slave 82 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号