This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TPS65988DK:CAN##39;t 通过 I2C1接口访问寄存器

Guru**** 2494635 points
Other Parts Discussed in Thread: TPS65988DK, TPS65987DDK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1475132/tps65988dk-can-t-access-registers-via-i2c1-interface

器件型号:TPS65988DK
主题中讨论的其他器件: TPS65987DDK

工具与软件:

您好!

我不确定是否在此处创建到正确的论坛、如果没有、请帮助分配到正确的论坛。 谢谢。

我们有一款新产品:

TPS65988DK:原理图审阅-电源管理论坛-电源管理- TI E2E 支持论坛

我们遵循了上述线程的建议、可以通过加载配置成功控制 CCX/GPIO 等、但无法通过 I2C1访问 TPS65988DK 的寄存器。

更多详细信息、请参阅下面随附的文档:

e2e.ti.com/.../I2C1_2D00_debug.docx

"应用程序自定义工具"的版本是6.1.4。

对此问题有何看法?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Adam、

    当您说无法访问 I2C 寄存器时、I2C 地址是否根本没有跟踪?

    请确保:

    1、PD 控制器正确供电、VIN3V3和 LDO3V3应处于高电平。

    2.您已连接到正确的 I2C 并已正确配置

    如果 I2C 端口在配置中设置为主端口、则不会确认。

    此外、您的终端设备是否需要 DP 交替模式? 您当前了解 TPS65987DDK 的原因是什么。

    谢谢。此致、

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chris、您好!
    感谢您的答复。

    1.关于"当您说无法访问 I2C 寄存器时、I2C 地址是否根本没有跟踪?"

    [Adam]--不、I2C 地址(写和读操作)是正确的。 例如、如下所示、若要读取寄存器0x04、I2C 地址写入、寄存器编号和地址读取的 ACK 是正确的、但 PD 控制器不响应正确的"字节计数"。

    有关 I2C 波形捕获的更多详细信息,请参阅附件 I2C1_debug.docx 。

    2.

    关于"1. PD 控制器正确供电、VIN3V3和 LDO3V3应处于高电平。"

    [亚当]--是的。 我们确认、电压正确。  

    3.

    在"应用程序自定义工具"中的哪里可以找到此选项? 但关于"ACK"、我认为是对的、请查看上面的回复#1。

    4.  

    您的终端设备是否需要 DP 交替模式? 您当前了解 TPS65987DDK 的原因。"。

    [亚当]--是的、我们需要 DP 交替模式(它是 DisplayPort 模式)。  原因请参阅之前的文章"TPS65988DK:原理图审核"。

    BR、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Adam、

    [报价 userid="642182" url="~/support/power-management-group/power-management/f/power-management-forum/1475132/tps65988dk-can-t-access-registers-via-i2c1-interface/5668994 #5668994"]

    1.关于"当您说无法访问 I2C 寄存器时、I2C 地址是否根本没有跟踪?"

    [Adam]--不、I2C 地址(写和读操作)是正确的。 例如、如下所示、若要读取寄存器0x04、I2C 地址写入、寄存器编号和地址读取的 ACK 是正确的、但 PD 控制器不响应正确的"字节计数"。

    [报价]

    我仍然对您捕获的日志感到有点困惑。

    第3步、它正在扫描所有地址、并跟踪地址0x46? 您要检查哪条 I2C 线路? 该文档显示 I2C1、但您应该只能在该端口上看到0x20、0x21、0x22或0x23、绝不能看到0x46?

    您提到您要更新 EEPROM 上的配置、它看起来工作正常? 是这样吗?

    您是否能够协商作为供电方/受电方的 PD 合约?

    您能否分享您的最新项目以便我看一看?

    [报价 userid="642182" url="~/support/power-management-group/power-management/f/power-management-forum/1475132/tps65988dk-can-t-access-registers-via-i2c1-interface/5668994 #5668994"]

    3.

    在"应用程序自定义工具"中的哪里可以找到此选项? 但关于"ACK"、我认为是对的、请查看上面的回复#1。

    [报价]

    此设置位于全局系统配置寄存器中。 您还可以使用寄存器选项卡顶部的搜索栏来搜索某些字段、这样查找某些字段会更容易一些。 它在不同版本的 GUI 中看起来略有不同、下面是6.1.4 GUI 中987DK 的屏幕截图。

    在这里、我仍然不确定 I2C 为什么不工作。 似乎 IC 根本没有响应、即使您在共享的日志中看到它位于0x46。 以下是检查 pjt 文件后要尝试的操作。

    如果您尚未填充 IRQ 上拉电阻器、看看这是否有任何变化?

    您能否共享 I2C 的模拟布线?

    您是否还可以尝试使用较低的 I2C 时钟速度? 我认为这不应该是问题、但您刚好处于最高速度的边缘。 (400kHz)

    谢谢。此致、

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chris、您好!

    首先、我们已经找出 I2C 问题的根本原因。 这是硬件兼容性问题。 我们现在已经解决了。

    其次、关于 I2C 地址"0x46"问题、它是8位地址、0x23 <<1 = 0x46。 对不起,我没有写清楚。

    现在、我们遇到一个新问题:

    如何将 GPIO 引脚(例如:GPIO13)配置为输入?

    我们尝试了低于4CC GPie 命令、但失败了。 我是不是错过了什么?

    0x09 0x01 0x0D
    
    0x08 0x04 0x47 0x50 0x69 0x65
    

    以下是日志:

    #Enable GPIO13 INPUT
    # ./i2ctransfer -y $BUS w3@0x23 0x09 0x01 0x0D; ./i2ctransfer -y $BUS w6@0x23 0x08 0x04 0x47 0x50 0x69 0x65; ./i2ctransfer -y $BUS w1@0x23 0x08 r5; ./i2ctransfer -y $BUS w1@0x23 0x09 r5;
    0x04 0x00 0x00 0x00 0x00
    0x40 0x00 0x00 0x00 0x00
    
    #Setup GPIO12, will set GPIO13 HIGH
    #./i2ctransfer -y $BUS w3@0x23 0x09 0x01 0x0C; ./i2ctransfer -y $BUS w6@0x23 0x08 0x04 0x47 0x50 0x73 0x6C;  ./i2ctransfer -y $BUS w3@0x23 0x09 0x01 0x0C; ./i2ctransfer -y $BUS w6@0x23 0x08 0x04 0x47 0x50 0x73 0x68;
    
    #Read GPIO status register 0x72
    #./i2ctransfer -y $BUS w1@0x23 0x72 r9
    0x08 0x65 0xd0 0x00 0x00 0x67 0xd0 0x03 0x00
    
    #Setup GPIO12, will set GPIO13 LOW
    #./i2ctransfer -y $BUS w3@0x23 0x09 0x01 0x0C; ./i2ctransfer -y $BUS w6@0x23 0x08 0x04 0x47 0x50 0x73 0x6C;  ./i2ctransfer -y $BUS w3@0x23 0x09 0x01 0x0C; ./i2ctransfer -y $BUS w6@0x23 0x08 0x04 0x47 0x50 0x73 0x68;
    
    #Read GPIO status register 0x72
    #./i2ctransfer -y $BUS w1@0x23 0x72 r9
    0x08 0x65 0xd0 0x00 0x00 0x67 0xd0 0x03 0x00
    

    BTW、

    在 GPie 命令旁边、我们可以将 GPIO 配置为从 GUI 输入吗?

    附加的 pjt 文件: e2e.ti.com/.../5305.tps65988dk_5F00_20250221_5F00_01.pjt

    谢谢。

    BR、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chris、您好!

    为了更清楚地说明、我的问题是:

    如何将 GPIO13配置为在 GUI 上输入(如果不是,那么4CC GPie 命令如何)?

    2.如何通过 I2C 总线读取 GPIO13状态(高电平/低电平)? 是什么? 以及从哪个寄存器?

    谢谢!

    BR、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Adam、

    让我回顾一下该主题、我将在本周早些时候与您联系。

    谢谢。此致、

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Adam、

    我在 EVM 上对此进行了测试、遇到了一些问题。 我需要与内部专家核实、请在一周结束前给我。

    谢谢。此致、

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Adam、

    我在内部咨询了团队、TPS65988DK 目前不支持通用输入 GPIO。 对于这里的混乱和延迟、我们深表歉意。

    团队正在评估我们是否可以添加此功能。 If 他们开始工作、可能需要几周时间来评估、构建、测试和部署该功能。

    谢谢。此致、

    Chris