TPS65987D模块I2C3作为master不工作问题调试
1. 前言
用TPS65987做了一个测试板来和BQ25703通信
datasheet中建议使用I2C3连接TPS65987到充电器等
测试板可以跳线选择哪个I2C端口可以被用于master
蓝色的端口连接I2C引脚
使用I2C3作为主配置: 没有PD_SDA或时钟PD_SCL上的数据
使用I2C1: 数据和时钟正常
检查了GPIO 5和6的GPIO设置,已被配置为I2C引脚。
为何无法使用I2C3与BQ25703通信,为什么没有数据?
2. I2C调试注意事项
(1)是否是在电池耗尽模式下测试
根据需要对电池充电器进行什么控制,必须输入I2C主事件表并确认设备的从地址是正确的。
配置了事件表来改变不同功率协商的充电器的充电电流。
然而把USB-C电源连接到我的板上时,在I2C总线上没有通讯告诉充电器使用什么电流。
Vbus上的电压根据我配置的契约变化,PD控制器在附加和分离事件上发送数据给充电器,但它不发送数据来配置充电电流。
是否因为协商失败,所以没有发送当前数据?
(2)所有I2C端口的示意图配置有时会相互冲突
要确认,您有跳线,当测试I2C3端口时,
只连接了那些引脚的跳线,其他的都断开了。
都捆绑在一起,只有跳线将它们分开,看起来如果I2C1连接,它有两个标签,I2C1_SCL/SDA和PD_SCL/SDA。
建议分离所有的I2C端口,并拥有自己的专用电阻,并将它们拉到LDO_3V3。
删除了R45、R43、C63、C61,并从Q8的gate到GND增加了100k。
如果能够捕获I2C线路的一些范围快照
那么与PD日志一起也会有帮助
(3)使用Total Phase PD Analyzer或类似的工具来捕获
这是我使用的USB-C电源连接时的PD数据
得到的唯一I2C数据是当只有I2C1跳线短路时。
以下是关于POR的数据(你应该能够看到数据值):
这里是一些I2C数据,sink被连接(sink是一个ZY12PDN连接到一个10欧姆电阻)
所以它可以发送数据在一个成功的协商。
下面是这个接收器设备上的CC数据:
3. 尝试刷EEPROM
下面是USB-C电源分离时的数据,告诉Bq25703返回OTG模式:
我想指出的是,SLVAE18中的说明需要更新,以包括一个分离事件来重置BQ25703到OTG模式,因为我分离源和连接接收器,接收器没有收到任何电源。
我将事件添加到列表中,它工作了,我能够在接收器和源设备之间交换。
我从全局系统配置(0x27)中启用I2C3作为主配置,并配置I2C主配置(0x64),使从站主选择为I2C3。
然后我重新刷了EEPROM,开始调试并查看I2C主配置寄存器:
- 分享
- 举报
-
浏览量:4517次2021-05-14 09:48:13
-
浏览量:10594次2021-03-03 17:39:18
-
浏览量:1323次2023-09-18 11:05:06
-
浏览量:3338次2020-08-30 15:44:39
-
2020-08-05 20:23:18
-
浏览量:3496次2018-02-06 10:43:46
-
浏览量:5319次2021-08-05 13:59:50
-
浏览量:613次2023-11-15 17:25:34
-
浏览量:10272次2020-11-26 15:59:29
-
浏览量:4763次2018-05-07 20:47:52
-
2021-07-30 17:20:54
-
2021-07-30 17:04:37
-
浏览量:3777次2020-08-30 09:57:38
-
浏览量:5587次2021-08-05 13:55:51
-
浏览量:6912次2020-11-26 17:02:47
-
浏览量:1135次2024-02-05 11:02:54
-
浏览量:1269次2023-10-12 14:39:21
-
浏览量:1898次2020-03-12 11:25:13
-
浏览量:4050次2019-10-23 14:55:46
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
free-jdx
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明