TPS65987D模块I2C3作为master不工作问题调试

free-jdx 2021-05-19 15:43:27 4863
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主配置寄存器:

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
free-jdx
红包 92 6 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
free-jdx
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区